機器學習面試中會遇到哪些問題?

作者 Aaron Cao · 更新於

預期會有四類:基礎知識(偏差與變異、正則化、驗證)、評估(選擇哪個指標,以及原因)、應用建模(特徵、洩漏、類別不平衡),以及 ML 系統設計(訓練、服務、監控)。多數面試會從不同角度反覆探討少數幾個相同概念,因此深入理解比廣泛涉獵更重要。

機器學習面試實際上在考什麼?

機器學習面試流程通常比一般軟體職位包含更多輪次,而且每一輪會測試不同層面。了解該層面,就能知道面試官期待什麼樣的回答。

  • 基礎知識。關於學習、泛化與最佳化的理論問題。面試官想聽出你理解某項技術為何有效,而不是背誦定義。
  • 評估與實驗。指標選擇、驗證策略、離線與線上結果的比較,以及你會如何設計實驗來證明模型確實帶來幫助。
  • 應用建模。特徵工程、資料洩漏、類別不平衡,以及真實資料集中的棘手部分。這些問題經常圍繞你自己的某個專案來提問。
  • ML 系統設計。模型如何取得資料、如何訓練與重新訓練、如何提供預測服務,以及你會如何察覺模型在正式環境中的表現退化。
  • 程式設計。一道 pandas 或純 Python 題目,有時也會要求從頭實作 k-means 或邏輯斯迴歸等小型演算法。

面試中也會出現行為題,而且規則與其他職位相同;題庫主題會另行介紹這類問題。

依主題來看,哪些問題最常出現?

各公司的提問措辭不盡相同,但背後的問題會一再重複。請練習到能以淺白語言自然說明。

  • 偏差與變異:你會如何判斷模型是過度擬合還是擬合不足,又會先改變什麼?正則化會如何影響模型?你會在什麼情況下選擇 L1 而非 L2?
  • 驗證:為什麼隨機切分訓練集與測試集,可能會對時間序列資料產生誤導性的分數?什麼時候需要分層或分組交叉驗證?
  • 指標:什麼情況下準確率不是合適的指標?請向產品經理解釋精確率、召回率與 ROC 曲線。你會為詐欺偵測最佳化哪個指標,又會同時監控什麼?
  • 資料問題:什麼是目標洩漏?你曾如何發現它?如何在不憑空製造資料的情況下處理嚴重的類別不平衡?如何處理遺漏值,避免模型意外學到資料遺漏本身的模式?
  • 模型:面對表格資料時,梯度提升樹何時會勝過神經網路?Transformer 的注意力機制實際計算了什麼?為什麼嵌入向量有助於處理高基數類別特徵?
  • 最佳化:學習率過高或過低時會發生什麼事?為什麼批次正規化能讓訓練更容易?
  • 系統設計:為市集設計一套推薦系統。部署後要如何偵測資料漂移?如何重新訓練模型,同時避免提供過時的預測?
  • 實驗:離線指標有所改善,但 A/B 測試結果持平;你會檢查什麼?

如果你能針對每一題,舉出自己工作中的一個具體例子,就已涵蓋基礎知識面試輪次可能考察的大部分內容。

應該如何口頭回答這些問題?

即使熟悉內容,在視訊通話中被要求解釋時仍然卡住,是很正常的事。本節提供一種組織口頭回答的方法;簡要架構是:定義、決策、例子、限制。

  • 定義先用一句淺白的話說明,再提任何公式。
  • 決策:說明你會在何時使用它,以及會改選什麼方法,因為面試官測試的是判斷力,而不是詞彙量。
  • 例子取自真實專案:資料集是什麼、出了什麼問題、你改了什麼,以及哪些結果有所變化。
  • 限制:說明該技術會在哪裡失效,這能顯示你曾充分使用它,並看過它失敗的情況。

一位應徵市集公司 ML 職位的資料科學家,被問到為什麼她的排序模型在線下表現出色,卻未對 A/B 測試產生任何影響。她依照四個步驟回答:什麼是離線與線上結果的落差、為何日誌資料中的位置偏差造成她遇到的問題、她新增了哪種反事實評估,以及這種評估只在日誌記錄具備足夠隨機性時才成立的限制。這樣的回答比完美的推導更有價值。練習口頭回答正是模擬面試工具的用途;它會像真正的面試官一樣追問。

AI 面試助手能在機器學習面試中提供幫助嗎?

在對話形式的面試輪次中可以,但有其限制。SubcueAI 的原生 macOS 與 Windows 桌面應用程式會擷取通話的系統音訊和你的麥克風聲音,在 Zoom、Google Meet 或 Microsoft Teams 上聆聽面試官的問題,並透過只會顯示在你螢幕上的浮動覆蓋層,提供簡短的建議回答架構。如果通話是在 Chrome 或 Edge 瀏覽器分頁中進行,瀏覽器擴充功能的側邊面板只會擷取會議分頁的音訊,因此會聽見面試官,但絕不會轉錄你的聲音。兩種介面都不會以機器人身分加入通話,也不會在會議頁面中注入任何內容。如果你已上傳履歷,建議內容便能引用你自己的專案,而這正是 ML 回答取得高分的關鍵。

其限制與所有技術面試相同。受監考的程式測驗、居家作業,或在公司管理的裝置上進行的面試,都不在 SubcueAI 的用途範圍內;而共享畫面上的白板推導必須由你親自完成,因為分享整個螢幕會讓所有人看見覆蓋層。SubcueAI 創辦人 Aaron Cao 打造這個覆蓋層,是為了提示回答架構與詞彙,而不是逐字指示答案,因為 ML 面試官會追問每一項說法,借來的答案到了第二個問題就會露出破綻。兩種介面的設定方式都在教學頁面中;桌面應用程式與擴充功能之間的實際差異,則說明於比較頁面

常見問題

機器學習面試需要多少數學能力?

要足以解釋某種方法為何有效,包括梯度、機率與損失函數的形狀。除研究職位外,很少要求完整推導;通常能說明推導會呈現什麼,就已足夠。

ML 面試仍會包含 LeetCode 類型的程式題嗎?

通常會,至少有一輪。難度往往比軟體工程職位的面試流程低,而且更可能涉及使用 pandas 操作資料,或從頭實作一個小型演算法。

ML 面試中最常見的錯誤是什麼?

只回答定義,而沒有說明決策。面試官問的是遇到洩漏特徵或結果持平的 A/B 測試時,你會怎麼做;背誦課本段落並沒有回答這個問題。

我應該另外準備 ML 系統設計嗎?

是的。它有自己的一套詞彙:訓練管線、特徵儲存庫、批次與線上服務、漂移監控,以及重新訓練週期。練習一套端到端設計,例如推薦系統或詐欺偵測模型,直到你能在幾分鐘內把它畫出來。

SubcueAI 能協助完成 ML 居家作業嗎?

不能。居家作業是在安靜環境中離線完成的工作;SubcueAI 用於聆聽即時對話,並非為評量或受監考的面試環節而設計。

相關問題

← 更多關於 依職位與主題分類的面試問題