citation

This article will introduce how a small company with a two-degree degree can step into byteDance’s door in three years. The methods, thinking models, cognitive upgrading, learning and skills are mainly discussed, which are applicable to everyone and non-technical workers as well.

introduce

To begin with, the author successfully got the offer of byte front-end in March this year. However, my experience is very ordinary. I come from an ordinary second school, and HAVE worked in small and medium-sized companies for three years. Because a week to do 50 pages and quarrel with PM is almost a fight, it can be said that this kind of experience to enter the big factory is really impossible. I highly recommend reading this conversation. 90% of the script of life is not chosen by us, including our background, circumstances, mentors, etc. All we have to do is work hard to play our role. If 2 degree graduate thought into companies, often because the target is too high to pace is too big, need what kind of people we want to clear up companies, their distance people like what gap, and then set goals and plan a little bit of study hard, to find some successful experiences, a consortium to imitate to down-to-earth to do, For example, the author of this article into the real experience of dachang.

Four elements of an Interview

resume

A good resume can let you jump out of the shackles of the degree, large factory HR to screen hundreds of resumes a day, concise and concise must be the first, structure is also very important, important content to put up, there are the following aspects can be improved:

  • structure

    • Introduction: try to expose the key information, such as the technical stack of the meeting, lead the team, personal learning methods, highlights and difficulties of the project
    • Work experience: Write clearly about what you have done in your job, your role, and your contributions
    • Project experience: Mainly introduce what you did and what role you played, write down the difficulties and solutions of the project, the highlights of the project, how to achieve it and what is the principle
    • Personal skills: write from the three dimensions of understanding, familiarity and mastery/mastery. If you don’t write the advice you understand, you will lose points when asked. What you have mastered must be the principle and have your own cognition
    • Bonus introduction: community articles, GitLab, blog, not all of them, but just one or two articles with deep content
    • Award-winning works: not a national recommendation not to write
  • Language organization

    Use professional nouns to keep the same, and the content structure under each structure should be clear. For example, the project experience can be divided into four dimensions: project role, project overview, project highlights/difficulties, and personal contribution. The language should be simple, smooth and logical

  • Typographic style

    Black and white resume, color resume, photo and no photo, these details often determine the interviewer’s first impression of you, at the very least, color photo typeset students are more serious, careful, and pay attention to the interview than others

Basic skills

No matter how good you are in kungfu, if you don’t have a solid foundation, you won’t be able to be flexible when you play. (See Teacher Ma being one punch.) Street Fighter 5 I don’t know if you have played it. The Combo skill list of a character often has several pages, but the person who can really make good use of the key skills and play the combination with the highest damage must be thoroughly familiar with these skills, and have their own thinking, and practice the wonderful Combo unexpected by the official. For example, when the interviewer asks you about a knowledge point, if you have your own thinking, you will answer from the basic concepts of the knowledge point, application scenarios, implementation principles, advantages and disadvantages, relevant knowledge and so on. This is a person who has his own thinking, and the interviewer will appreciate this person very much. If a singer imitates others all the time, but does not have his own unique singing style, lyrics and composition talent, and does not have a system of his own, he will not be able to be popular among the critical crowd for so many years. At most, he can only be popular for one or two years (unless he has brainless fans).

As an example of a classic interview question, talk about inheritance

  • Basic common level: can tell the concept of inheritance, prototypical inheritance, combinatorial inheritance, parasitic combinatorial inheritance, es5 inheritance one of how to implement, and the back question is no different
  • Have their own cognitive level: Say first how to implement a prototype inheritance, and tell the inheritance problem is a reference type properties Shared by all instances and not when creating the instance of Child to the Parent participation, and then said to borrow the constructor (classical inheritance), he has solved the prototypal inheritance of two problems, but there is a new problem is method is defined in the constructor, A method is created every time an instance is created. The only way to solve this problem is through combinatorial inheritance. Does combinatorial inheritance have any disadvantages? Of course, it can be optimized! The biggest disadvantage of combination inheritance is that it will call the parent constructor twice, how to solve it, the parasitic combination inheritance out to understand it, so systematic knowledge cognition is very important, not only can strengthen their knowledge of the knowledge, but also can interview on the field a riding duduous, a listen to know that you are NB!

project

The project you do is not important, the project is NB because of you, that is really NB

Just as important as the basics are your projects, describe at least the following for projects you have worked on

  • 1. Project Introduction
    • A clear description: Let the interviewer know what it is, what it does, who the audience is and how much you know about the product
    • Use of technology stack: know what you are skilled at and good at employing people
  • 2. Take responsibility for roles
    • Write at least one role in the project: lead developer, co-developer, lead developer, architect
  • 3. Project difficulties
    • Know the difficulty and can improve: do a project down will encounter difficulties, can a good review of the project, must know where the difficulties, how to solve, is there a better solution, encountered blocking points, how to coordinate and so on
  • 4. Project highlights
    • Extra points extra points: the use of the most cattle technology, improve the source code of others, and the advantages of the same type of project all write, is not necessarily their own, but must be familiar with how to do

sparkle

Open source contributions, community articles, online projects, cool personal websites and so on are moved out, ready for a few of the most NB, it is best to write down what you want to talk about the organization of language more training, soldiers on the battlefield, but also have to live exercises. And… and… and… I cut down on the student president, organized the club activities and volunteers one by one. Is the interviewer your boyfriend who cares so much about your college life? – > _ –

How do I prepare

Develop goal planning

As early as a year ago, I set the goal of going to Dachang. At that time, I was not clear about what kind of people dachang needed. A change opportunity was to contact the article “Why Do you Delay entering Dachang” published by the front end of the early chat. Try to fill in the 90% of the gaps with 90% of your efforts, such as increasing your community presence, publishing/participating in popular open source titles, optimizing your company’s projects, managing your team, etc. Therefore, he was full of confidence to plan step by step how to enter the factory. From optimization of resume, consolidate the interview knowledge, training handwritten code promotion ability, to actively participate in team share (training language ability of organization and communication), actively take on challenging projects to promote comprehensive ability turn (SPA micro front-end), optimization of the team events (the front), keep reading technical articles improve cognitive and intellectual breadth (brush every day the nuggets home page), active participation Improved myself with the open source project (participated in the code contribution of the open source micro front-end project Qiankun), published technical articles to improve my influence and writing ability (published an article analyzing the core principle of Qiankun).

Basic knowledge

Mind maps to comb

Using brain maps to sort out messy knowledge points, not onlyHelp to memory, but alsoQuickly locate the knowledge you’re looking forandJump link articleYou can even store the map in your head because it’s used by stealthAssociative and keyword memorization, by settingPriority and completion“To reinforce the key points, and think about the things you remember most from your childhood. Do they all have a” moving “scene, and that scene is the one you associate withMosaic of memory imagesYou can even think of your brain as a gallery palace, giving each palace a room to house one knowledge point and its associated knowledge map.

Build your own knowledge library

Put some knowledge points into the form of question and answer, organize the language and improve the structure, change to the best version and then comb and memorize, so that you can not only comb the knowledge structure, but also simulate the interview scene, be your own interviewer, try to ask yourself these questions and see if you can give satisfactory answers. I have sent you an organized address of knowledge base for your reference (note that there is no answer for those who are not good at it, and it is normal for them to be good at it and not good at it. The important thing is to do the best in what they are good at. If you are asked in the interview about what you are not good at, you can directly say that you are not good at it.

My front-end Q&A knowledge base

It is suggested that each knowledge point should be combed with a structure similar to the following. Systematic learning often makes many knowledge points related to each other, which in turn promotes cognition and facilitates memory

  • Knowledge point comb template
    • What is it: the concept of professional description
    • Why: What problem does this solve and what purpose is it intended to achieve
    • How to do it: How
    • Application scenario: Common scenarios and services that use knowledge points
    • Advantages and disadvantages: what are the benefits, what are the hidden dangers, how to measure
    • Is there a better solution: how to address the pitfalls that arise, how to optimize for the business, how to be more compatible

Code written

List common handwritten code, the purpose is not to see you can write, but to see how you write NB, such as throttling and anti-shock, the general people directly write a closure, but the real NB, is to write the following fairy code (can second understand is immortal).

function throttle(func, wait, options) {
    var timeout, context, args, result;
    var previous = 0;
    if(! options) options = {};var later = function() {
        previous = options.leading === false ? 0 : new Date().getTime();
        timeout = null;
        func.apply(context, args);
        if(! timeout) context = args =null;
    };

    var throttled = function() {
        var now = new Date().getTime();
        if(! previous && options.leading ===false) previous = now;
        var remaining = wait - (now - previous);
        context = this;
        args = arguments;
        if (remaining <= 0 || remaining > wait) {
            if (timeout) {
                clearTimeout(timeout);
                timeout = null;
            }
            previous = now;
            func.apply(context, args);
            if(! timeout) context = args =null;
        } else if(! timeout && options.trailing ! = =false) {
            timeout = setTimeout(later, remaining); }};return throttled;
}
Copy the code
  • Write code that complies with the PromiseA+ specification
  • Handwritten observer mode code
  • Handwritten VUE core process source code: to achieve responsive
  • Js code: new, call, bind, apply, inherit, Currize, closure, throttling, anti-shake…
  • Handwritten CSS code: all div centered implementations, all twin-wing/Grail layout implementations, all clear float implementations…

The project combed

Also using brain map combing projects fromIntroduction, responsibilities, functions, pain points, highlightsFive dimensions of sorting, before the interview must be familiar with these in mind, do not necessarily need to sort out a lot of projects, pick one of the largest and most NB out, good to sort out, reverse recite such as flow, I believe that the interviewer no matter where asked can be fluent, just like knowing all the shortcomings of his wife ()

resume

The front has said a lot, here strongly recommend a wave of SSH_ morning dream xi “📝 how to write” front-end resume, can knock on the door of Bytedance?

Let the interviewer find you

Resume also write well, the next thing to do is to make your resume the interviewer to see by giant HR and technology for the first time I submit byte resume is on the boss hired straight bytes of technology the interviewer find the resume, I will suddenly at that time, didn’t also how to prepare, the result of natural is the sea, even read not back, hit by the fairly large, at that time But also did not give up dachang goal, has been sleeping on brushwood taste gall adhere to the above preparation plan. Bytes in the second year of spring, just meet chengdu customer service platform team was set up, so the HR talent pool to my resume and let me updated delivery, since this year has been prepared, so without saying optimized resume vote, two days don’t know the reason why is because now hiring, or resume optimization is in place, a week after receiving the interview invitation. Part of me was lucky, but if I didn’t do anything for a year, I wouldn’t be able to pass the interview even if my resume passed. There are three points:

  • Don’t be afraid to submit your resume: Regardless of qualifications and work experience, as long as you have confidence, then, don’t be afraid to very hot sector, even if it didn’t also will be eager to beautiful HR little sister to other departments, don’t be afraid of delivery will not will screen in some platform, try someone to see you, don’t be afraid to push the CV unqualified, in pushing WeChat can also give you a guideline, Help you follow up the delivery progress, don’t be afraid to throw a stone into the sea, into the talent pool enthusiastic beautiful HR sister just better get people, resume frozen period does not exist, as long as the department needs, otherwise there are no records in the talent pool, so enthusiastic beautiful HR sister how to find you?
  • Ready to resume: every once in a while to update and optimize your resume, maybe this time you experience more rich, read the article more depth and form the new cognitive, learning a new skill, contributed more open source and community, time points for your resume, the pursuit of perfection, it is also a byte, the most key of a van
  • Always prepare for the interview: the opportunity is always for the prepared person, in case the big factory will add a lot of departments to recruit urgently next year, just imagine now the big factory HR suddenly find you to ask for your resume, you can have confidence. Even if the resume passes, one side is hanging that is not in vain, your ability must be on the resume, from the above several aspects, a year in advance, half a year to prepare steadily, always improve themselves, so that will give the interviewer “surprise”, feel that they dug treasure. At that time, I always thought that I did not answer well, and then I realized that the evaluation was very good. This has a lot to do with self-improvement and the good habit that I have formed bit by bit. Let excellence become a habit!

Review your resume in the morning

Don’t know the front end early chat? Maybe this is the reason why you have not entered dachang. Please pay attention to wechat.

Interview skills

  • The first to introduce
    • The structure should be clear: for example, I will introduce personal information + work experience + mastered technology + recently done projects + personal learning methods + system + recently read books
    • Practice in advance: when playing games is usually to see others operation, the brain will be the foot will be the hand will not, light said not practice false handle type, others is to play every day, you even hand did not move once also meet? Write it down in advance, organize it well, and keep it short and clear, not to mention what’s already in your resume
    • Time tactics: why is the structure so long, is not to let you introduce the time to say more, leaving the interviewer to ask you less time to increase the error tolerance rate?
  • Rejection of knowledge system
    • Ask you a knowledge point, you are viewing the concept of knowledge points, scene, principle, advantages and disadvantages with that weren’t enough, then pull the knowledge related knowledge, all out of Europe again, such benefits is that is to say a lot of the problems behind the delay time reduced, still can indirectly reaction what you have learned to other related knowledge, also in the interviewer silently add cent. I was talking about a performance optimization for about 10 minutes, as long as it wasn’t interrupted, it was your field.
  • Frank don’t pack
    • Asked not to understand do not reluctantly answer, whether knowledge or project situation, here does not understand refers to not proficient (stand in the interviewer’s point of view), the interviewer asked, you answer, the interviewer will default you are proficient, if asked stuck, but will be in the interviewer’s heart points. If you are just familiar with or understand the knowledge, you can tell the interviewer in advance that you just know, and then you can simply say it according to your understanding, so that even if the answer is not good, it will not give the interviewer too much in the mind
  • Familiarize yourself with the online interview editor in advance
    • The answer must be in cattle or other platform remote, will let you in the editor to write the code or algorithms, there is a skill can use before the interview is the editor will written down all the code, look at the compiler if you have any questions, and algorithm can also see if the result is normal print, don’t interview to familiar, such problem will only be more panic. SetTimeout did not take effect when I started compiling the code. Fortunately, I found that I had changed the code in time, otherwise I would have failed
  • Mistakes can change
    • If the first few pen questions did not do right, the next before the question must be re-done to do right, because the interview evaluation will write the right topic, and then the interviewer saw you down to change their own, needless to say, will also give you extra points

Surface by sharing

One side (50 min) – Level colleague face

Introduction: Work Experience + Open source project contributor + gold-digging new author + recently read books + Strengths and weaknesses + recent projects (successfully pulled off for 7 minutes, but was stopped)

  1. CDN how to deal with, how to restore? (basic)
  2. Browser caching (Basics)
  3. Let’s talk about inheritance.
  4. ES6 Inheritance (syntax)
  5. I’m not sure about the micro front end (I don’t believe it), could you tell me what it is and what problems it solves? (basic)
  6. Talk about how vUE’s data binding mechanism is implemented (framework)
  7. What improvements Proxy makes to defineProperty (syntax)
  8. Did you build GitLab CI/CD? (engineering)
  9. Talk about how your project achieves grayscale publishing (engineering)
  10. Algorithm problem (algorithm)

Given an integer array of length n and a smaller positive number k, find the number that occurs more than n/k; 1. If n = 100 and k = 2, find the number of occurrences in the array greater than 50. 1. If n = 100 and k = 10, find the number of occurrences in the array greater than 10. How do I keep time complexity as low as possible

Second interview (1 and a half hours) – Group leader interview

Introduction: Work Experience + Open source project contributor + Gold-digging new author + recently read books + Strengths and weaknesses + recent projects (successfully deleted for 10 minutes)

  1. What are the optimizations of VUE3 compared to VUe2 (framework)
  2. How to speed up mobile rendering? (performance)
  3. Implementation of sandbox (syntax)
  4. How to register microapplication routes (syntax)
  5. How to load multiple applications using routing rules (syntax)
  6. What are the front-end modular mechanisms (engineering)
  7. How does your project branch management (engineering)
  8. What problems did you encounter in the project, how did you solve them, and what parts (business) were you responsible for?
  9. What optimizations have you made with Webapck? (performance)
  10. Are there any engineering optimizations (performance)
  11. What are the highlights of the micro front end project? (business)
  12. Talk about the selection of visual charting technology (business)
  13. Know about Monorepo and its tools, such as Babel, Redux, Gitflow, UT and E2E (Engineering)
  14. Algorithm problem (algorithm)

Implement injector, complete inject function

var DI = function(dependencies) {
    this.dependencies = dependencies;
};

// Should return new function with resolved dependencies
DI.prototype.inject = function(func) {
    // Your code goes here
}

// The dependency to inject
var deps = {
    'dep1': function() { return 'this is dep1'; },
    'dep2': function() { return 'this is dep2'; },
    'dep3': function() { return 'this is dep3'; },
    'dep4': function() { return 'this is dep4'; }};// Create a new "syringe"
var di = new DI(deps);

/ / injection
var myFunc = di.inject(function(dep3, dep1, dep2) {
    return [dep1(), dep2(), dep3()].join('- >');
});

/ / test
Test.assertEquals(myFunc(), 'this is dep1 -> this is dep2 -> this is dep3');
Copy the code
  1. Implement a string matching algorithm, from the string S of length n, to find the existence of the string T, the length of T is m, if there is the location of the return

Three sides (50 minutes) – Leader side

The main question is still the project, more detailed than the second time asked, the extent of the cocoons

  1. Why do you want to work in management?
  2. Do you understand the business of your micro front-end application? Who are the customers? How do they use it?
  3. Have you ever made a Hybird App? What is the main business of this App?
  4. You said you contributed open source code, can you tell me what you contributed?
  5. How does a micro front end work?
  6. Do you have any questions?

The interview the point

As you can see, the above questions are basically of the following types

  • basis
  • business
  • performance
  • engineering
  • The framework

Here does not say the answer, the answer question type is changing forever, only master the underlying logic behind the topic, can draw inferiorisms, believe that see this you already know where to start

Front-end interview tips

Here to share the author’s knowledge treasure book, which corresponds to the knowledge points in these directions have combing and learning links, no exaggeration to say, without this knowledge treasure book author is absolutely not into the byte

< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < <

  • Step 1: Click Create Copy

  • Latest Interview Information

Don’t know when byte is hiring? This will be updated regularly!! There are also intweet links

  • The interview manual

Here are some official tips for resumes and interviews

  • Internal simulation

Listed 100 common test questions, covering all knowledge range, can help you sort out and memorize answers, but also jump knowledge points to explain the article learning, the author only did 60 successful graduation

  • Interview Essentials

Hundreds of knowledge points of learning schedule and learning links are in this, mother no longer need to worry about you can not find the most Nice article rest assured to learn

conclusion

The above is my preparation for the first half year in dACHang, summarized as the following points:

  • Develop good habits: prepare in advance, strengthen yourself, play it safe, master the method, have a system and self-discipline, review at any time
  • Master the core four elements of the interview: resume, foundation, project, highlight
  • I have my own knowledge system, organize it into my own most clear cognitive language, constantly revise and understand, and constantly write codes to strengthen my cognition
  • Make learning plans and goals: how many knowledge points to learn in a month, send resume to big factory in a few months, when to find someone to evaluate the resume, internal resources to find who (SuperLLL8523), appropriate medicine, refer to the corresponding big factory high frequency interview test points and targeted review
  • Develop your own interview techniques
  • Having a good look at your project is an important weapon in your battle with the interviewer
  • My resume and project are read and written in the technology, the advantages of the interview process is finding process, the interviewer problems generally do not ask too deep a resume, but the premise is to have to write everything proficient, and answer it is to make others understand you are proficient in, and if asked to resume they know or familiar, can be directly said understand but can use their own understanding, Don’t just say you don’t understand, because it gives the impression that you’re giving up when things get tough.

Finally, a commercial

Good news! Bytedance is hiring again!!

Scan the code to get the offer