技術面試怎麼準備:把時間花在真正決定結果的地方

· 9 分鐘閱讀

大多數工程師準備技術面試的方式是刷演算法題,因為那是唯一有計分板的部分。可是對中高階職位來說,演算法剛好很少是沒過的原因。下面是時間真正該花在哪裡。

一場面試流程到底由什麼組成

典型的流程是四到六關:一到兩關程式、一關系統設計、一到兩關行為面試,通常還有一關和用人主管的對談。職位越高,設計關和行為關的比重就越壓過程式關——程式夠用也能拿到 offer,但在取捨上含糊其辭就拿不到。公開的例子落在這個區間的下緣:Amazon SDE II 的面試是四場 55 分鐘、至少一道系統設計題;Meta 的完整面試由程式、設計和行為面試組成,每場 45 分鐘。

所以和現實相符的分配大致是:中階 40% 程式 / 35% 設計 / 25% 行為,資深比較接近 25 / 45 / 30。而幾乎每個人實際做的是 90 / 5 / 5。

演算法:練模式,不是練數量

三百題是個錯誤的目標。涵蓋絕大多數面試題的模式大約只有十五個——雙指標、滑動視窗、對答案二分搜尋、BFS/DFS、拓撲排序、heap、區間、前綴和、回溯、序列型動態規劃、並查集(union-find)、單調堆疊、Trie、位元運算、圖的最短路徑。

每個模式寫五六題,然後用一句話寫下「什麼訊號告訴你該用它」。「排序好的陣列 + 目標和」→雙指標。「無權圖求最短路徑」→BFS。被考的能力是辨識;模式一旦選對,寫程式就是機械勞動。

一邊寫一邊講。程式關卡沒過最常見的原因不是答案錯,是沉默。面試官打的是你推理的分數,而他沒辦法替他聽不到的東西打分數。在你動手之前,講出你在考慮什麼、為什麼否決了另一個方案。

系統設計:要有一條每次都能走的路

這一關的失敗模式不是不懂,是沒有章法——四十五分鐘消失在某一個角落,廣度從頭到尾都沒露出來。每次都走同一個順序:釐清需求和規模、勾出介面、勾出資料模型、畫出整體元件,然後在面試官追問的那一兩處深入,並把取捨講出來。

比較長的版本寫在系統設計面試框架裡。核心只有一句:結構比知識拿分,因為結構才是能帶進工作裡的東西。

行為面試:工程師準備最少的一關

工程師把這一關當成閒聊,但它不是——職級常常就是在這裡決定的。「資深」是靠關於模糊地帶、意見衝突,以及你刻意沒做的事情的故事來證明的,不是靠再多一題演算法。

準備六個 STAR 結構的故事,其中至少兩個是你願意為之辯護的決定,一個是真實的失敗。說「我」,不要說「我們」——一個關於團隊的故事,功勞會記在團隊頭上。

先搞清楚你會被放進什麼制度裡打分數

讀職缺描述裡的技術棧和業務領域,再查一下這家公司的面試流程怎麼跑——Google、Meta、Amazon 這些大公司都公開了自己的流程。這十五分鐘,會改變你六個故事裡該講哪兩個,以及你用哪個語言寫程式。

可以直接跳過的東西

  • 背語言細節。沒有人會問一個資深工程師 slice 的預設容量是多少。
  • 冷門演算法。如果一道題需要一個有名字的定理,它就不會出現在四十五分鐘的關卡裡。
  • 逐字背答案。背好的句子在第一次被打斷時就垮了;背好的結構不會。

到了面試當天

準備給你的是素材;面試本身仍然發生在即時、有壓力,而且常常是早上九點的情況下。Interview Copilot 聽著面試官講話,在他話一講完時就把答案放到你的螢幕上——開通 Pro(25 美元 30 天,一次付款,不自動續訂)後,內容會依照你自己的履歷,所以例子是你的;螢幕上的程式題它可以直接讀取。在 macOS 和 Windows 上,它的視窗不會出現在 Google Meet、Zoom、Teams 的螢幕分享裡;Linux Beta 版暫時不支援這一點。免費版包含 5 分鐘即時辨識和 3 次截圖解題。

資料來源

註:Google 的面試建議頁面寫明,面試期間不允許使用 Google 搜尋和 AI 工具。其他公司各有規定——在真正的面試中使用任何助手之前,先確認對方的規則。

FAQ

技術面試要準備多久?

對大多數人來說,是四到六週持續的練習:演算法模式、一條能一再走的系統設計路線,以及行為面試的故事。寫過多少題,遠沒有「三塊都涵蓋到」重要。

準備時哪些東西可以跳過?

冷門演算法、背下來的架構圖,以及大量「寫完卻從來沒講出聲」的題目。它們在面試裡都不會原封不動地出現,而且每一樣都在擠掉真正該練的東西。

哪一關最容易準備不足?

行為面試。工程師一再演練演算法,故事卻是臨場發揮;而事後招募委員會爭論的,往往正是故事,不是程式碼。

要刷幾題才夠?

把目標從數量換成模式:大約十五個模式涵蓋了絕大多數題目,每個寫五六題,並寫下辨識它的那個訊號。辨識才是被考的能力。

應用程式在這裡怎麼幫忙

相關文章

接著讀