On interviewing front-end engineers 讀後感

此篇文章最近更新時間為2014-03-03 01:53:18 目前共有0篇留言

關於作者 - JosephJ

任職於 Faria。喜好戶外運動、2008 年 5 月完成「跑步環島」。對於新技術跟程式碼有著強烈的偏執狂。

文章出處:On interviewing front-end engineers簡體中文

Nicholas Zakas

一、業界對前端的錯誤認知

Michael Jordan and Baseball

Zakas 以自身到 Google 的面試為例,在矽谷的很多公司仍然以資工(Computer Science)所包含的概念、邏輯、演算法、資料結構作為面試前端工程師的主要題目。所以常會考 O-notation、heap sort、palindrome (迴文) 等跟前端工程師價值無關的題目。這是完全錯誤的。

作者在文章中也有舉 Michael Jordan 為例,如果有入團測試有項題目是「擊中時速 100 miles (約 160 公里) 的速球」以證明你是傑出的籃球員,這會是很荒謬的一件事。前端工程師雖然也是工程師,但卻是「專精某領域的專家」,唯有適當的題目才能反映出候選人的價值。

個人體驗

其實我幾年前也曾經跟 Facebook 的人資做過電話訪談,之後他有要求我去解一些 Puzzle,但這些題目大多與演算法有關,例如用喜歡的飲料來分配工程師的組別,或者是計算距離路徑等題目,這些題目真的很有趣,他們會有一連串的自動化 Unit Test 來驗證 Input/Output 的正確性、還有 Performance Test 處理時間。 但其實跟前端工程師所在意的使用者介面、用 HTML/CSS/JS 來解決問題,實際上是有大大的落差。

另外我最近在找工作,發現即使是美國大多前端的 Job Description 仍要求面試者需有 Computer Science 的背景,事實上已經證明有太多優秀的前端非資訊本科系出身(所以我都會自動忽視這一點 XD)

二、公司是否需要前端?

Full Stack

公司在草創初期,不太可能有太多資源,重點在於把東西做出來,所以需要的是全端工程師(Full Stack Engineer):一個人可以寫前端、後端、手機、還可以做服務的 Operation,這樣的角色並不需要是某個領域的專家,過去的題目與面試方法或許合適。但當公司成長後,需要的則是把東西做細、更適當的分工,如果仍然沒有正確的方式來尋找正確的人才,可能會碰到許多難以解決的麻煩。

個人體驗

這種麻煩我還沒體驗過,因為會找我過去的、都是需要成立前端的技術團隊,有經歷過適當前後端分工的工程師都會說:「有前端真是一件幸福的事」。它的確能帶來更正確的分工、增加維護性、每個人可以更發揮自己的天份

三、什麼是合適的面試問題?

Computer Science 的演算法與資料結構顯然不是定義成功前端工程師的題目。Zakas 的重點在於尋找有熱情與熱忱、用 HTML/CSS/JavaScript 來解決問題的人。他不會考「列舉三種可將文字置右對齊的方法」這種像是高中填鴨式的題目,而是問一些他自己在工作中所碰到的前端問題,從中了解面試者處理的方法及意願

個人體驗

從 Hedger 當時在 Yahoo! 給我面試的震撼教育,我就了解到重點不僅只於把東西做出來、背後的想法可能更重要,所以我在面試人時的題目都比較基礎:會跟他們討論為什麼這樣做、是不是有其他的作法、如果要更好還可以怎麼做?比起這些技術的東西,我或許更在乎討論到一些面試者沒聽過的東西時,他是否會眼睛一亮、讓我感受到他對於前端的熱忱。通常用這種方法,我都能找到很不錯的前端。

結語

先有雞還是先有蛋

台灣前端產業的問題可能更淺一點:有許多公司還在尋找好的 Front End Lead、再來成立前端團隊。都碰到了一樣的問題:市場小、有經驗的前端工程師不多。但我倒是覺得先用合適的方法(好好讀一下 Zakas 的文章、不要再拘泥於本科系、設計適當的面試題目)把對的前端工程師找進來,多給他們前端相關的工作、鼓勵他們多涉獵相關知識、做久自然就可以看出誰有承擔責任、擔任 Leader 的潛能。



暱稱: 必填。
Email: 非必填。若填寫為不公開欄位,僅供站長參考聯繫。
內容: 必填。限 255 個字元以內。
驗證碼:
送出

Facebook Comment