概述#

大多數公司的面試流程大同小異。了解各家公司的面試方式,有助於你調整準備策略與心態。

通用流程#

  1. 電話篩選(Phone Screen):通常是電話面試,有時是視訊。不要被「篩選」這個詞誤導——篩選面試往往也涵蓋程式碼與演算法題,難度可能與現場面試不相上下。

    • 若不確定是否會考技術題,可詢問 recruiter 面試官的職位(工程師通常會出技術題)
    • 部分公司使用線上同步文件編輯器,部分要求紙上作答後電話朗讀
    • 通常需通過 1–2 輪電話篩選才能進入現場面試
  2. 現場面試(On-site Interview):通常包含 3–6 場面試,其中一場通常是午餐面試,氣氛較輕鬆,面試官通常不提交評分,適合詢問公司文化。其餘面試以技術為主,涵蓋程式碼、演算法、系統設計/架構,以及行為/經驗問題。

  3. 決策流程:面試後,面試官會以某種形式提交意見。有些公司讓面試官共同討論,有些則由面試官分別向 hiring manager 或 hiring committee 提交建議,再做出最終決定。

若超過一週沒有收到消息,應主動聯繫 recruiter。不回覆不等於被拒絕——recruiter 也會忙碌和忘記。延遲是常有的事,主動跟進是合理的。


The Microsoft Interview#

Microsoft 重視聰明、對技術充滿熱情的人。你需要在白板上寫程式,但不會被考 C++ API 的細節。

流程#

  • 抵達後填寫初始文件,並與 recruiter 進行簡短面談(recruiter 通常是幫你緩和緊張的人,而非主考官)
  • 一天內完成 4–5 場面試,通常跨兩個不同團隊,面試在各自的辦公室進行
  • 若某個團隊對你滿意,可能會見到 hiring manager(通常稱為 “as app”,即 as appropriate)——這是個好兆頭,代表你通過了該團隊的面試
  • 不同面試官是否互相分享意見,視團隊而定

一定要準備:「你為什麼想在 Microsoft 工作?」

好的回答要展現對技術的熱情。例如:「我長期使用 Microsoft 的產品,最近在用 Visual Studio 學習遊戲程式設計,其 API 設計令我印象深刻。」重點是展現真實的熱情。

獨特之處#

  • 如果你見到了 hiring manager,代表你通過了關鍵門檻——那已經是個好信號
  • Microsoft 給各團隊較大的自主權,因此不同團隊的體驗可能差異顯著

The Amazon Interview#

Amazon 的招募流程通常從電話篩選開始,由特定團隊的工程師進行,要求在共享文件編輯器上寫程式碼。偶爾有兩輪電話篩選,可能代表面試官未被說服,或正在評估你是否適合不同團隊。

流程#

  • 飛往西雅圖(或相關辦公室)進行 4–5 場現場面試,與 1–2 個團隊面試
  • 必須在白板上寫程式碼
  • 每位面試官被分配到特定的考察領域,且在提交自己的評估前,無法看到其他人的評分

Bar Raiser#

Amazon 有一個獨特的角色——Bar Raiser

  • 來自不同團隊的資深面試官,接受過特殊訓練
  • 負責跨組面試,以維持整體招募水準,避免團隊為了填補職缺而降低標準
  • 擁有一票否決權
  • 若某場面試感覺特別難且與眾不同,那很可能就是 Bar Raiser

一定要準備

  • 可擴展性(Scalability):Amazon 極度重視規模化,務必準備系統設計與擴展性問題
  • 物件導向設計(OOD):Amazon 經常問 OOD 題目

獨特之處#

  • 你需要同時讓 Bar Raiser 和 hiring manager 都滿意
  • Amazon 比其他公司更頻繁地實驗和調整招募流程,實際體驗可能與上述有所不同

The Google Interview#

Google 面試流程與 Microsoft 或 Amazon 相差不大,但有其獨特的決策機制。

電話篩選#

  • 由 Google 工程師主導,技術標準相當高
  • 可能涉及程式碼(有時透過共享文件)
  • 候選人在電話篩選與現場面試中被要求達到相同水準

現場面試#

  • 通常 4–6 場,其中一場是午餐面試,不提交評分,可輕鬆詢問公司文化
  • 面試官之間保持評分機密,每場面試都以空白狀態進行
  • 面試官沒有固定考察主題,每位面試官可自由決定考察方向

決策流程#

  • 面試官提交書面評分給 Hiring Committee(HC),HC 通常不包含任何你的面試官
  • 評分維度:Analytical Ability、Coding、Experience、Communication,綜合評分 1.0–4.0
  • HC 希望至少有一位面試官是「熱情支持者(enthusiastic endorser)」,例如 3.6、3.1、3.1 和 2.6 的組合,比全部 3.1 更有力
  • 若 HC 建議 offer,還需通過 Compensation CommitteeExecutive Management Committee 的審核,整個過程可能需要數週

一定要準備

  • 系統設計與可擴展性:Google 是 web-based 公司,系統設計是重點
  • 演算法能力:無論你有多少年經驗,Google 對演算法能力非常重視

獨特之處#

  • 面試官不做最終決定——他們只是提交意見,由 Hiring Committee 決定。HC 的建議極少被 Google 高層推翻。

The Apple Interview#

Apple 的面試流程以「極少官僚程序」為特色,但對技術能力的要求同樣極高,同時非常重視對職位和公司的熱情

流程#

  1. 招募電話:由 recruiter 進行,了解你的基本技能
  2. 一系列技術電話面試,由團隊成員主導
  3. 到 Apple 總部後,recruiter 介紹流程,接著進行 6–8 場面試,與團隊成員及跨部門合作的關鍵人員進行
  4. 面試形式混合一對一二對一,需在白板上寫程式碼,並清楚說明你的思路
  5. 午餐與未來可能的直屬主管一起,氣氛較輕鬆但仍是面試

決策流程#

  • 一天接近尾聲時,面試官彼此交換意見
  • 若仍對你感興趣,將與部門 Director 和 VP 進行非正式面談——能到這一步是好兆頭
  • 最後,所有面試官齊聚討論,給出正式的 thumbs up 或 thumbs down;VP 即使不在現場也可以否決錄取

一定要準備:若你知道要面試哪個團隊,務必深入了解那個產品——你喜歡什麼?你會如何改善它?具體的想法展現了你的熱情。

獨特之處#

  • Apple 經常進行二對一面試,不要因此緊張——本質上和一對一一樣
  • Apple 員工普遍是狂熱的 Apple 粉絲,你在面試中也應展現同等熱情

The Facebook Interview#

Facebook 在技術面試中追求的是有創業精神、能快速打造產品的工程師。

流程#

  1. 1–2 輪電話篩選,涵蓋技術題,通常使用線上文件編輯器
  2. 電話篩選後,可能有一份回家作業(homework assignment),混合程式碼與演算法,注意程式碼風格
  3. 現場面試主要由其他軟體工程師主導,hiring manager 在有空時也會參與;所有面試官都接受過完整的面試訓練,與誰面試不影響你獲得 offer 的機率

角色分工#

每位面試官在現場面試中被分配一個「角色」,確保問題不重複且能全面評估候選人:

  • Behavioral(“Jedi”):評估你能否在 Facebook 的環境中成功。你是否符合公司文化與價值觀?你對什麼事情充滿熱情?如何面對挑戰?此輪也可能包含程式碼題。
  • Coding and Algorithms(“Ninja”):標準的程式碼與演算法題,設計為有挑戰性,可使用任意程式語言。
  • Design/Architecture(“Pirate”):後端工程師會被問系統設計題,前端或其他專業則被問相關領域的設計題,需公開討論不同方案的取捨。

通常有兩輪 Ninja 面試和一輪 Jedi 面試,有經驗的候選人通常還會有一輪 Pirate 面試。

決策流程#

  • 每位面試官先獨立提交書面意見,再互相討論,確保各場面試結果不互相影響
  • 之後面試官與 hiring manager 共同討論,達成共識後向 hiring committee 提交最終建議

一定要準備:展現你能快速打造優雅且可擴展的解決方案,使用任意語言均可。Facebook 不特別要求 PHP 知識,後端工作也大量使用 C++、Python、Erlang 等語言。

獨特之處#

Facebook 是針對「整個公司」而非特定團隊招募工程師。若錄取,你將參加一個為期六週的 bootcamp,協助你熟悉龐大的程式碼庫,並獲得資深工程師的指導。最終,你在選擇專案上的靈活度會比面試時被分配到固定專案更大。


The Palantir Interview#

與 Facebook 等「集中招募」模式不同,Palantir 針對特定團隊招募。你的申請有時也可能被轉介至更適合的其他團隊。

流程#

  1. 兩輪電話面試(每輪 30–45 分鐘),主要是技術題,聚焦在演算法,也會涉及你的過往經驗
  2. 可能收到 HackerRank 程式測驗,評估最優演算法與正確程式碼的能力(在學學生較常遇到)
  3. 通過後受邀至現場,與最多五位面試官進行面試,涵蓋過往經驗、相關領域知識、資料結構與演算法、系統設計
  4. 可能有機會觀看 Palantir 產品 demo,建議積極提問並展現對公司的熱情
  5. 面試後,面試官共同與 hiring manager 討論你的回饋

一定要準備

  • Palantir 以題目難度著稱,許多候選人反映比 Google 等公司更難
  • 務必把核心資料結構與演算法學透徹,並準備最難的演算法題
  • 若應徵後端職位,也需準備系統設計

獨特之處#

Palantir 的 coding challenge 是流程中的常見環節。雖然你在自己的電腦上完成,也可以查資料,但不要輕敵——題目可能極具挑戰性,演算法效率會被評估。建議在 HackerRank.com 上多加練習。