AI 工程師系統設計面試實用指南
作者 Aaron Cao · 更新於
它要求你端到端地設計一個機器學習系統:資料與特徵、訓練與評估、服務與延遲、監控與漂移。近期的面試輪次大量傾向於檢索增強生成(RAG)與模型服務。評分標準是你能否為自己的權衡取捨辯護,而不是是否給出唯一正確的架構。
這一輪到底在考察什麼
第一次聽到這種題目時,它聽起來廣泛得離譜:設計一個推薦系統,或者設計一個基於公司內部文件的聊天機器人。本節要說明面試官到底在給什麼打分,這樣「範圍太廣」就不再是問題本身。簡而言之,他們評的是你能否把一個模糊的產品需求,轉化為一個帶有具體數字的系統。
四件事決定了大部分分數:
- 範圍界定。在動筆之前,你是否會問清楚使用者是誰、每秒查詢量是多少、什麼樣的品質標準才算成功?
- 資料判斷力。訓練資料從哪裡來,如何標註,訓練與服務之間又會洩漏什麼?
- 評估。離線指標加上線上護欄。沒有評估方案的答案,無論架構多漂亮,聽起來都像是初級水準。
- 正式環境意識。延遲預算、每次請求的成本、重新訓練節奏,以及模型出錯時會發生什麼。
反覆出現的題目類型
五類題目涵蓋了大多數 AI 工程師系統設計輪次:
- 基於私有文件的檢索增強生成。分塊策略、embedding 模型選擇、向量索引、重新排序,以及當檢索結果毫不相關時該怎麼辦。
- 大規模模型服務。批次處理、量化、讓 GPU 保持忙碌、快取,以及你在範圍界定階段就承諾過的 p99 延遲目標。
- 推薦或排序。候選生成再排序、特徵存放區(feature store)、訓練與服務偏差(skew)、冷啟動。
- 特徵管線。串流處理對比批次處理、時間點正確性、回填。
- 代理式(agentic)工作流程。工具呼叫、步數上限、成本上限,以及人工何時介入。更完整的題庫請見面試類型一節。
這些題目每一個都有一個面試官在等你說出的難點。對於檢索,難點是評估——幾乎所有人都能說出一個向量資料庫的名字,但很少有人能說清楚該如何衡量檢索是否真的變好了。對於服務,難點是成本與延遲相對模型大小的權衡。
一套能撐過 45 分鐘的答題結構
把最初的五分鐘花在需求和數字上,並把它們寫在面試官能看到的地方:每秒查詢量、可接受的延遲、品質標準、預算。之後的一切都要回指這四個數字,這正是讓答案聽起來像工程而不是工具巡展的關鍵。
接著做到廣度優先:畫一張圖,包含資料來源、離線訓練、產出物儲存(artifact store)、服務路徑和回饋迴路。等整幅圖都出現之後,再進行深入探討,並且把選擇哪個元件的權利交給面試官。最後,說出兩種失效模式,以及你會監控什麼來捕捉每一種。
一位應徵某搜尋公司高階職位的機器學習工程師,被要求為支援工單設計語意搜尋。她用四分鐘做範圍界定,承諾 200 毫秒的 p95 延遲、並設定固定的每月推論預算,然後用這兩個數字否決了一個大型重新排序器,轉而選擇在前 50 個候選項目上使用一個小型交叉編碼器(cross-encoder)。被打分的是這個權衡取捨本身,而不是模型的選擇。
即時助手在設計輪次中能幫上什麼忙
系統設計既要說也要畫,所以在這一輪裡,助手能幫的忙比其他輪次少。它能做的,是把清單一直留在你面前。SubcueAI 會監聽會議音訊,並在本機懸浮層上給出結構:你還沒問到的範圍界定問題、被你跳過的評估部分、值得指出的失效模式。macOS 與 Windows 上的桌面應用程式會同時擷取系統音訊和你的麥克風;瀏覽器擴充功能的側邊欄只擷取會議分頁的音訊,因此它只聽得到面試官,不會轉錄你說的話。沒有任何機器人會加入通話。
在這一輪裡,限制條件比大多數輪次都更重要。如果你正在分享螢幕來畫圖,懸浮層也在你分享的畫面之內。有監考的測驗和公司託管的機器不在支援範圍內,也沒有任何工具能做到普遍不可偵測。助手同樣無法替你憑空構造被打分的架構判斷力。在模擬面試頁面上,針對 AI 面試官練習這些題目才能真正建立這種判斷力;懸浮層只是防止你在第 30 分鐘忘記評估這件事。