精華區beta Tech_Job 關於我們 聯絡資訊
原文分享於臉書,經版上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