在HR眼中,一個合格的前端程式設計師是怎樣的?

智雲程式設計發表於2019-02-27

面試就像相親,除了考察面試者的硬效能力是否過硬,也得看緣分。緣分這一部分說實話就主要看面試官的主觀感受了.

以下內容是站在面試官的角度,來評判一個合格的前端工程師是怎樣的。

簡歷

有部落格或者 github 連結的一般都會去看看,內容好加分,內容差減分,甚至直接簡歷不透過。

日常工作中的思考

一般一開始我都會讓他介紹下做過的專案,然後在描述過程中找一些我覺得可以深挖的點來問,或者也會直接問他覺得做過的比較有技術挑戰或者有意思的事情,如果是現場面試的話可以讓他在紙上邊畫圖邊闡述。這部分如果是一些經驗比較豐富或者 title 是架構師、技術經理之類的面試者,可以把重點放在架構設計方面,讓他講講做過的技術方案,畫一畫架構圖,說說他的方案和一些市面上已有方案的對比,當時面臨一些選擇時的思考角度和評判標準等等。

程式碼能力

程式碼能力其實是核心能力,包括對思維邏輯和 JS 語言熟練度的考察。筆試題上的兩道程式碼題如果答得不是特別好的話(當然至少要能答出一題,兩題都答不出一般筆試就不透過了),可以跟他聊聊最佳化的思路,給一些提示,看看對方的反應。如果筆試題答得很好,在問一些其他問題的時候也可以順勢讓他再手寫實現一些東西。譬如:

問 JS 中函式內部的 this 指向問題,能答出誰呼叫就指向誰,就問問改變 this 指向的方法,能答出 call/apply/bind,就可以讓他手寫個 call 試試,哪怕他之前沒實現過,但結合自己之前說的“this 是誰呼叫就指向誰”和“call 可以改變 this 的指向”,也應該要能想到只要把函式賦值給 this 的第一個引數 obj,然後透過 obj 來呼叫該函式就可以令函式里的 this 指向 obj。
面試者熟悉 Vue 的話可以問問他 Vue 的資料繫結原理,一般人都能答出 defineProperty 和觀察者模式(訂閱釋出模式),那就讓他描述下觀察者模式,能描述出來的話就可以讓他實現一個 Observable 構造器。

當然有很多東西可以讓他寫,因為我們不是要招什麼演算法大牛,不用找艱深的演算法題給人家做,最好就在問問題的過程中順勢找一些需求讓他實現下。也可以是一些具體的場景題,譬如問到節流防抖什麼的,可以找個實時搜尋的例子,讓對方實現下 debounce,就算對方沒聽過節流防抖這樣的概念,具體的場景描述清楚了,也應該有正確的思路能實現出來。

框架相關和 JS 基礎

一般面試者的簡歷裡會寫一點他擅長的東西,寫到什麼就問什麼,儘量由淺入深地問。譬如他說熟悉 Redux,那可以問問他們專案裡是怎麼用 Redux 的,用過哪些 Redux 中介軟體,對中介軟體的實現機制有沒有了解,你覺得哪些場景是真的適合用 Redux 的,對 Redux 的實現原理有沒有了解……以我的面試經歷來看,很多人寫著熟悉 Redux,其實只停留在“用過”。

然後 JS 相關的話,如果他簡歷上有寫,閉包啊原型鏈啊一些 ES6 的特性,像什麼 Promise/Proxy 這些都可以問問。如果簡歷比較單薄的話,也可以直接問他比較擅長的是哪方面,然後儘量問一些相關的東西。

技術廣度

主是一些“前端”領域外的知識,這部分不強求,簡歷上如果有的話我會問一問,主要是看看主動學習能力以及對技術的興趣。

軟技能

面試過程中其實是可以看出一個人的溝通能力和大致的工作態度的,在問專案的時候可以問一些跟人合作相關的事情,如何推動自己的專案落地之類的。還有就是面試的時候適當緊張是可以理解的,但有一些同學,明明簡歷很不錯,從部落格和 github 上看也很好學,但是特別緊張,話都說不利索,我一般也不會過……畢竟心理素質和抗壓能力也是工作中必不可少的部分。

最後

面試不是考試,面試的過程無非是在交流中讓面試官認可面試者的能力。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2637090/,如需轉載,請註明出處,否則將追究法律責任。

相關文章