Recently, Zoom opened recruitment again in China, and our group has the front end HC, so I also participated in several interviews. Hefei’s overall front-end atmosphere is very general, less powerful people, to attend the interview of the initial stage of more, but we do not interview volume, few out of some complex algorithm questions, the interview difficulty is not high. Our requirements for candidates are not that high. Basically, if you can reach the level of P6, you can pass my interview. Of course, if you are an older player (more than six years), my expectations and requirements for you will increase accordingly.

I also found a lot of problems in the interview process. Therefore, as a veteran with 9 years of working experience and 7 years of interview experience, I would like to share some experiences with you, hoping that it will be helpful to you after reading them.

The purpose of the interview

First of all, why interview?

Firstly, the interview is a two-way selection process. In this process, the interviewer will judge whether the candidate is suitable for the job, what kind of person he is, and whether you want to work with him in the future through some questions and communication. Then the candidates can also feel whether the interviewer is professional or not and whether they like the company or team through the interview process.

Secondly, for candidates, the interview process can also find their own shortcomings, through some professional technical exchanges can understand their understanding and grasp of some knowledge points, so as to find out the missing and fill in the gaps. In addition, through the description of my own experience and projects, I can also practice my ability of expression and communication. If I find that I did not play well in the interview, I can strengthen this practice.

Finally, for unit of choose and employ persons, in addition to the interview to help you recruit to the right of the talent, is also a chance to erect their own corporate image, for the whole interview process arrange enough professional, the interviewer’s qualifications deep enough, can let the candidate have a good interview experience, are more or less will affect the company reputation in the industry. Therefore, many large companies will have high requirements for the level of the interviewers, and will give some interview training (I was fortunate to be trained when BAIDU).

To the candidates

For candidates, I would like to give you some guidance mainly in the areas of resume and interview preparation.

resume

The purpose of writing a resume is to give the interviewer and HR an overview of your past experience in just a few pages. First of all, you have to make sure that the resume is authentic, there is no fraud, because it involves a person’s integrity issues. Some people lie about their education and work history in order to get their resume screened. Others lie about their salary in order to negotiate more. For well-known enterprises, there is zero tolerance for these fraudulent behaviors, because many enterprises will do professional back to the candidates, once the fraud is found out, not only the offer is lost, but also there may be a risk of never hiring.

Some people may ask, “I don’t have a good education, I don’t have any work experience, I didn’t lie, I couldn’t pass my resume.”

Sorry, if you don’t have enough qualifications, you can’t enter some famous companies for the time being. You can advance to some small companies for training, and then have some work experience, and improve your technical ability, then consider entering a big factory. You can think about why some excellent undergraduates and master’s students enter famous companies right after graduation. It is the result of decades of hard study by others, so it is naturally easier to go the rest of the way. If you neglect your studies when you are young because you are not sensible or some force majeure factors, then it is normal to have a low starting point, but this will not affect your future through hard study and struggle to change your fate.

HR of famous enterprises have high requirements on the background of candidates, which is also considered from the perspective of probability. After all, good school and working background mean better learning ability and working ability, so the probability of such candidates meeting the requirements of the post is naturally higher.

For those who work in a small company, it is not impossible to enter a big factory, but you may have to spend more effort than the average people to study, those who do not have a good educational background and eventually become a big boss, the efforts, behind the bitterness, may only be known to them.

In addition, through the outsourcing of dafang to become a regular, or make friends in the circle to promote dafang, there will be more chances of success. Going back to the resume itself, the second point, besides authenticity, is to focus. A resume is not a running list. You don’t need to include all of your previous jobs and your interviewer won’t have time to read them. It is recommended that you pick one or two key projects from each of your work experiences. Write down in detail the technical highlights and difficulties of the projects, as well as your role and responsibilities.

In terms of skills, it’s also important to highlight the technical stacks that you’re good at, and not even write down the ones that you’re not familiar with. Some people just list technical terms when it comes to skills. It makes no sense. If the interviewer asks you about some technical points and you can’t answer them well, it will be a negative.

After reading this, some people may say, “I’ve been working for small companies with simple businesses and projects, so there’s nothing to write about. But have you ever thought about any pain points or frustrations in your daily development work? For example, you often copy code through the CV method. Have you ever thought about extracting and reusing these modules? To share common JS modules, do you copy the code or build a private NPM server? All projects are in one repo, so it’s slow to compile and package. Have you ever thought of splitting into multiple repo or Mono repo? The development on-line process is not standard, have you ever thought of referring to some mature schemes in the industry to build a CI/CD scheme? When you encounter problems with some open source libraries, do you go to Baidu or wait for others to solve them, or do you study the source code and then go to propose a PR?

Another positive example is that years ago on Zhihu, I saw a guy doing small programs in a small company. Because the approval of small programs is very slow, and it is not allowed to dynamically load and run JS scripts through new Function or eval, he came up with an idea. Basically, you download JavaScript scripts as data, and then run the code dynamically through JavaScript interpreters implemented in JS. While this approach may not be elegant enough for development, it also solves most of his needs, and the spirit of fiddling with technology, can a big factory not love?

In addition to focusing, your resume needs to shine. In recent years, more and more people choose to be a programmer, the competition is more and more fierce, so how to make your resume stand out, you need to have some highlights in your resume.

So what is the highlight, for fresh graduates, such as excellent academic background, internship experience in famous enterprises, winning competitions, published papers in well-known journals and so on. For those who have work experience, such as working experience in famous enterprises, have a technical blog (have a certain quality blog), do well-known open source project or participate in well-known open source project co-construction, write a book and so on.

Of course, highlights are just a plus. They don’t make or break an interview, but at least based on your resume, they give the interviewer a little more interest. But remember, if there are no highlights, then don’t write. For example, I have read some candidates’ blogs, the content is simple, and from the time of writing is very recent, there is a very big interview preparation suspect; There are also candidates who post GitHub addresses that are empty when you click on them. These are subtracted items.

Finally, don’t write something subjective on your resume like “I’m interested in technology.” Whether you’re interested in technology can be shown by whether you’ve written a tech blog, worked on an open source project, or translated foreign technical articles.

Interview preparation

So, once your resume makes it through the screening process and into the interview stage, what do you need to do to prepare?

First of all, the technical aspect is mainly to examine the technical ability. Interviewers usually evaluate the candidates’ technology from three aspects: basic knowledge, depth of knowledge and breadth of knowledge. In my opinion, knowledge points mainly depend on the accumulation of daily work and study, you need to build your own knowledge system, keep these knowledge points in your mind, then you can naturally talk with the interviewer during the interview. Front-end knowledge is much and miscellaneous, some people will look for some common interview questions a few days before the interview, but front-end knowledge is so much, a short time to get through is very difficult. So my advice is to incorporate it into your daily life. If it’s a technology that you encounter at work, then you have to really understand the underlying nature of it and do some stretching. In addition to work, you can also find some work and related but may temporarily have no use of technological learning, I push too many courses in public, most of the courses are very worth learning, I also did a few door Vue. Js, of course, if there are conditions, follow the teacher learning efficiency is much higher than yourself on pit, once you learn, The input-output ratio is also very high.

Don’t say with me in peacetime work too busy no time to study, that is an excuse, even if you work overtime to 12 o ‘clock at night, have you ever wondered how much is your effective work time, have a chat, among brush trill, headlines, weibo, what is your work efficiency, and how much time is in the development, how much time is a change in the bug, how much time in inefficient meeting.

If you want to study, you can spare two hours a day. If you really work 12 hours a day at full capacity, then you should change your job and take care of your health.

I am opposed to brush the interview questions, even if you are brushing the questions, then you should not go to the back, but check the leak to fill the gap, front-end knowledge is a lot of, some you have not been exposed to, it does not matter, but you will, you must put them very well expressed.

For example, “What happens between entering the URL and rendering the page?” This is such a cliche that some candidates seem prepared when they answer it, but it gives away when they ask, for example, TCP’s three-way handshake. What packets are sent back each time? When the browser parses the document, will it block the rendering when it encounters the JS with the outside chain? Will it block the rendering when it encounters the CSS with the outside chain? If so, why? Behind a question, often contains a lot of knowledge, if you know the general flow of knowledge like a cursory glance, the meaning is not very big.

Some people might say, well, there’s so much detail in this question, I can’t possibly do it all. It’s a lot, and I’m not asking you to know all of it, but what I’m saying is, there’s a lot of basic stuff that you can learn from behind this problem. If you don’t understand the underlying principles, it’s almost impossible to do performance optimization. However, the more details you have, the more knowledge you have, and in some cases the interviewer will be surprised.

Secondly, in the interview process, the interviewer will usually ask you about the technical difficulties, technical challenges, your role in the project, and how to solve the problems encountered. This is a good area to prepare for because it shows not only your technical skills and thinking skills, but also your expressive skills. Therefore, do more technology sharing, and have the opportunity to participate in some presentations can help you improve this ability.

In addition, I heard that many big factories now roll serious, interview like to ask algorithm questions, so do you want to brush algorithm questions?

In my opinion, the learning of algorithm problems is also accumulated from my daily work, such as backpack problem, graph and tree traversal, and greedy algorithm. I have contacted and practiced them in my work, so naturally I have a deeper understanding of them.

If you really don’t have access to algorithms in your job, but you’re interested in algorithms, take the time to learn some common data structures and algorithms. In addition, you can also go to see some source code, also can learn some general algorithm implementation. In my opinion, the code to see more, write more, naturally can contact the algorithm related knowledge.

Of course, the purpose of the interviewer out of the algorithm is not to test down you, usually this is just a plus, mainly investigate your thinking ability, if the interview really encountered some algorithm problem jam, you do not give up, at least to say some of your ideas, completely give up is the worst.

Remember, the interview is an equal process. As a candidate, you should try your best to show your abilities and strengths to the interviewer, especially if you have skills that match the job requirements. Don’t feel like you’re looking for a job just because you’re a yes-man. Be confident (but not crazy) and you’ll make a good impression.

Finally, also want to you before the interview and the team have a general understanding of the company, if the team has done something to export, such as open source projects or technology blog, you can focus on, at the time of the interview can also be a chat, because people are vanity, some interviewer found his team to do things were focused on, nature will be very happy, They’ll have a better impression of you.

Usually the interview the interviewer will ask you what’s the problem need to ask questions, don’t be silly to ask each other about their assessment of how the interview, if you are interested in our team, can ask team technology stack, had done, the team’s personnel, technology atmosphere, etc., can also ask if I had the opportunity to enter the team, is responsible for roughly what kind of things. If you can clearly feel that you failed in this interview, you can also ask the interviewer what your shortcomings, perhaps to find their own future direction.

Write to the interviewer

For interviewers, I would say that interviewers sometimes represent the face of a company. The professional ability of the interviewer should be quite strong, because he needs to examine the technical ability and comprehensive quality of the candidate from all aspects to meet his own employment standards.

When I was in baidu the interviewer is the lowest level T5 p6 (ali), and will accept professional training, and usually the interviewer to candidates and flat level or higher level, otherwise it may because Dan is not enough due will not be able to fully examine the ability and cannot make a relatively objective evaluation of the interview. Some companies don’t know why to send out some lower-ranking interviewers, and sometimes make some unpleasant things that will damage the company’s reputation and image. In my opinion, hiring is still a very serious business because you’re hiring people who are going to work with you in the future, so take it seriously. So, as an interviewer, how should you interview?

For the front end of the vast amount of knowledge, want to examine a short time is not realistic, and the interviewer is also very busy, sometimes the interview occupied too much work time. Therefore, my experience is to give a set of pen questions of moderate difficulty, including HTML, CSS, JS, breadth, programming and algorithm questions. Then, for the candidates who are expected to be P6 and below within five years, let them do the questions first. Based on the results of the written test, a group of unsuitable candidates can then be screened out.

So the pen test passed, when the interview can be aimed at the knowledge point of the pen test, do some in-depth questions, usually ask the other side will not or you will not so far, so that the candidate can fully investigate the degree of mastery of a certain knowledge point.

For the rest of the interview, I recommend asking in-depth questions about technologies the candidate has mentioned on his or her resume, rather than technologies he or she doesn’t know about. Here’s an example: If he is a React player, even if the technology stack of your team is Vue, I don’t suggest you to ask him about Vue’s questions, because it is meaningless. However, you can ask him what are their strengths and weaknesses compared with Vue’s React, so as to check whether he has done some in-depth thinking on technology.

If the candidate knows something about it, then you can go further. If the candidate doesn’t know much about it, then there’s no point in asking. It’s a bad experience to think about when a less-experienced interviewer asks crazy questions about an area they’re familiar with or technology they’ve recently researched, even if the candidate says he or she hasn’t.

Of course, if you ask a lot of technical candidates about the job requirements but they don’t, that means the candidate is not the right fit for your job and can usually be eliminated from the resume screening stage.

Remember, you not for the purpose of the interview exam candidates, also is not to show off, you have to do is to investigate potential candidates’ technical ability, ability to learn, and so on comprehensive ability, so you should let him have the opportunity to display their abilities, from his description of the technology or project dig some deeper questions, Or from your experience to judge his approach may exist problems, and then to ask him to solve, if not, might as well ask him to have a train of thought what. So, it requires the interviewer to have a certain level.

I saw a junior interviewer on Zhihu ask some basic JavaScript questions from a candidate who has worked for many years, and then post them on Zhihu because the candidate didn’t answer them, full of sarcasm. I think don’t need this, first of all, you have to find the other bright spot, the candidates have to candidates sufficient opportunity to show their abilities, if the candidate really didn’t have to answer the basic questions, does have some problems, but didn’t also necessity in public, because there is information asymmetry in the interview, How would you feel if one day you went to an interview and someone asked you a basic question and you didn’t know it?

You do this only shows that your interview is very unprofessional, for a long work experience I don’t care he remember the JavaScript basis, I will be very high to the requirement of his own, I will ask him more recent research technology, or judge him for his past project understanding of architectural design, may also give him a scene, Throw out some questions to see how he understands and thinks about them.

Therefore, for different candidates, the corresponding expectations and requirements are different. For a candidate who has worked for five years, I focus more on his working ability and whether he can take charge independently. As for the candidate who has worked for a longer period of time, in addition to his ability to work, I also need to examine his depth in the professional field. For a relatively complex business system involving multiple function points or a low-level system with high technical difficulty, whether he can do a good architecture disassembly and implementation.

conclusion

Whether you’re an interviewer or a candidate, you should keep learning, because the roles are easily reversed. In the morning, A interviewed candidate B as an interviewer. In the afternoon, HE met B in the morning as his interviewer. Then B asked some difficult questions to A again, but A did not have A good answer.

Therefore, you have to be professional enough to be able to play and laugh in any role. However, no one can casually succeed, those you see in the eyes of some of the big guys, behind a lot of hard work, so come on ~