首頁 > 頭條 > 主體

BAT如何面試前端工程師?

阿神
發布: 2017-03-20 10:17:25
原創
3043 人瀏覽過

恰逢招募旺季,不少候選人在準備一輪輪面試。其中,不少工程師技術實力不錯,甚至自認為面試過程表象良好,但最終還是沒能收到 offer ,原因可能是他們過於專注於技術研究,缺乏溝通技巧,對面試本身也不怎麼了解。

BAT是網路產業的領頭羊,它們的招募流程與人才甄選標準更為科學、完善,研究大廠的面試套路、方法,無疑對求職者和科技 Leader 都有幫助。

所以,php中文網收集了《BAT如何面試前端工程師? 》,從不同角度解決候選人與技術 Leader 的疑惑。

以下是詳細的內容。

康康:從資料分析、產業觀察來看,最受歡迎的前端人具有怎樣的特質?

根據平台上觀察到的數據,我們發現,大廠的技術leader或hr在挑選人才過程中會考慮如下幾個方面:

#1.基本背景,包括學校、學歷、公司背景、穩定性

學歷:BAT一般對學歷比較看重,學歷背景好自然是加分項。但不同職位要求不一樣,對於演算法、數據等職位會要求電腦專業研究生以上等,對於前端職位相對要求相對較寬鬆。一般3-5年相關工作經驗的最好還是本科學歷,而5年以上相關工作經驗的,對學歷的要求會放寬

學校:985,211優先,但絕大多數大公司不做強求。

公司背景:關於大公司或明星新創公司的背景,有最好,非必要,但是非常小的公司背景往往會比較難,這裡教育背景和公司背景至少有一條是比較亮眼的,這樣通過率會較高。

這裡舉一個最近透過php中文網平台入職大廠的例子。其中一位同學是大專畢業,但是有7年前端開發經驗,並且曾經在幾家比較知名的公司,比如攜程、1號店任職,他後來拿到了阿里的不錯的offer,成功入職。

穩定性:至少有一段2年以上的工作經驗,否則會判定穩定性差,在篩選履歷時就剔除。

2.技術能力

技術能力是大廠選拔人才時最為重視的,稍後兩位科技大牛也會就此問題做深度分析。從平台數據來看,大廠除了看重候選人技術深度的同時, 也非常重視技術廣度。例如前端工程師,除了檢視前端相關技術之外,還會檢視電腦基礎知識,例如演算法、資料結構等,因為前端工程師先是軟體工程師,基礎很重要

3 .軟性能力

軟性能力包括溝通能力、學習能力、目標導向思考、求職意願。這裡著重跟大家分享下,大廠面試官一般是透過什麼問題來判斷候選人的軟性能力的。

例如,關於溝通能力,面試官一般會讓候選人敘述自己過去曾經做過的項目,看候選人是否能講清楚項目的目的是什麼、由幾個team完成,候選人在其中扮演什麼角色,用什麼技術解決了什麼問題,和其他團隊怎麼配合等, 描述過程中可以判斷出候選人的溝通能力;

再比如,關於學習能力,面試官會問候選人最近關注了哪些新技術,並且會就某項技術的細節問題深入問下去,以判斷候選人是否真正學習了,以及學習的深度如何;

大廠都要求每個人能獨當一面,有解決問題的能力,因此目標導向型思維是大廠面試時比較看重的,一般會通過詳細追問候選人是如果完成一個任務或者一個項目的,看候選人解決問題的思路和順序是什麼,並會追問選擇這樣方案的原因是什麼,以考察候選人的思維方式

關於求職意向,一般是hr或者部門老大比較關注, 會問候選人為什麼離開上一家公司,甚至是再之前一次跳槽的離職理由是什麼,以判斷候選人真正想要的東西是否是大廠能給的,這是未來候選人能夠長期工作下去的基礎。

接下來我們再給大家分享一下大廠一般的面試流程,當然各家公司狀況不同,但基本上大同小異。

通常是2-3輪技術面試+一輪HR面試

一面官通常是個資深或高階程式設計師,通常聊的久一點,30-60分鐘,他會根據你的筆試題聊一聊,資料結構和演算法,捎帶著聊一下經歷,找出共同點。

二面官通常是直接領導,聊30-60分鐘左右,一是看你的項目,項目擔任的角色,通用的工具,解決問題的思路,問一些演算法,還有看看你的智商情商。

三面官通常是交叉部門面試或部門技術負責人,通常聊的時間比較短,15-30分鐘,技術不會聊太多,主要就聊之前的項目,解決過的問題,你對技術的看法和對新科技的追求,然後看看這個人是否浮躁,是否能培養,給你下標籤,給你樹立威信。

HR通常聊15-30分鐘,主要關注你的離職原因,求職動機以及薪資期望,最好在面試前把這三個問題都想清楚,以防在面試時邏輯混亂,或者沒有把自己的真實想法表達清楚而後續陷入被動。答案要誠懇且中立,表現出你的價值,給到對方你的誠意。

Winter:從應徵者角度談,前端工程師如何準備面試?

如何面試前端工程師?主要從應徵者的角度去分享,應該怎麼樣去準備好一個面試,目標是為了避免大家在面試中因為一些非技術元素失分。

1 履歷

1.1 履歷-基本原則

首先來看履歷,整個面試流程的第一步,也是前提,先跟大家講的是:草根如何準備自己的履歷。

履歷基本原則:不要相信各種模板,不要相信酷炫的履歷能加分,表達清楚最重要。有成就寫成就,沒成就寫案例,沒案例寫心得,打動面試官是你的終極目標。

1.2 履歷-成就

這裡的成就包括:知名公司的工作經歷,好的教育經歷,包括專業上的一些成就。還可以加幾項:在學校的比較有影響力的論文,著名的開源專案經驗。

總的原則是:用心寫履歷,寫每句話的時候去想履歷怎麼對面試官產生影響,而不是在網路上找模板,這是不用心的體現。你想過的每一行,你有沒有去認真想一些,它是不是你的成就,不是成就是不是你的案例。

什麼算成就?有個非常簡單的原則:你預期面試官是否聽過這件事,比如說我寫了個js的動畫庫,如果說面試官沒聽過,那就沒有意義,工作經歷、教育經歷也如此,如果你覺得你寫出來的東西,不能讓面試官重視的,就不能當成就來寫。

1.3 履歷-案例

不能當成就的東西是不是就不寫了?很多專案經歷、工作經驗應該當案例寫。

案例 和成就的差別在於,成就寫一句話就夠了,案例要遵循STAR原則。

STAR原則是阿里HR最喜歡提的一點,也是內部面試官一再強調的原則。 S是Situation(場景)、T是Task(任務)、A是Action(行動)和R是Result(結果),這是描述完整案例的方法論。

STAR原則不管是面對有經驗還是沒經驗的面試官,用處都很大。

場景 :可以讓對方代入到你的工作中來,去理解你工作的價值和意義。

任務:讓面試官明確理解你所面臨的問題和困難,能夠產生身歷其境的感覺。

行動:一般大家都會寫,按照STAR原則我們是第三步才寫行動,這時候你講行動,其實是一個順趨而自然的事情。

結果:常被人忽略的一點,比如說我做了些優化,最後產生什麼結果,會被人忘記寫,有STAR原則就不會忘。

1.4 履歷-心得

最後落到沒有案例怎麼辦,寫寫心得。心得的案例如圖,右邊是時任新浪微博招聘總管的申城貼的一張圖,說一個孩子給了他一張圖,簡歷裡附了一張手繪的新浪產品發想的腦圖。這張圖實際上沒什麼內容,卻獲得了HR的高度評價。

所以,當你實在覺得自己懷才不遇時,你又覺得自己很有才華,你可以硬寫,創造一個場景,把你的構想寫進去。比如說,你作為前端,覺得擅長 javascript 的底層原理,那你就可以寫 javascript 的底層是怎麼樣的,你怎麼理解的,你如果擅長CSS的佈局體系,你去總結一下。

心得就當寫一篇部落格文章,大家很少在履歷上寫心得,其實非常有效。當你既沒有成就也沒有案例時,這可能就變成你唯一的依賴了。

2 面試的目標

我們要明確面試的目標是什麼。很多人的面試目標是:透過開心,不通過不開心。

我們真正目標的面試目標應該是:通過且合適或不通過且不合適為開心,通過且不合適或不通過且合適為不開心。

透過不合適的情況,仔細想想會很可怕:例如試用期離職,會是你履歷裡很不好看的一點,或者你一直處於高壓工作體驗,一定是不愉快的結局,影響危害可怕。不通過且合適,危害小一些,最大問題浪費機會,無論是大家花時間準備面試,還是招聘方安排面試,不通過且合適的結果對雙方而言非常痛苦。

3 理解面試評價方式

明確了標準後,我們先講一講具體的面試過程:大家要理解面試的評價方式。

很多人往往會用同一種心態去對待面試和考試,其實兩者間有非常大的不同。考試得分規則:每題得分,總分相加。面試,完全不一樣,在於評價方式是根據整體印像作出,很多問題不答都沒關係,反過來說,一個回答都有可能決定最終結果。

我們內部做結構化面試評估方案時,我們會有一些特殊的問題:比如說有一些項呢,是直接一道題就pass掉,有的,直接拒絕,比如說,發現你的回答裡面,有試圖欺騙面試官的行為,基本後面表現再好,面試結果也是不通過。

3.1 理解面試評價方式:表達方式

另一點,是表達方式,也會影響最終對你的評價,其實,不只是結果會對最後的面試成績產生影響,比如說同樣一件事,如果用STAR原則描述,那麼會比你直接描述過程和結果有說服力得多。

過程很重要,很多人關心演算法題,其實演算法題你最後做不做得出來,可能不是關鍵因素,你是不是有努力分析才關鍵。

例如,演算法題最常見的分析手段是:我要算100個數,我先把1個2個數的case,手工一個一個去分析看一下。這個過程有兩個正面因素:一是你在思考,能找到思路,二是你能收到很多面試官給你的討論和提示。

很多人描述問題的能力,讓面試官很頭痛。面試官問:你怎麼做前端的發布呢?有人答:我就開發一個發布系統。一句話就打發了,那就讓面試官非常頭痛。

回答問題不要太抽象,你以為面試官聽得懂,實際上我想知道你具體做了哪些發布系統,你是怎麼設計的,設計和實現的難度都在哪,如果你總是抽象,面試官很累,負責的會多問幾句,不負責的可能就這樣過去了。

3.2 理解面試評價方式:問題

第一,知識型問題直接答就行,如果不會就直接說不會,如果面試官問了20個問題,有18個問題,你一定就被淘汰了,如果問了10個問題,你就1個不會,基本上也沒什麼關係,除非這是對你的崗位非常非常重要。

第二,開放性問題,建議大家調整心態,當作一場演講。

例如這道開放性問題:你都知道有哪些HTML的標籤,能不能說一說他們的語意是什麼?

面對此題,我很希望應徵者把自己珍藏的干貨,知道的最有意思的標籤,一些邊邊角角的問題能夠講出來,體現自己的水平,或者是將一些普通的標籤能夠把它的語意理解得非常到位,能夠說出一些標準裡舉的例子,或者自己業務裡舉的例子,這道當面試官講開放式問題時,他希望你能當作一場演講來發揮。

第三,個案分析問題,這類問題是必答,不存在不會的情況,只存在拒絕回答的情況。比如說面試官為你設計了一個場景,他是希望你一步步引導最終做出來,一般來說,面試官會保證給出很多提示,最終解決問題,如果你最開始就放棄,那麼等於放棄面試。

最後,說一下大家都很關注的演算法和程式設計題,前端需不需要考演算法?其實有時候我覺得不太好區分,什麼叫演算法什麼叫編程,從演算法定義來看,所有的編程式都是在用演算法,只是是否用到經典演算法而已,大家可以理解難的是演算法題,簡單是程式設計題,如果說難易,演算法題和程式設計題因人而異。

我面試前端工程師出的都是程式設計題,像是冒泡排序,這應該不算演算法題。我想跟大家說的是,對你職涯發展有長線規劃的公司,會更注重你的程式設計和演算法能力,在我自己的求職過程中,可能更希望公司注重我的演算法和程式設計能力。

3.3 理解面試評價方式:不會的狀況

面試中遇到你不會的狀況該怎麼辦?最直接的做法就是,告訴面試官,你不會,大部分問題其實不一定需要回答,從我參加的面試和我作為面試官經歷的面試,我的經驗是如此。你可以對問題做一些分析,或者是要求、等待提示,另一個常見做法是,談一談與問題相關的,如果面試官問你HTTP 碼404 是什麼意思,假設你記不清了,你可以回答500、501是什麼意思,不過在此之前,可以先回答,我記不住404了,你的坦誠會給面試官留下深刻的印象。

3.4 理解面試評價方式:爭論的情況

最後介紹一種情況,非常少見,對應聘者壓力很大:和麵試官產生爭論。

不要拂袖而去,面試官可能故意給你爭論,試著一些壓力考核。解決方案不是你堅持己見,而是你嘗試論證,當你從最基本的結論,找出雙方認知的共同點,逐步給出論證過程,逐步分析推理結論,你們有可能達成共識。

舉個例子,javascript 是基於物件不是物件導向這句話,當然是錯的,因為javascript 在標準裡面寫了是物件導向的,如果你說出這句話,我更關注的是你怎麼去理解這句話,對你來說,物件導向的定義是什麼,基於物件的定義又是什麼,是javascript 的哪些特性讓你覺得他是基於物件而不是物件導向。

如果你這句話是單純從某本書上看到的,沒有經過自己的思考,我一定認為你這題答錯了。如果你有自圓其說的過程,我會給予正面評價,因為你在這個期間,經過了一些自己的思考。

井鐸鐸:從面試官角度談,如何甄選前端工程師?

我要分享的是:1.履歷篩選與溝通2.面試環節設計3.軟技能考核4.候選人實力上下限判斷

1.履歷篩選與溝通

作為面試官,會先快速閱讀:相關經驗、公司經驗、教育背景等資訊

相關經驗依照STAR分析法,公司經歷主要是否是互聯網公司,是否一線互聯網公司,如果有經歷,一定要寫,因為做事差別很大,有的是傳統開發模式,有的是MVP開發模式,有的是結果導向有的是過程導向,同時要關注候選人做過的事情,是面向互聯網用戶的還是面向公司內部用戶的,因為面向互聯網用戶更關注用戶體驗這些細節部分,後者則更強調通用性、拓展性,以及開發效率。

教育背景主要作為參考。

對候選人來說,自己的職責、做的事情、取得的成績一定要寫清楚,說白了目的性要強、重點要突出,要讓面試官很快能把握到:你的公司技術堆疊什麼樣的,前後端合作模式什麼樣的,你取得的成績是業績,指標提升了,還是效率提高了,能快速把握你的亮點。

2.面試環節設計

第一點,面試過程中有哪些必須的"坎"

#面試官會有一份大綱,形成一套自己的標準化面試,如面試不能太隨意,都是要帶著目的來問的,從面試官角度來看,候選人在你心中會有初步印象,接下來就是設計問題求證的過程,設計問題是有套路的,比如說js的基礎知識、css的基礎知識,是框架還是性能相關的,一定要具體,考察細節問題,最好圍繞簡歷中的一些亮點,讓候選人打開話匣子,講到更多細節。

那麼開放型問題部分:提出有區分度的問題,能讓面試官區分出候選人答得是好的、一般的還是差的答案。

我一定會設計的:一般是技術堆疊的優缺點,主要是缺點,因為技術堆疊的優點比較容易答,像vue,很明顯,用它學習曲線比較平穩,雙向資料綁定,但問到缺點,很多人意識不到,例如在行動端首屏渲染耗時如何、多頁面應用解決。

除了電話面試,一般也會檢視一些思考邏輯問題,看這個候選人是否靈活

第二點,是否有需要候選人寫碼即coding的必要性。一般來說是需要的,前提是:先確保方案可靠,會引導或提示他到最優方案,再讓他寫程式碼。一般來說,有時候公司老大會推薦一些人過來,礙於面子會面試一下,所以一定會考察一下寫碼能力,有句話說得好,Talk is cheap,show me the code 。

面試一般三輪,加上人力面,採用審核委員會制,一面,二面,三面交換一下意見,每個面試30分鐘。

From the perspective of the candidate, the details must be clear, understand the purpose of the interviewer, what is to be investigated, and prepare well for the questions listed on your resume. When asking questions to the interviewer, clarify the questions first. Then give the implementation plan, and give its advantages and disadvantages based on the plan. Finally, do the coding. After coding, you have to test it individually and write outliers instead of throwing the answer directly to the interviewer.

3. Assessing ability

First, we will assess whether the candidate is a learning player or an experienced player, and whether he is smart. The great characteristics of a learning player are: being able to access a lot of new knowledge on their own, maintaining a basic focus on the latest knowledge in the entire industry, not only being able to summarize some problems themselves, but also learning something from others, who rely more on themselves The precipitation is better obtained from communication and learning. We look more at the level of intelligence, not just experience.

The second point is to assess whether the candidate has a strong sense of responsibility. It is very important. I ask the candidate to take a self-assessment after completing the questions. When it comes to balance and medicinal materials, many people give the results very quickly and leave it to you to verify. When you ask questions, the candidates also say: Isn’t it enough for you to do this? In fact, many times, candidates are expected to do their own self-tests.

The third point is communication skills. Can I understand you simply and be able to say what I want to express clearly? I hope the candidate can be both abstract and concrete. When you ask what the business is, you expect him to answer with a macro view. When you ask about the architecture, At that time, he knew what picture to draw.

The fourth point is cleverness and curiosity. I usually sit on the third page and ask the candidate to teach me something very complicated but I don’t understand.

The fifth point: leadership. Ordinary engineers still need to have the ability to mobilize other people. For example, if we have an engineer working on a performance optimization project, then he needs to coordinate the product side, app side, web side, statistics department, and data statistics department to complete the performance statistics requirements. , log sorting, log reporting, data analysis, data display, etc. Then we will have an interview outline, around which the interviewer can come up with his or her own questions

For example, write a URL parsing function, and at the same time test your knowledge of network protocols, regularity, js code design, and front-end and back-end collaboration

For candidates, it is important to have strong basic skills and good methods of doing things. The basic skills are up to you. Someone needs to teach you how to do things, and you have to summarize them yourself. I will also recommend two books. "Excellent Effective Managers" and "Google Model"

4. Judging the upper and lower limits of candidate strength

Last point: How to judge quickly The true strength of the candidate. Combining your resume and performance, you can determine the lower limit and roughly what level it is. Next, there are open questions, which are differentiated. For example, looking at ideas and solutions to solve performance problems, so as to judge the upper limit of candidates, combine the upper limit and lower limit, and finally obtain the true level.

Classic question: If you are asked to divide the level of js, how to divide it? Some people first know how to use the framework, secondly understand the framework principles and read the source code, and thirdly write the basic framework. If you ask again: What level are you at? Combined with the candidate's feedback, it is easier to deduce the candidate's strength.

For candidates, the essence of the interview is to show their true level and find a position that suits them. The essence of the interviewer is to find someone who works with them and is willing to work overtime at night.

Q&A

1.@winter: In addition to basic front-end technology, do you need to master algorithms? What requirements do major BAT manufacturers have for mastering algorithms, and to what extent do they need to be mastered?

A: For the front-end, the algorithm must be mastered to the level of being able to write a sorting. The interview will not only test the sorting, but also have several questions of the same difficulty. We also have a principle: when your achievements exceed the scope of the algorithm, we will ask questions based on your projects and cases, and will not specially set up questions to investigate. If it's CSS, in principle, we don't want everyone to position themselves as a certain engineer. Even our front-end responsibilities are constantly changing. If you confine yourself and say you are a CSS engineer, we Not recruiting.

For example, Da Mo is a well-known CSS expert in the industry. When he comes to us, he does more than just CSS. The general principle is that we look at the most glorious aspects of the applicant, and we are definitely not picking out the shortcomings. .

2.@京多多: Interviews with front-end engineers, front-end supervisors, front-end architects, front-end directors, and department directors require different requirements and characteristics as well as interview methods. Can you tell me about the current situation of big companies? Admissions strategy?

Front-end engineer: good basic professionalism and good work methods.

Front-end supervisor: Get things done, be able to train people, and be able to guide people.

Front-end architect: corresponding to Baidu T7, T8, Ali P7, P8, highly professional, expert in two to three aspects, sufficient breadth, able to solve problems in multiple business lines, and output is leading in the industry Influence.

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!