This article is the author in the spring in the @ front-end early chat (manual core) interview to share the transcript, mainly for the front-end recruitment, school recruitment and internship students only for reference, interested students can click the link to view PPT and screen recording – “how to improve the front-end interview big factory pass rate”

Internship Position:

Delivery the back-end internship (Beijing) 】 【 links: job.toutiao.com/s/eggoDGW delivery links: front-end internship (Beijing) 】 【 job.toutiao.com/s/egK96v7

Social Recruitment Position:

Delivery front-end clubs recruit (Beijing) 】 【 links: job.toutiao.com/s/egKU4x6 delivery front-end clubs recruit (Shanghai) 】 【 links: job.toutiao.com/s/egK98pD


One. Nonsense to warm up the scene

For front-end engineers, “job-hopping” is often a good way to move up the income ladder, but it can also mean extra time and effort to prepare for an interview, especially if you have only worked in a small company and are preparing for a big company for the first time. You see a lot of people who get paid a lot more for joining a tier 1 Internet company, but you don’t see how much work they put into the three to six month preparation cycle to get that result. So how should we think about technical interviews, and how can we better prepare for front-end interviews? In this chapter, I will talk with you about interviewing for a job.

Ii. Strategic main line: war to sustain war

How to improve the success rate of big factory interview? A major strategy is to “feed war with war”. Many candidates can patiently spend a month or two reviewing their professional knowledge, but interview performance is often not satisfactory, because “knowledge” and “interview skills” are two different things. The so-called “war to nourish the war”, is to participate in the interview constantly, in order to improve their interview skills, until their own heart no waves, then sprint to the big factory, the probability of success is usually greatly improved, in essence, it is a process of practice makes perfect. Because you are afraid of interviews and lack interview skills, you must go to interviews all the more. I’m sure you’ve all gone to school before, but preparing for dACHang is very similar to preparing for an exam. We have to take the final exam every semester, but we seldom feel anxious about it. Even if we feel nervous before the exam, we seldom reach the level of anxiety, because your main task is to study, and you will do homework and exercises almost every day. Not only do you have to take the monthly exam and mid-term exam, In the end, there may be teachers from unknown sources to find all kinds of real papers. After a lot of daily practice and practice exams, those knowledge points are already at the back of your hand, and you have a basic judgment about how many pounds you have in mind. The final exam is just a process.

Actually interview best also is so, only candidates will spend a lot of time to review the knowledge points, and not enough attention on practical experience, some even are not at all how to review, with the advantage of the school education directly delivery companies, oneself also think just want to satisfy my curiosity, results in the interview records inexplicably permanently left a bad review records, They may be reluctant to give you an interview for a year or two or more. As you review, your knowledge is growing all the time, but your interviewing skills don’t improve, so many people will be incoherent during the actual interview, or even have emotional breakdowns during the stress level or boundary test. So you have to practice, to combat, combat mentality and practice is completely different, only repeated through such deliberate practice, you can play in the real interview. It is important to note that do not take large factories to do interview practice, large factories are recorded, if the evaluation is not good, it is difficult to evaluate the subsequent impact.

In practice there are many ways of actual combat, already in companies such as looking for a friend to help oneself do mock interviews, many technical BBS also provide such services, veteran interviewer by big companies to help you simulate surface and provide guidance, of course, the most simple and crude way is on recruitment software to resume as treatment level gradient, directly take part in the interview, The advantage of this is that you will encounter a variety of different styles of interview, psychological ability will improve quickly, the quality of the Offer can also increase confidence, and help you to leverage a better Offer. It’s important to remember that you need to come back from each interview with a solid foundation. Of course, at this stage, you usually need to look at other people’s interviews in technical forums such as Nuggets and niuke. Looking at interviews is not to let you evaluate how many questions you can answer, but to check and fill in the gaps for those questions you can’t answer. Before really facing the big factory’s assessment, all the preparation process is practice, you need to learn more from this process, for their actual combat answers are not good enough to strengthen, to adjust their expression outline, or to improve the details of the resume and so on, until the real impact of the frontline enterprises, You may already be mentally paralyzed by so many repetitions.

3. Deconstruct the interview

Interviews at large companies are often standardized, which means that if you meet objective requirements, there’s a good chance you’ll get an Offer. Front end of the interview can be roughly divided into the main points of the resume, basic knowledge, data structure and algorithm, frame & engineering ability and comprehensive quality, the several key modules of reasonable rhythm is in 3 ~ 6 months divide-and-conquer with them, and then to accept the inspection from the market, we can according to these key points below to read them one by one.

1. Resume

The first is the resume, as the first threshold of the assessment process, most candidates pay far less attention to it. A resume is the interviewer’s first taste of what you do, and the interview process is more of a test of what it says. A resume is your chance to make a first impression when the interviewer doesn’t know you. If you think a resume is just a “quick summary of your past work experience”, it’s too easy. Some candidates don’t even bother to line up the layout on their resume. It doesn’t take much time to find a concise template online, but it will at least go some way to showing that you’re serious about the position. There are two important parts to organizing your resume.

The first is project history. Many candidates write their project history by outlining the technology stack they use and then describing what a project does and what pages or features it implements. This is a typically ineffective description, because it doesn’t convey anything to the interviewer that will help you score points. What’s the recommended course of action? You can follow the STAR principle, which describes your project through Situation, Target, Action, Result and describes the project’s background and goal in a short sentence, preferably one sentence each. Details first, because business is likely to be classified information is not convenient in detail, followed by the interviewer is more interested in you use in your project technology, deal with the problem of thinking, his harvest, and growth, contribution to the team, and so on, which is part of the Action and the Result and the interview is to assess whether you meet company requirements, Not to evaluate your previous involvement in the business. It’s best if you have a design document or data to support it. You can start with a brief introduction of the technology stack you use, and then use some specific examples to demonstrate your technical, business or management skills, such as:

  • Undertook a technical task of tackling a problem
  • Responsible for the overall architecture and technology selection of a system
  • Precipitation of reusable components, modules
  • Performance optimization improves some performance indicators
  • Support urgent or critical business with good results
  • Lead the team to do things together
  • Promote some SOP process to improve team collaboration efficiency

If necessary, you can also prepare some desensitized design or work to show during the interview. What you need to know is that the description of your project experience is essentially a proof of fact question. It requires facts and figures from your project experience to convince the interviewer that you have good technical skills, business familiarity, or team management skills, rather than the actual business details of the project itself. You can still follow the STAR principle when making a project presentation during the interview. A clear presentation is a sign of professionalism. Hopefully you have practiced this many times before the interview.

Second is about the description of the technical ability, which can be roughly divided into programming language, network principle, design patterns and architecture, data structure, algorithm principle, framework, the use of the bucket, performance optimization and other pluses (such as a breakdown in the field of special experience), each basic point to write 1 or 2 sentence is very rich, if still feel write out, there is a more convenient way, It is to find the recruitment information of the target department, and write around the recruitment requirements. Of course, the bottom line is to write up the technical points you really can explain clearly. To note here is try to use the word “master” and “understanding” and avoid using “proficient”, it is likely to increase the difficulty of your interview, can be an interviewer is to want to learn from this research, may also be a quality is not high, to the interviewer want to malicious spite, either way, for the candidate will be unfavourable.

In general, the resume is you provide to the interviewer “open question test outline”, you write in the things, the interviewer must default you have mastered, and can speak well, do not give yourself to dig pits, even their own written on the resume are not clear is very minus points. A resume is not a list of your past jobs or accomplishments. Once the interviewer says, “Please start your show,” you have at least 10-15 minutes of coherent talk, covering underlying principles, design ideas, best practices, etc. Let the audience feel that you are pursuing technology, thinking about the business, and contributing to the team. This is not an impromptu speech, but a deliberate practice. Take the extra time to hone your resume and presentation skills, and when it comes time for the actual interview, you won’t regret it.

2. Basic knowledge

In the normal interview process, after the resume is evaluated, you need to face the first round of test is the front-end foundation, in addition to the examination of the basic knowledge of the field, this part is also the examination of the candidate’s attitude and information filtering ability. Why do you say so? Because we know that the basic knowledge is mainly by reciting, we jokingly call it “eight-part essay”. In fact, different candidates have their own challenges to face in this link. Students in school have good memory, but they may not have a deep understanding of some knowledge points due to lack of practical experience, and it is difficult to resist questioning on details. Memorization can be a challenge for social recruitment candidates who have been out of school for a long time and have a better understanding of knowledge and best practices, but if you have practiced the mnemonic techniques described in the previous article, you should be sure to memorize them.

Experienced interviewers usually pay more attention to the depth of knowledge understanding when evaluating social recruitment candidates than to the breadth of knowledge when evaluating school recruitment candidates. If the evaluation criteria are switched, it is easy to get the illusion of “how can you not know such a simple thing”. This is why I want you to prepare your resume carefully. The interview is gray scale and subjective. The interviewer who wants to give you a chance will help you dig out your highlights, while the interviewer who doesn’t want to give you a chance will focus on your weaknesses. I’ve been in both situations myself, and I have to say that the latter can make the interview process particularly stressful. Some people say that these things are usually not used, and does not affect the peacetime business development, why should I waste a lot of time to recite these things?

Before a business friend told me, in fact every little start-up, want to make a product can be iterative, today to make a product, to obtain a group of users, and then the user feedback, I’ll do it function iteration, then attract more users, is to burnish the product, constantly accumulate until finally succeed in doing this product. Every entrepreneur hopes this, because it is the least cost for the company, but in fact you will find that most small and medium-sized enterprises are unlikely to be lucky enough to have such an opportunity, they are struggling. In the first two or three years, it is the biggest problem for a small company to survive. It is difficult to ensure that what you are doing now will accumulate in the future. Sometimes you have to do something that seems meaningless. Similarly, it’s useless to complain when you don’t have the ability to change the rules. You know what needs to be done, just make up your mind to work on it, rather than complaining about the rule that resonates with others because it’s too cheap.

What I want to say about the basics is that it’s not the deeper the better. Because there is never enough time to review, you need to “get as high a score as you can with the limited time you have”, rather than chasing the so-called “whoop the interviewer”. For example, the principle of compilation, the mainstream of modern front-end technology is almost based on it. Many friends ask me whether I need to buy the thick book of “Principle of Compilation” to learn systematically. I usually joke that “if you feel that the height of the screen is not enough, you can buy it”. Most front-end engineers don’t even have a good grasp of the most common technology stack in their jobs, let alone the lower-level knowledge that they rarely use in their jobs, and it’s probably just wishful thinking that “mastering this knowledge will be awesome.” Technology is a bottomless pit. There are so many things we don’t know. If you don’t know how to compile, you probably just need to learn the open-source project the-super-tiny-Compiler. It is a very brief project, realize a simple compiler, with very detailed comments in the code, you can understand by reading the source code to compile all phases of the principle of doing things, the paradigm of the code, use the design patterns, and so on, and try to achieve, where ideas stuck back to read the source code, after he ultimately create a wheel, Your basic knowledge of compilation principles is enough, then if you encounter problems in your project consider using Babel, EsLint, PostCSS plug-ins, try editing abstract syntax trees, and even better, share some skills with your team. For example, interview investigation V8, in fact, a large probability will fall into three knowledge points. The first is how fast objects are, the second is Orinoco garbage collection, and the third is why V8 is fast, which relates to how V8 interprets the process of implementing JS. You just need to search for some materials by keyword for thematic study.

The reason why the basics are attitudinal is that interviews and interview topics in the community can already cover more than 90% of the topics. The basics are not secret at all, but you don’t pay enough attention to them, such as the common “the difference between arrays and linked lists” topic. Some people only know basic data structures and their selection tendencies, while others will follow the lead and review single linked lists, bidirectional linked lists, circular linked lists, data structures with full O(1) complexity and LRU algorithms, etc. It seems that we have the same experience, but the final results may be very different. You need to constantly remind yourself that the review of the basics is a timed game, and you need to find a balance between vertical exploration and horizontal development.

3. The algorithm

The test of data structure and algorithm has become a necessary challenge for the interview. It is a test of the candidate’s intelligence and abstraction ability. To some extent, it is also a test of attitude. Since there is no specialized front-end major in universities, many developers enter this field through self-study or training courses. In this context, it is conceivable that efforts should be made to master relatively abstract knowledge such as data structure and algorithm problems through self-study.

So how do we attack this module? In my opinion, the most misleading advice is to “brush the questions”, or to start to brush the questions before learning the basic knowledge. This is just like doing the after-class questions without reading the textbook at school. It is easy to get half the result with twice the effort. Data structures and algorithms is a course, has its own basic theory knowledge and the skill, problem solving is actually from the practical problems in the process of identify the abstract model of the process, if you even the common abstract model and the characteristics of them all don’t know, in the face of the title when no logical clues, brush questions was of no significance. You can do, just look at the title 20 minutes, mind a blank, and then go to see the answer back code, brush after a lot of similar questions, you might be summed up some problem solving routines and smug, but a lot of skills might have as the characteristics of data structure was written in the book, don’t need your own invention again. This preparation makes your interview performance more dependent on memory and luck than logic, making it easier to answer brushed questions than unbrushed or slightly altered ones, not to mention topics like data structure selection or algorithmic complexity analysis. Before the brush so I hope you to set up the basic knowledge system, make clear the characteristics of the structure of the abstract and common programming routines of the operation, seriously do exercises after class, and then to brush, then you will find yourself are easier to identify objective characteristics, draw is in stacks, queues, linked lists and other structure, suitable for what kind of algorithm, etc., You may not need to brush too many questions to meet the requirements of a big company interview, after all, you are not interviewing for an algorithm position. Of course, the more solid this knowledge is, the better impression it usually gives to the interviewer.

There is no unique solution to many algorithm-based problems. In a real interview, you can use brute force to write a program that works, and then try a less complex approach, so that if you don’t write a better solution, you can at least make sure it passes. If you really feel no ideas, you can ask the interviewer to give hints, or ask to change the topic. After all, if you pass the interview, you’re the interviewer’s future colleague, so what does it matter if you try?

4. Framework & Engineering skills

Framework and technical capability assessment will usually appear in the second round of the interview, is used to examine the technical depth, breadth of candidates and engineering ability, the most common problem is the project experience and grasp of the principle of framework source code, if you also have felt when writing resume “project didn’t bright spot” or “depth” technology, may need more of is to delay the interview plan, Devote time to research, either for projects you already have in your job or for more technical ones, rather than thinking about how to “cram” for an interview because someone else got an Offer.

First of all, if you are not in the habit of doing project review in daily development, you must start to develop this habit now. After each requirement iteration, you should try to reflect on the project, technology and management, and you’d better take the initiative to communicate with your immediate leader or mentor. The author line development, you’re doing work will write all the handles in the project development summary, including the project what collaboration, everyone what are the information provided, the meeting records of important, what is the problem appear in the implementation process, design your own code, daily work log, met what problem, you have any ideas and Suggestions. Once the feature is released, I will spend a day looking for industry solutions for every problem I encounter, or come up with my own technical plan, which will be implemented in the next 1-2 months. This may seem silly, but it’s really useful to clear your head. Everyone is doing the same business development project, but I believe the people who put their heart into it get the most out of it. Later, I deposited the “development summary” into a document template and shared it with other colleagues. I asked the interns under my guidance to take the initiative to send the development summary to me after each iteration, and I would conduct a simple review with them. You make progress faster when you really put your mind to something, and it’s these seemingly insignificant habits that end up creating the big difference between you and everyone else. Secondly, you can go to the technical community to find some articles on the overall design scheme, and then refer to the author’s ideas to try to reproduce a system, the best is to be able to combine with their own work practice, which is called “building wheels”. The key point here is that you must build this system by yourself. At Byte’s orientation sessions, the supervisor often asks new employees, “Why should Byte spend a lot of money to develop its own business, instead of buying another company?” In fact, the principle is the same, because only by “diving in” can you gain “first-hand information” about the market, which can be used as the basis for making business decisions. You can try yourself to fall to the ground, a project about the burial site, alarm monitoring, low code structures, data visualization and so on can be any one area, in the process, you may have a lot of questions about the details or new ideas, this time to discuss with friends or just looking for authors to consult, there are usually a lot of harvest, Many times you may even find that your ideas are in sync with others, which is a great mental boost for you.

React, Vue, Angular, etc. If you haven’t encountered any technical Issues in your work, check out the Issues section of the official code repository. In particular, the iteration of framework version may bring many unexpected effects. For example, vue2. x has changed the underlying implementation method of nextTick method for many times, causing many puzzling problems in the application layer, which is actually very easy to descend from the problem to the implementation principle. Down to the question of design philosophy, it is worth exploring, so that the interviewer will not ask “did you encounter any problems when using the framework, and how did you solve them?” “, you can only gently say “no”, and then the two people stare into each other’s eyes, the situation is extremely awkward.

5. Comprehensive quality

The interview process, usually from the early focus on the basic knowledge and technical ability, and the more to the later pay more attention to the comprehensive quality of the investigation. If you want to perform well in the investigation of comprehensive quality, in addition to the usual need to pay attention to the design of the program, technical meetings, technical activities and so on, you also need to practice the logic and organization of your oral expression, which is to master the very important “structured thinking” in the workplace skills. Logical thinking is not necessarily something you are born with. It is a skill, not a gift, which means that the average person can master it through study and practice. You can find a lot of information online on the topic of “structured thinking,” which may refer to keywords like “the Pyramid” or “the McKinsey Method,” but I’ll give you a brief introduction. No matter how good a method is, you will benefit from it only when you make it your skill through practice and practice. There are plenty of “know it but can’t do it” people out there. I hope you’re not one of them.

“Structured thinking” informally means you in front of the description of a thing, how to describe it with a “top-down” or “breakdown structure” thinking framework, the equivalent of an outline in the mind, so at the time of expression is more likely to show the thought structure, rather than let a person feel where you think which said. For example, how do you put 200 milliliters of water into a 100 milliliters cup? Many people might say half water, or change a mug, or whatever the answer, the brain storm in the happy, also feel particularly rich imagination, the problem is that the problem is not to review your imagination, imagination is the brain’s ability to work in more need of left brain logic thinking ability.

So how do we make our presentation more organized? First of all, why can’t 200 milliliters of water be directly put into a 100 milliliters cup? Because there is a lot of water and the volume of the cup is relatively small, there are two main directions to solve this problem: 1. Try to reduce the amount of water. 2. Try to increase the volume of the cup. Then refine in both directions so that the listener can follow you more easily because it already has a prestated cognitive structure in mind. If you think about it carefully, you will find that the above idea seems incomplete. For example, we can freeze water into a special shape of ice, and when it becomes solid, it can also be placed in a cup. In this case, the amount of water will not be reduced, and the volume of the cup will not be larger, but it can still meet the requirements of the problem. You may suddenly realize that the original frame of mind didn’t take into account the effects of water form. Is this question wrong? Is not important. Remember, the interview evaluation is always about you, the interview is to evaluate you, what is important for the interviewer is to see how you think analytically and plan for a problem, and to describe how you analyze a problem is more important than the answer to the problem.

Let’s look at another example of the classic “what, why, and how” structure of the rule of thirds. Once in a technical group, we were discussing a front end test question “why do TCP connections need to shake hands three times”. At that time, someone threw an answer saying that because there is a limit to the number of sockets on the server side, he may be right, but I really did not understand what the answer is directly related to the problem. “Because the three-way handshake is more reliable, the client first sends XXX packets to the server…….” When I saw this question, I quickly made an outline of “what, why and how” in my mind, and then I shared my thoughts in the group:

  1. First mention that you will answer according to the three points “what”, “why” and “how”, to give the listener a basic cognitive framework and psychological expectations
  2. What is? What is TCP first, a reliable full-duplex connection
  3. Why is that? Tell me why three handshakes are reliable, and what could possibly go wrong with two
  4. How’s that? Discuss the key information about TCP connections in the three-way handshake article in detail

If the “structured” statement is removed from the answer, the answer you give is basically the same, but with the “structured” aid, the overall answer is easier to listen to the listener feel more clear. If you are familiar with HTTP3, you know it is based on UDP protocol to transmit, but still need to do reliable transmission, in answer to the complete topic, you can be very natural initiative guide topic “actually speaking of reliable transmission, HTTP3 although use UDP protocol, but……” “, so that the interview is easy to continue the topic, a topic to talk about is very can improve the impression of the interviewer, of course, this is also a test for your knowledge reserve.

Of course, the above example is not the only “three-point structure”. When reviewing the project, we may split it according to “before, during and after”. For example, when talking about the capability model, we usually split it according to “technology, business and management”. The AARRR funnel model commonly used in business retention analysis divides the user life cycle into five phases… More complex problems may have more complex methodologies, and their value lies in helping you break down a highly complex problem into multiple or multiple levels of low-complexity problems to find a breakthrough in solving the problem. The practice of structured thinking is to help us practice the basic patterns of analytical thinking in the workplace. As for how to develop structured thinking more effectively, you can read more specialized books that are not covered in this article.

In addition to presentation skills, it is also important to pay attention to industry trends. You can try to write your own technical blog. As for how to write, the previous article has already introduced, what you need to do is active thinking, not just copying knowledge; In addition, you can also pay more attention to foreign technical conferences, you will find many open questions encountered in the interview, usually can find some industry leaders to share their views in the technical speech. Why mention technical conferences abroad? Technology sharing in domestic conferences focuses more on the implementation details of technology and the application of business practice, and it is difficult to understand without relevant background knowledge or domain knowledge. And foreign meeting to discuss on the design idea and the problem is very much, many of them are talking about what you encountered a problem and how to think, how to solve of, live demonstration of code looks simple, because a lot of complex technical solutions are precipitation to the bottom, these knowledge is actually open for everyone in the interview to answer questions very helpful. For example, you may be asked in an interview how to choose the React and Vue frameworks. You may already have your own answer, but if you read Yu Brook’s 2019 JSConf keynote, “Finding balance in Framework Design,” you may have a better answer. On the other hand, foreign technology sharing videos often have a lot of animation, which is very helpful for developers to understand some abstract concepts or processes. I hope you don’t miss it.

End of 4.

Every enviable success, with the efforts of the unknown and pay, you will find that in fact for giant interview the ideas and we used to go to school to learn test, there is no essential difference between serious to do, the result will not be so bad, we wish you firmly do the thing that oneself like, wish you will soon get the right Offer. If you have any further questions about the interview, please contact me directly.

Bytedance Entertainment front end recruitment

Social recruitment, school recruitment, internship are hot recruitment ~

happiness

Xinlinli is bytedance’s real estate information, service and transaction platform that integrates content, community and tools. Based on the personalized recommendation engine, the product recommends high-quality real estate content and comprehensive and real housing information to users, and is committed to providing users with comprehensive, professional and reliable purchase decision support. Xinlinli was started in August 2018. It is the fastest growing real estate information and service platform in China, integrating content, community and tools. Its business covers 23 cities in the first and second tier, with tens of millions of registered users

Happiness Front end team

Born in September 2018, The Team has grown from 4 people at the beginning to 50 people today, with members from the post-90s to post-00s. Mainstream technology stack to cover the front omnidirectional (Vue/React/Typescript nodejs/webgl/flutter/Taro), team Daniel, technology atmosphere, There are VR expert Lao Wu, 3D rendering elder brother Boge, author of Flutter Actual Combat Wendux, Teacher Dong who is familiar with Web framework and engineering, and Jie Ge who has a skill tree full of points, etc. Besides, the team often organizes offline learning and entertainment activities, making it a happy and strong fighting team. As long as you think you are good enough, or want to make yourself better, why wait, don’t hesitate to join us.

Intern benefits

We will assign a mentor to each intern for daily questioning and guidance. At the same time, we will conduct a special foundation training for those students who are not familiar with the front end, to help quickly build up the front end foundation and clarify the follow-up learning and growth route.

Catch a wave of heat

Thank you for sticking it out and recommending my personal tech blog github.com/dashnowords… , if it is helpful to you, you can help to click a Star, thank you very much!