It coincides with the peak recruitment season, and many candidates are preparing for rounds of interviews. Among them, many engineers have good technical skills and even think that the interview process was good, but they still failed to receive an offer in the end. The reason may be that they are too focused on technical research, lack communication skills, and do not know much about the interview itself.
BAT is the leader in the Internet industry. Their recruitment process and talent selection standards are more scientific and complete. Studying the interview routines and methods of major companies will undoubtedly be helpful to job seekers and technical leaders.
So, php Chinese website has collected "How does BAT interview front-end engineers?" 》, solving the doubts of candidates and technical leaders from different angles.
The following are the details.
Kangkang: From the perspective of data analysis and industry observation, what are the characteristics of the most popular front-end people?
According to the data observed on the platform, we found that technical leaders or HR of large companies will consider the following aspects in the talent selection process:
1. Basic background, including school, academic qualifications, and company background , Stability
Educational qualifications: BAT generally values academic qualifications, and a good academic background is naturally a plus. However, the requirements for different positions are different. Positions such as algorithms and data will require computer science graduate students or above, while the requirements for front-end positions are relatively loose. Generally, those with 3-5 years of relevant work experience are best to have a bachelor's degree. For those with more than 5 years of relevant work experience, the academic requirements will be relaxed
School: 985, 211 are preferred, but most large companies do not impose requirements.
Company background: Regarding the background of large companies or star startups, it is best and not necessary, but the background of very small companies is often more difficult. Here, at least one of the educational background and company background is more eye-catching, so through The rate will be higher.
Here is an example of someone who recently joined a major company through the php Chinese website platform. One of the classmates graduated from a junior college, but had 7 years of experience in front-end development, and had worked for several well-known companies, such as Ctrip and No. 1 Store. He later got a good offer from Alibaba and successfully joined the company.
Stability: Have at least 2 years of work experience. Otherwise, the applicant will be judged to have poor stability and will be eliminated when screening resumes.
2. Technical ability
Technical ability is what major manufacturers value most when selecting talents. Later, two technical experts will also conduct an in-depth analysis on this issue. Judging from the platform data, major manufacturers not only value the technical depth of candidates, but also attach great importance to technical breadth. For example, front-end engineers, in addition to examining front-end related technologies, will also examine basic computer knowledge, such as algorithms, data structures, etc., because front-end engineers are software engineers first, and the foundation is very important
3. Soft capabilities
Soft abilities include communication skills, learning abilities, goal-oriented thinking, and job search intentions. Here I would like to share with you the questions that interviewers from big factories usually use to judge the soft abilities of candidates.
For example, regarding communication skills, the interviewer usually asks the candidate to describe the projects he has worked on in the past to see if the candidate can clearly explain the purpose of the project, how many teams completed it, and what role the candidate played in it. , what technology was used to solve what problem, how to cooperate with other teams, etc. During the description process, the candidate's communication ability can be judged;
Another example is, regarding learning ability, the interviewer will ask the candidate what new technologies he has paid attention to recently. And will ask in-depth questions about the details of a certain technology to determine whether the candidate has really learned and the depth of learning;
Big companies require everyone to be able to act independently and have the ability to solve problems, so goal-oriented thinking This is something that major companies value more during interviews. Generally, candidates will be asked in detail how they completed a task or a project, to see what the candidate's ideas and sequence were for solving the problem, and they will also ask about the reasons for choosing such a solution. Examine the candidate’s way of thinking
Regarding job application intentions, HR or the department boss is usually more concerned about it. They will ask the candidate why he left the previous company, or even what the reasons were for his previous job change, in order to determine what the candidate really wants. Whether the things are provided by big manufacturers is the basis for future candidates to be able to work for a long time.
Next, we will share with you the general interview process of large companies. Of course, the situation of each company is different, but they are basically the same.
Usually 2-3 rounds of technical interviews + one round of HR interviews
The interviewer is usually a senior or senior programmer. The chat usually lasts longer, 30-60 minutes. He will chat based on your written test questions and data. Structure and algorithm, talk about your experience and find common ground.
The second interview officer is usually the direct leader and will chat for about 30-60 minutes. First, he will look at your project, the role of the project, common tools, ideas for solving problems, ask about some algorithms, and also check your IQ and EQ. .
The three-face interviewer is usually a cross-department interview or the department’s technical director. Usually the chat time is relatively short, 15-30 minutes. We won’t talk too much about technology. We mainly talk about previous projects, problems solved, and your views on technology. and the pursuit of new technologies, and then see if this person is impetuous and can be cultivated, label you, and establish prestige for you.
HR usually chats for 15-30 minutes, mainly focusing on your reasons for leaving your job, motivation for job search, and salary expectations. It is best to think through these three questions clearly before the interview to prevent confusion in logic during the interview, or failure to understand your own Express your true thoughts clearly and then fall into passivity. The answer should be sincere and neutral, show your value and give the other party your sincerity.
Winter: From the perspective of candidates, how do front-end engineers prepare for interviews?
How to interview a front-end engineer? Mainly from the perspective of candidates, I will share how to prepare for an interview. The goal is to avoid losing points due to some non-technical elements during the interview.
1 Resume
1.1 Resume - Basic Principles
First of all, let’s look at the resume, which is the first step and premise of the entire interview process. Let me first tell you how to prepare your resume at the grassroots level.
Basic principles for resumes: Don’t believe in various templates, don’t believe that a cool resume can add points, clear expression is the most important. If you have achievements, write achievements, if you don't have achievements, write cases, if you don't have cases, write experiences. Impressing the interviewer is your ultimate goal.
1.2 Resume - Achievements
Achievements here include: work experience in well-known companies, good educational experience, including some professional achievements. You can also add a few more items: more influential papers in school, and experience in famous open source projects.
The general principle is: write your resume carefully. When writing each sentence, think about how the resume will affect the interviewer, instead of looking for templates online. This is a sign of carelessness. For every line you think about, have you seriously thought about whether it is your achievement, not whether the achievement is your case.
What is an achievement? There is a very simple principle: do you expect the interviewer to have heard of this matter? For example, I wrote a js animation library. If the interviewer has not heard of it, it is meaningless. Work experience and education experience are also irrelevant. In this way, if you feel that what you write cannot be taken seriously by the interviewer, you cannot write it as an achievement.
1.3 Resume-Case
If it cannot be regarded as an achievement, should we not write it? Many project experiences and work experiences should be written as cases.
The difference between cases and achievements is that it is enough to write one sentence for achievements, while cases must follow the STAR principle.
The STAR principle is the favorite point mentioned by Alibaba HR, and it is also a principle repeatedly emphasized by internal interviewers. S is Situation, T is Task, A is Action and R is Result. This is the methodology to describe the complete case.
The STAR principle is very useful whether you are facing an experienced or inexperienced interviewer.
Scenario: It allows the other party to immerse themselves in your work and understand the value and significance of your work.
Task: Let the interviewer clearly understand the problems and difficulties you are facing, and create an immersive feeling.
Action: Generally, everyone will write. According to the STAR principle, we only write action in the third step. When you talk about action, it is actually a natural thing.
Results: A point that is often overlooked by people. For example, if I do some optimization and the final result is produced, people will forget to write it down. If you have the STAR principle, you will not forget it.
1.4 Resume-Experiences
What should I do if there is no case in the end? Write down your experience. The example of the experience is shown in the picture. On the right is a picture posted by Shencheng, who was the recruitment manager of Sina Weibo at the time. He said that a child gave him a picture. Attached to his resume was a hand-drawn mind map of Sina product ideas. This picture actually has little content, but it has been highly praised by HR.
So, when you really feel that your talent is underappreciated, but you also feel that you are very talented, you can just write, create a scene, and write down your ideas. For example, if you, as a front-end, think you are good at the underlying principles of JavaScript, then you can write about what the underlying principles of JavaScript are like and how you understand them. If you are good at the CSS layout system, you can summarize it.
Just write a blog post about your experience. People rarely write their experience on their resumes, but it is actually very effective. When you have neither achievements nor cases, this may become your only reliance.
2 The goal of the interview
We need to make it clear what the goal of the interview is. The goal of many people's interviews is: they will be happy if they pass, and they will be unhappy if they don't pass.
Our real goal interview goal should be: passing and being suitable or not passing and being inappropriate means being happy, passing and being inappropriate or not passing and being suitable being unhappy.
Through inappropriate situations, it will be scary to think about it carefully: for example, leaving your job during the probation period will be a very ugly point on your resume, or you have been in a high-pressure work experience, which must be an unpleasant ending, and the impact will be terrible. Failure to pass and be suitable is less harmful. The biggest problem is a waste of opportunity. Whether everyone spends time preparing for the interview or the recruiter arranges the interview, the result of failing and being suitable is very painful for both parties.
3 Understand the interview evaluation method
After clarifying the standards, let’s talk about the specific interview process: Everyone must understand the interview evaluation method.
Many people tend to approach interviews and exams with the same mentality. In fact, there is a very big difference between the two. Exam scoring rules: Each question is scored, and the total scores are added up. Interviews are completely different in that the evaluation method is based on the overall impression. It doesn't matter if you don't answer many questions. On the contrary, one answer may determine the final result.
When we do the structured interview assessment plan internally, we will have some special problems: for example, some items are passed directly with one question, and some are directly rejected. For example, I found in your answer, If you try to deceive the interviewer, no matter how good your performance is later, you will not pass the interview.
3.1 Understand the interview evaluation method: expression method
Another point is that the expression method will also affect the final evaluation of you. In fact, it is not just the results that will affect the final interview score, for example, the same thing , if you use the STAR principle to describe it, it will be much more convincing than if you directly describe the process and results.
The process is very important. Many people are concerned about algorithm questions. In fact, whether you can solve the algorithm question in the end may not be the key factor. It is whether you work hard to analyze it.
For example, the most common analysis method for algorithm questions is: I want to calculate 100 numbers. I will first analyze a case of 2 numbers one by one manually. There are two positive factors in this process: first, you are thinking and can find ideas, and second, you can receive a lot of discussions and tips from the interviewer.
Many people’s ability to describe problems gives interviewers a headache. The interviewer asked: How do you do front-end publishing? Someone answered: I will develop a publishing system. Dismissing it in one sentence will give the interviewer a headache.
Don’t answer questions too abstractly. You think the interviewer will understand. In fact, I want to know what specific release systems you have made, how you designed them, and what are the difficulties in design and implementation. If you are always abstract, The interviewers are very tired. The responsible ones will ask a few more questions, but the irresponsible ones may just pass by.
3.2 Understand the interview evaluation method: questions
First, just answer knowledge-based questions directly. If you don’t know, just say no. If the interviewer asks 20 questions and there are 18 questions, you will definitely be rejected. Eliminated, if you are asked 10 questions and you don't know 1, it basically doesn't matter unless it is very, very important to your position.
Second, for open questions, I suggest you adjust your mindset and treat it like a speech.
For example, this open question: Do you know what HTML tags there are, and can you tell me what their semantics are?
Faced with this question, I very much hope that the candidates can talk about their collection of dry information, the most interesting labels they know, and some corner-and-corner issues to reflect their own level, or they can use some ordinary labels to Its semantics are understood very well, and you can give some examples from the standards or examples from your own business. When the interviewer asks an open-ended question, he hopes you can use it as a speech.
Third, case analysis questions. This type of question is a must-answer. There is no situation where you can’t answer it, there are only situations where you refuse to answer. For example, if the interviewer designs a scenario for you, he hopes you will guide you step by step to complete it. Generally speaking, the interviewer will ensure that you give a lot of tips and eventually solve the problem. If you give up at the beginning, it is equivalent to giving up on the interview. .
Finally, let’s talk about the algorithm and programming questions that everyone is paying attention to. Does the front-end need to take the algorithm test? In fact, sometimes I feel that it is not easy to distinguish between what is an algorithm and what is programming. From the definition of an algorithm, all programming uses algorithms, it just depends on whether classic algorithms are used. You can understand that the difficult part is the algorithm question, which is simple. It is a programming question. In terms of difficulty, algorithm questions and programming questions vary from person to person.
The questions I asked when interviewing front-end engineers were all programming questions, such as bubble sorting, which should not be counted as algorithm questions. What I want to tell you is that companies that have long-term plans for your career development will pay more attention to your programming and algorithm skills. In my own job search process, I may hope that the company will pay more attention to my algorithm and programming skills.
3.3 Understand the interview evaluation method: if you don’t know it
What should you do if you encounter a situation you don’t know how to do during the interview? The most direct way is to tell the interviewer that you don't know how. Most of the questions do not necessarily need to be answered. This is my experience from the interviews I participated in and the interviews I experienced as an interviewer. You can do some analysis on the question, or ask or wait for prompts. Another common approach is to talk about something related to the question. If the interviewer asks you what HTTP code 404 means, assuming you can’t remember clearly, you can What do you mean by answering 500 and 501? But before that, you can answer, I can’t remember 404. Your frankness will leave a deep impression on the interviewer.
3.4 Understand the interview evaluation method: the situation of argument
Finally, let me introduce a situation that is very rare and puts great pressure on candidates: arguing with the interviewer.
Don’t just walk away, the interviewer may deliberately argue with you in an attempt to put some pressure on you. The solution is not to insist on your opinion, but to try to argue. When you start from the most basic conclusion, find out the common points of both parties' cognitions, gradually give the argument process, and gradually analyze the reasoning conclusions, you may reach a consensus.
For example, JavaScript is based on objects and is not object-oriented. Of course it is wrong, because JavaScript is written in the standard as object-oriented. If you say this, I am more concerned about how you go about it. Understand this sentence, for you, what is the definition of object-oriented, what is the definition of object-based, and what characteristics of JavaScript make you think it is object-based rather than object-oriented.
If you simply read this sentence from a certain book without thinking about it yourself, I must think that you answered this question wrong. If you have the process of justifying yourself, I will give a positive evaluation because you have gone through some thinking of your own during this period.
Jing Duoduo: From the perspective of an interviewer, how to select a front-end engineer?
What I want to share is: 1. Resume screening and communication 2. Interview session design 3. Soft skills assessment 4. Judgment of upper and lower limits of candidate strength
1. Resume screening and communication
As an interviewer, you will quickly read: relevant experience, company experience, educational background and other information
Relevant experience According to the STAR analysis method, whether the company experience is mainly an Internet company or a first-tier Internet company, if you have experience, you must write it because Things vary greatly, some are traditional development models, some are MVP development models, some are result-oriented and some are process-oriented. At the same time, you should pay attention to what the candidate has done, whether it is for Internet users or for internal users of the company, because Internet users are more concerned Users experience these details, and the latter emphasizes versatility, scalability, and development efficiency.
Educational background is mainly used as a reference.
For candidates, their responsibilities, things they have done, and their achievements must be written clearly. To put it bluntly, they must be purposeful and focused, so that the interviewer can quickly grasp: What is your company’s technology stack? So, what is the front-end and back-end cooperation model like? What you achieve is performance, improved indicators, or improved efficiency. You can quickly grasp your highlights.
2. Interview session design
The first point is, what are the necessary "humps" in the interview process?
The interviewer will have an outline to form his own set of standardized interviews. If the interview cannot be too casual, All questions must be asked with a purpose. From the interviewer's point of view, the candidate will have an initial impression in your mind. The next step is the process of verifying the design questions. There are routines for design questions, such as the basic knowledge of js, The basic knowledge of CSS, whether it is related to the framework or performance, must be specific and examine the details. It is best to focus on some highlights in the resume and let the candidate open up the conversation and talk about more details.
Then the open question part: Asking differentiated questions can allow the interviewer to distinguish whether the candidate's answer is a good, average or poor answer.
I will definitely design it: generally the advantages and disadvantages of the technology stack, mainly the disadvantages, because the advantages of the technology stack are easier to answer, like vue, it is obvious that the learning curve is relatively smooth with two-way data binding, but when asked Disadvantages, many people are not aware of, such as how time-consuming it is to render the first screen on the mobile terminal and how to solve it with multi-page applications.
In addition to the phone interview, some logical thinking questions are generally examined to see if the candidate is flexible.
The second point is whether it is necessary for the candidate to write code. Generally speaking, it is necessary. The premise is: first ensure that the solution is reliable, guide or prompt him to the optimal solution, and then let him write code. Generally speaking, sometimes the company boss will recommend some people to come over and interview them out of face, so they will definitely test their coding ability. There is a saying that talks is cheap, show me the code.
There are generally three rounds of interviews, plus the human resources interview, using the review committee system. Opinions are exchanged in one, two and three interviews. Each interview is 30 minutes.
從候選人角度來說,一定要細節比較清楚,了解面試官的目的,要考察啥,自己簡歷上列出來的問題,要好好準備一下,在面試官提出問題,先弄清楚問題,再給出實現方案,依方案還要能給出它的優缺點,最後再來做coding,coding完,自己要單測一下,寫異常值,而不是把答案直接丟給面試官。
3.考核能力
第一點,我們會考核候選人是學習型選手還是經驗型選手,是否聰明。學習型選手很大的特點是:能夠自己接觸很多新的知識,保持對整個業界最新知識的基本關注,不僅能自身總結一些問題,還能從別人身上學習到一些東西,後者更多依賴自己的沉澱,從交流中、學習中獲得較好,我們更多是看聰明程度,而不僅看經驗。
第二點,考核責任感是否強,很關鍵,我讓候選人做題後,看他是否會做自測。天平秤藥材問題,很多人都很快給結果,丟給你驗證,你提出問題,候選人還說:你這樣不就行了。其實很多時候,希望候選人自己做自測。
第三點,溝通能力。簡單能說能否聽懂你的話,能說清楚自己想表達的話,我希望候選人既能抽像也能具體,當你問業務是什麼時,你期望他能用宏觀來回答,當你問架構時,他知道要畫什麼圖。
第四點,機靈程度與好奇心。我通常在三面,讓候選人教我一個很複雜但我不懂的東西。
第五點:leadership。普通工程師依舊需要有動員其他人的能力,比如說我們有個工程師做效能最佳化項目,那他需要協調產品端、app端、web端還有統計部門、資料統計部門,一起完成效能統計的需求整理、日誌整理、日誌上報、資料分析、資料展示等等。那我們會有一個面試大綱,圍繞這些大綱面試官可以出自己的題目
比如寫一個URL解析函數,同時考察你網絡協議、正則、js代碼設計、前後端協作方面的知識
對候選人來說,基本功比較硬,做事方法好,這兩點重要。基本功看自己,做事方法需要有人帶,也要自己總結,我也會推薦兩本書。 《卓越成效的管理者》和《google 模式》
4.候選人實力上下限判斷
最後一點:如何快速判斷候選人真實實力。結合履歷以及表現,能夠確定下限,大概是什麼水準。接下來,是開放性問題,這些問題是有區分度的,比如說看待解決性能問題的思路和方案,從而判讀候選人上限,結合上限和下限,最終得出真實水平。
經典問題:讓你分割js水平,怎麼分割?有些人分第一會用框架、第二了解框架原理,看過源碼,第三寫基礎框架。如果你再追問:你處於什麼水準?再結合候選人的回饋,更容易推論出候選人實力。
對候選人來說,面試的本質是展現自己真實水平,找到適合自己的崗位,面試官是的本質是找一個和自己共事、願意晚上加班的傢伙。
Q&A
1.@winter:除了基礎的前端技術,是否還要掌握演算法? bat大廠對演算法的掌握有怎樣的要求,需要掌握到什麼程度?
A:對於前端來說,對演算法要掌握到能夠寫一個排序這個水平,面試不會只考排序,同等難度還會有幾題。我們還有一個原則:當你的成就,超出了演算法的範圍,那我們會根據你的專案、案例裡面去問了,不會刻意出題考察。如果是css,從原則上來說,我們不希望大家把自己定位成某某工程師,即使是我們前端的職責,也是在不停地變化,如果說你把自己圈死,說你是css工程師,我們不招的。
比如說大末,他是業內著名的css專家,他來我們這邊,做的不僅僅是css,總的原則是我們看應徵者身上最光輝的地方,肯定不是挑選短處。
2.@井鐸鐸:面試前端工程師和前端主管,前端架構師和前端總監,部門總監,需要的不同要求和特質以及面試方法,能說一下大廠現在的錄取策略嗎?
前端工程師:基礎專業好,做事方法好。
前端主管:做成事,能培養人,能指導人。
前端架構師:對應百度T7、T8阿里P7、P8,專業性高,兩到三個面向是專家級,廣度夠,能夠解決多條業務線的問題,產出在業界有影響力。