作者tonit (tonit)
看板Tech_Job
標題[面試] 美國科技公司面試分類
時間Thu Dec 17 08:22:41 2015
原文分享於臉書,經版上d 大鼓勵,在此拋磚引玉,希望能將台灣美國求職資訊同步。
---
從新創公司到軟體巨擘,不同公司對初階軟體工程師的面試粗分三種:
1. Conversation
經驗交流面試,主要考察求職者過往經驗與公司目標是否契合。
這類公司通常專注於一個產品,需要大量的背景知識才能上手,比方說做光場相機的Lytro, 增強實境的Magic Leap, 虛擬實境的Oculus。面試官並不在乎求職者會不會反轉二元樹,他在乎的是對電腦視覺的基礎、對C++ 的理解程度、以及對電腦視覺函式庫的熟悉程度。
這種面試幾乎沒有速成模式,基本上通過履歷篩選拿到面試的,應該都具備相關的專案經驗,就是看經驗的深度廣度有沒有達到公司徵人的門檻而已。
2. Whiteboard Interview
白板面試,主要考察求職者解題與分析能力。
這類面試在我求職過程中佔了大宗,Google, Facebook, Uber 等幾乎你能想得到的公司都是進行白板面試。一個白板面試的基本流程就是考官給一道題目,受試者在白板上寫下自己的答案。面試官考察受試者在沒有語法高亮或是編譯、直譯器等補助工具的環境下,從思維上怎麼解決題目,並分析解法。
題目包括 a) 演算法 b) 物件導向程式設計 c) 系統設計,每間公司的出題偏好不同。Google 只考演算法,Facebook 考演算法和物件導向程式設計,Uber 三個都考之外還加behavior questions。其中,Uber 會讓你在電腦用熟悉的環境編程,但與面試官的交流不出白板面試的框架。
此類面試是可以速成的,大家常說的「刷題」,就是增進白板面試的能力。
3. Pair Programming
結隊編程面試,主要考察求職者內化的編程習慣與反應能力。
同樣是給一個程式問題,面試官與受試者,一人一副鍵盤,坐在同一台電腦前一起解決問題。與白板面試不同的地方在於,面試官就不好意思出一張嘴說 ``I don't know. You tell me.'',雙方必須在程式碼上面做交流。
三種面試中,我最喜歡這種,受試者也可以在一起編程的過程中更了解面試官。不過也許是成本過高,此次面試只有Square 是採用這種模式。
此類面試速成難度較高,但是可以準備的。我認為遵循物件導向的原則,多實作簡易的類別,能提升現場寫程式碼的品質。
---
面試前,不仿先了解即將面試的公司採用哪種面試模式,針對性準備。受限於個人經驗,一些未經琢磨的想法,歡迎分享討論。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.241.67.148
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1450311766.A.80B.html
推 badd0706: 推推推!! 12/17 08:39
→ sc1: 鄉民只想知道學歷薪水報價是否假職缺 12/17 09:02
推 WenliYang: 推推推 大家都急著出去找 受用了 12/17 09:23
推 physicsdk: 這篇太讚了! 感謝分享! 12/17 09:29
推 heinztzeng: 難得好文 12/17 18:30
推 childlike12: 感謝分享~ 12/17 23:05
推 s755369: 優文 怎沒人推? 12/18 16:17
→ expiate: 有身分嗎? 12/18 21:13