PTT評價

[心得] 北美灣區ML Engineer面試

看板Tech_Job標題[心得] 北美灣區ML Engineer面試作者
LeoMushroom
(LeoMushroom)
時間推噓87 推:92 噓:5 →:34

[幫友人代po]


[情緒篇]
8.6%,是我從2024年10月到2025年7月累積的成功率,如果扣掉2025年7月,那前9個月的成功率為0%。這段期間,我一共面試了35間公司,參與共14個virtual onsite,與約150位面試官與recruiter深入交流。最大的收穫,不是offer,而是即使感到挫敗、羞愧,還是逼自己直視那些錯誤——It’s OK to be 60% correct。
 
我心中的GOAT (Greatest of All Time) Roger Federer曾在 2024的Dartmouth College畢業演說中提到,在他1526場職業男子網球單打比賽中,他贏下了接近80%的比賽,但得分率只有54%。連世界上最偉大的球員,也只能在一半的情況下拿到一分。他說:「每一分都重要,但最重要的是,失敗後如何專注在下一球。」即便是 ESPN 年度十大好球,也只值一分。同樣地,我在面試中答錯了一題,也不過就是一題罷了。我不需要贏下所有面試,我只需要一間適合的公司。
 
我們很少去談論,每一個看似理性的職涯選擇背後,都有隱藏的情緒。很多違反社會價值觀的行為,往往來自沒被說出口的痛。舉個籃球迷可能都知道的例子,金州勇士球星
Jimmy Bulter在2024-2025賽季因「傷害團隊」被熱火禁賽。但在一次的記者會中Jimmy中說:”I want to see me get my joy back from playing basketball”,當時我並不以
為意,而今回首,那正是我的心聲。


我因嚮往「無上限的成長」,2022加入了早期新創。雖然名義上還是打工仔,但那段時間我真的享受著「為自己工作」的快樂。然而2024年,公司被一家S&P500公司收購,在無法認同老闆與母公司的決策方針之下,我開始了這段還沒「分手」就先「相親」的旅程。

這段歷程,更像是一次深度的自我對話。我從受害者心態、憤怒、不理解,到原諒、平靜,再到重拾熱情。這十個月裡,從一開始只想逃離,到後來真心想找「適合我的地方」。從懷疑「是不是我不夠好」,到意識到「這個面試官根本是菜雞,這間公司可能不值得去」。我從未預料到,情緒變化會這麼大地影響我面對未知的信心與反應。

這一路上,我遇到各種面試官。有些人只是對照 checklist 打勾勾、抓關鍵字;有些人對不同想法難以接受,只在乎問他擅長的題目。撇開專業技能不談,我學到一個最寶貴的技巧:提高面試官的參與感。如果面試官整場都像是在等下班,那麼溝通根本無從談起。此時保持正面、樂觀的態度,不只是幫助自己保持冷靜,也能幫助對方進入合作狀態。
像是說出這樣的句子:”I really want to understand this question. This is my
understanding. Can you elaborate?”這不只是技巧,更是一種日常也適用的情緒能力
——讓彼此保持在願意溝通與合作的狀態。


It’s OK to be 60% Correct

有很多聰明、有效的方法可以讓自己持續進步,但真正讓人停下腳步的,是情緒上的痛苦。而我最後體悟到的解方,是:成為自己的啦啦隊。

對我來說,面試最痛苦的部分不是題目多難,而是不得不正視自己的不足。無論是回想起當時答不出來的尷尬,或是聽錄音重播自己語無倫次的聲音,那種羞愧感常常讓我只想逃避。畢竟,我們大多數人都希望自己是聰明、有能力的,當現實中的自己不如預期,那種落差會讓情緒被無限放大。

對自己可以嚴格,但不必殘酷,在每次復盤的時候,我會先寫下自己有做對的地方。情緒價值,要由自己給自己。哪怕只是很小的亮點,也值得被看見。例如「今天遇到不會的問題時,我有先深呼吸、給自己時間平復情緒」,抑或是「我跟面試官開了一個小玩笑,讓我們都笑了起來」,這些微小的片段,累積起來,就是能量。甚至是:「我第一次聽到
QLoRA 的時候雖然不懂,但靠著推理,正確分辨出了 training 和 inference 的差異。」這些都是我進步的證據。

持續停留在「我不夠好」的情緒中,是無法長久撐下去的。每一次的失敗,我都試著從中提煉出心得。當我真正感受到自己有在進步,那股動力,就足以支撐我在面試了超過
100 小時、聽了無數次否定之後,仍能堅持下去。
 
剛開始面試時,我常常會在遇到不會的題目或忘記定義的那一瞬間,腦袋瞬間「當機」,彷彿進入了 0.2 秒的無量空處、領域展開。這種感覺不只發生在面試,在人生很多時刻也出現過。在與 career coach 和 ChatGPT 無數次的練習中,我逐漸發現,我長年以來的習慣——用最短時間給出完美答案。然而一場好的溝通,不是答題比賽,而是共同解決
問題的過程。


像是:”While the exact formula for [Concept] isn’t immediately coming to
mind, I can reason through its purpose and properties.”這種表達,不只是拖延時間的模板,更是一種在不確定中展現信心的方式。它讓我能爭取思考空間,同時也維持和面試官的節奏與對話。

不只是面試。人生中的各種關係,也是如此。你說出口的方式,可以影響對方的情緒,也能安定自己的內心。從「我不知道怎麼完美回答」轉向「我願意一起探索答案」,這就是我在一次次練習後,學會的情緒力量——It’s OK to be 60% correct.


[實戰篇]
2022 年各大科技公司大幅裁員後,我自己的觀察是,科技產業的職缺從低點逐漸回升,尤其是早期新創出現了大量獵人頭機會。至於各大科技廠,儘管仍有零星裁員,但招聘需求依然存在,只是競爭的強度明顯提高。身為一名 Machine Learning Engineer,在這個由 AI 主導的市場環境下,仍有不少面試機會。這次轉職期間,我主要面試的是中大型科技公司,也包括幾家當紅的 AI 新創(例如 A、O、X 三家)。在和不同面試官交流的過程中,我也明顯感受到資深工程師與新手在引導與溝通上的差異。

我的背景以 NLP、Dialog Management 和 LLM 為主。這類職位的面試大致可以分為六大類,我幾乎是全職躺平投入準備,以下是我根據自己實際準備的順序整理的實戰經驗。

1. Coding

1.1 Leetcode Style
我以 以Neetcode Roadmap的150題為主軸,加上各家公司leetcode高頻題為輔,前後(含重複)約練習了300題。整體體感是題目難度多落在 medium 區間,少數難題會涉及 DP 優化。基本上,只要當天的狀態不差,加上面試官的適度引導,都能舉一反三,剩下的就是運氣。

1.2 ML Coding
這類題目可能會要求你實作經典 ML 演算法(如K K-means)、資料處理或是cross
validation。相對困難的版本,會給一個dataset,要求在限定時間內建一個 text
classifier,建議事前準備好一套參考模板,即使只是 pseudo code,也能協助自己在壓力下維持清晰思路。

1.3 Project Debugging
隨著vibe coding興起,近期有些面試會給一整個 codebase,請你解釋特定模組的功能、找出bug或是改進的方向,這考驗快速理解與細節觀察力。我遇過最難的題目是 OpenAI
的 GPT Transformer debugging。建議從頭手刻 Transformer 模型一次,順便複習 ML
fundamentals。

2. Behavior
隨著資歷累積,behavioral interview 的比重會越來越高。即使工作幾年後,這些問題可能已經歷過,但若沒有事前整理,很難在壓力下有條理地表達。建議先列出常見題型,然後把實際事件、當下決策過程紀錄下來,才能有效還原脈絡。

以下是我最常遇到的題目
- Describe a situation where you had differing opinions from your
leadership/colleagues.
- Tell me a time when you were wrong about something. How did you handle it?
- Tell me a time when you had an unexpected deadline or project scope changes

3. ML & LLM Fundamental
這部分沒有捷徑,只能紮實讀書。最常見的問題依然是 Transformer 架構細節。

4. ML System Design
這是我最掙扎的一環。題目模糊、面試官不熟、時間緊迫,都是挑戰。這裡我學到三件事:

(1) 時間管理
工作中這類設計題往往要幾天才能討論清楚,但面試只有 45 分鐘。建議在前 5 分鐘內就釐清問題方向,問出有意義的問題,協助自己聚焦。另一個幫助我的是:思考「如果這輪結束後馬上要實作,我會怎麼下手?」這種 mindset shift,能幫助你在時間不夠、資訊不足時表達清楚優先順序與決策依據。

(2) 領域包山包海
根據我面試的經驗,系統設計大致可分為 search ranking 類型與 data collection 類型。但每個公司與團隊的任務都不同,就算都是 recommender system,有些是純文字,有些是 multimodal;有些是 social media 背景、有些則是 LLM agent 背景,如如何建 search index、如何收集 fine-tuning 資料並管理資料庫 table 結構等。

(3) 面試官態度
這是雙向的過程。當你連問三次,對方還是不懂你在問什麼,他們也會感到挫折。這時候我們能做的,是主動建立合作氛圍,展現誠意和好奇心。例如:「我很想理解這個問題,以下是我的理解……這是你想問的嗎?」這種說法不但幫自己爭取思考時間,也能拉近彼
此的理解落差。

我認為用 AI(例如 ChatGPT)模擬苛刻面試官,是非常有效的練習。我曾特別要求
ChatGPT 當一個情緒冷淡、刁鑽的面試官,幫助我在類似場景中更能控制情緒。

5. Project Deep Dive
這一環相對簡單,主要是根據履歷上的 project 挑選一到兩個深入探討。時間若允許,強烈建議準備一份簡潔清楚的 slide,能幫助你聚焦核心貢獻、提升說服力。最重要的是掌握對方理解程度,並來回確認是否跟上節奏。

6. System Design
即使是 ML Engineer,也偶爾會遇到偏 SDE 的系統設計題。我遇過三次,題目多半仍與 ML service 或公司業務相關,但討論重點更多在於如何處理 large-scale data,以及確保服務在整個系統 pipeline 中的連貫性。由於這並非我的主要專長,我通常只能依據基本原則解釋設計思路並做出合理取捨。通常會問這類問題的公司,面試流程比較
general,實際上還是在找非 LLM 背景的人。

7. Questions
這不用我多說。我的建議是預先準備 2–3 個通用問題,可以套用在所有公司/面試官身上。這在你對面試官沒太多興趣,或談完真的沒話題時,是很實用的保底選項,也能維持基本禮貌。


[Negotiation]
當撐過一關又一關的面試,終於拿到 verbal Offer 時,我原以為可以鬆口氣。但談
offer 是另一場需要勇氣的戰鬥。對我這種不喜歡麻煩別人、也不擅長與人拉扯的人來說,薪資談判是一門完全陌生的學問。但這一次,我試著當自己的CEO,把自己的情緒抽離出來,用策略也用真誠爭取一份符合自身價值的報酬。

一:讓Hiring Manager喜歡你。
比起 recruiter,Hiring Manager 是真正決定你價值的人。每當我接近 offer 階段,我都會要求再和 Hiring Manager 深聊一次,不只是釐清角色定位,也建立信任與連結。在對談尾聲我會問:”I see myself helping the team to grow. Do you feel
confident that we’re able to continue to grow, and I am part of your plan?”

這是一個關鍵問題,當對方說 “Yes”,也代表你在談判中已經有底氣爭取更好的條件。

二:不主動報價,讓對方先出牌
永遠不要自己先報期望薪資。這不只是因為可能報太低,也因為這樣才能保持談判的彈性。我通常會用下列話術延後報價:“I’m sure your company has a fair and
competitive structure. could you please share the salary range for this role?
”,只要 recruiter 認為你是 “winnable” 且真心有興趣,他們會願意報價、爭取預
算。

Recruiter 是受過談判訓練的專業人士,我們經驗和資訊都不對等,很容易就不小心說太多。對我來說,一個很有用的心法是:把這個問題想像成戀愛裡的經典情境題,像是對方突然問你:「欸你是不是喜歡我?」千萬不要馬上就傻傻地回答「是」或「不是」,而是先回:「欸你怎麼會這樣問?」或「你覺得咧?」——先觀察對方的態度,再決定要不要
表態。

(抱歉我的腦袋就是臭直男邏輯,但真的滿有效的)

這絕對不是要當渣男或渣女,而是在不破壞關係的情況下,找到雙方都能接受的溝通方式。談薪也是一樣。

三:理解recruiter 的談判話術
Recruiter 很常用一些 pushback 試圖讓你接受初始報價
-“We have other strong candidates in the process.”
-“We are hiring candidates for the product, not for the comp.”
-“This is already at the top of the band.”
事先準備應答的模板,不僅能穩住情緒,也能讓對方甚至是組上的人尊重你。

四:用總報酬思維換位思考
我在談判時也會主動拉長思考時間軸,避免只看第一年現金收入。例如: “I see this
role as a long-term move, not just a one-year decision. I want to make sure
the offer reflects both my current value and the long-term investment the
company is making in me.”,這種 framing 也讓對方知道我是在為 “共贏” 做準備
,而不是斤斤計較一時的報價差距。


五:書面確認
即使 recruiter 在電話裡說得再好聽,沒有白紙黑字都不算數。如果對方不主動把
offer 細節寫進 email,我也會自己寫信回覆確認,例如: “Hey, equity terms can
be complicated. I just want to make sure I captured everything we discussed
correctly. Here’s a quick summary — can you verify this is all accurate
before I share it with my partner?” 有時候 recruiter 不是故意不寫,而是想保留彈性或避免承諾,這時候自己寫 recap 是保護自己,也留有跟其他公司談counter offer的證據。

現在,我還是非常討厭這個過程,但我也從中看到自己的成長。有些技巧甚至可以直接應用在工作場域——當你需要與不同部門協調、談資源、談優先順序時,那種找到「讓雙方
都可以接受的模式」的能力
,就是我在經歷這些不適後得到的養分。


[後記]
這一年,是我與過去的自己對話的過程。自從公司被收購後,我長時間處於一種無法入眠的憤怒裡。直到時間弭平我的情緒,很多時候,我不是因為理性分析後覺得某些事不合理,而是因為情緒受傷了。

面對冷淡的面試官,我很容易從原本期待的合作可能,轉為內心被澆熄。其實我對自己的能力一直很有信心,也有很高的期待,但面試這件事,結果往往是非黑即白,不容易得到有意義的中間值或具體回饋。當你跟100多位面試官對談後,只收到拒絕信,很難不懷疑自己的選擇與價值。

所以,成為自己的啦啦隊,是我這一路上最大的學習。面試後能誠實說出「這一題我答得不錯」、「這個問題我反應得比想像中冷靜」,這些小聲音讓我繼續前進,也幫助我更接受自己的限制與階段。

事實上,回顧自己的經歷,前四年是在熱帶雨林做語音助理,後來加入早期新創並一路做到被收購,期間一直專注在 dialog system 和 LLM 應用。這樣的背景,讓我在與大型公司面試時,常常遇到推薦系統或通用問題,雖然我可以準備,但畢竟不是自己長期投入的領域,在短短 45 分鐘內,很難展現得比這些原本就在做推薦系統的其他 senior 更突出。這些失敗讓我痛苦,但也讓我漸漸接受:我不是不好,而是我們擅長的東西不同。

跟 Jimmy Butler 一樣,我也在尋找那份「重新享受工作」的感覺。

前陣子去 Petco Park 看台南 Josh 開球,無意間看到 Trevor Hoffman 的一句話:“
There is No Shortcut to True Success.” 那一刻滿滿的情緒湧上心頭。想起當年找實習時也對自己說過一句話:「太陽升起,笑著繼續努力。」

https://myppt.cc/rS7IM


--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.67.81 (臺灣)
PTT 網址
※ 編輯: LeoMushroom (111.240.67.81 臺灣), 08/09/2025 01:42:17 ※ 編輯: LeoMushroom (111.240.67.81 臺灣), 08/09/2025 01:49:38

eopXD 08/09 02:16推推

loesoo 08/09 02:23

polycrystal 08/09 02:32感謝分享!

HmmHmm 08/09 04:36推推

HmmHmm 08/09 04:37現在ML engineer 不是很搶手嗎 還這麼難喔

RouterHsieh 08/09 05:52樓上的有所不知,原po光是面試機會

RouterHsieh 08/09 05:52就已經屌打其他領域的人惹,

donkilu 08/09 05:52分享推 寫的非常棒

RouterHsieh 08/09 05:53我也是差不多的時間在找工作

donkilu 08/09 05:53我前陣子去Petco Park也有看到那個雕像XD

RouterHsieh 08/09 05:53但我的面試機會大概連原po的三分之一

RouterHsieh 08/09 05:53都沒有,乾.....

RouterHsieh 08/09 05:54然後非AI/ML領域的,

RouterHsieh 08/09 05:54不要說60% correct is OK啦

RouterHsieh 08/09 05:55沒有個90%甚至100%的話

RouterHsieh 08/09 05:55很大的概率就是謝謝再聯絡惹....

OldDaiDai 08/09 06:11推… 好鬼的感覺

PttDreaming 08/09 06:29好文推,當初就是先講出自己的期望

PttDreaming 08/09 06:29薪資,結果只拿到平均以下

final01 08/09 08:31半年有35個機會不知道在哭什麼

crusoe 08/09 08:45面試者如果有美國籍,機會肯定更多

y101814 08/09 08:46

jason3676093 08/09 08:47推!超級好文! 感覺的出來原po是

jason3676093 08/09 08:47神人但講到很多心理層面的觀點 讓

jason3676093 08/09 08:47這個文章更親和

jason3676093 08/09 08:47另外想請問一下騎驢找馬是不是讓原

jason3676093 08/09 08:47po有很大的後盾去面試這麼多間?

jason3676093 08/09 08:47或是在verbal offer階段有更多底氣

jason3676093 08/09 08:47談薪水?

sunwon 08/09 09:20好文 推推

ts05593818 08/09 09:29

marsonele 08/09 09:33

physicsdk 08/09 09:36有分享有推

wulouise 08/09 09:47心理建設的部分很好,面試太過負面對面

wulouise 08/09 09:47試官也算是扣分

ntddt 08/09 09:51狂推好文

knightwww 08/09 09:51

knaw 08/09 09:55推 寫得很好 U文

bunjie 08/09 10:06板上難得的優文 尤其是這麼短時間的密集

bunjie 08/09 10:06面試 詳細的心路歷程介紹 也讓人了解目前

bunjie 08/09 10:06矽谷ML相關職位在過了疫情期間已經求職難

bunjie 08/09 10:06度已經提高不少

bnn 08/09 10:08好文推

haha58 08/09 10:28感謝您~

iamgyfan 08/09 10:47QW

APC 08/09 11:00

snah 08/09 11:13

Miyanishi25 08/09 11:20推薦這篇文章

Picanto 08/09 11:22

ZihSian 08/09 11:25讚!

luckyBF 08/09 11:28推,等等再認真看第二次

JoSue 08/09 11:28推感謝分享

ArayaHellCat 08/09 11:31推分享

WTS2accuracy 08/09 11:38

transforman 08/09 11:40帥氣!

drysor 08/09 12:06推~~

pqwerpoiu 08/09 12:08

abc21086999 08/09 12:12分享推

okm098 08/09 12:14也實在太掙扎在自己無謂的內心戲了吧 真

okm098 08/09 12:14正心裡強壯的人不需要這些

OSDim 08/09 12:18天啊這大概是這半年以來ptt最優文

bunjie 08/09 12:42酸的自己眼紅吧 別人願意分享就是好事 過

bunjie 08/09 12:42去這版多少酸民造成願意分享的人越來越少

bunjie 08/09 12:43內心大器的人也不會隨便酸人

oysteromele 08/09 12:44大推特推

germanykahn 08/09 12:48

chariot825 08/09 13:01好文

wayne0530 08/09 13:04好文推薦,希望大家都看到

tommyptt 08/09 13:07神人 推Rogi the GOAT

tr6271bf 08/09 13:08推優質的經驗分享

k7ji91ab5m 08/09 13:31很多所謂的神人內心一樣有不少痛苦

k7ji91ab5m 08/09 13:32疑惑爆炸的時候 他人看不到

ALENDA 08/09 13:47

darkangel119 08/09 13:51真正的勇者 不斷挫敗跟成長

tommytyc 08/09 13:54

ymin 08/09 14:04

silver5566 08/09 14:34感謝

neweb 08/09 14:36thanks for sharing

gambitlin 08/09 14:43寫得很好

chiataan 08/09 14:43這就是給魯蛇的雞湯文

IMBonjwa 08/09 15:14推推

ChulingChou 08/09 15:31謝謝分享~

Soros1989 08/09 15:38推 recruiter 那段很受用!

loxyz 08/09 15:54推心得

stcr3011 08/09 15:58謝謝分享

Metaverz 08/09 16:16

penny1119 08/09 17:04

philosics 08/09 17:07

yellowhuangg 08/09 17:17

dapple 08/09 17:20心理強壯也是練出來的 不是生來就有

TCPipv6 08/09 17:57

jay123peter 08/09 17:58

abc21086999 08/09 18:40真的不懂為什麼這樣的文章還會有人

abc21086999 08/09 18:40

jimjim951357 08/09 21:59推 感謝分享

danny40263 08/09 22:05感謝分享!感覺是一個對自己目標有堅

danny40263 08/09 22:05持 但也懂得與自己弱點共處的人,很強

danny40263 08/09 22:05

ESCADA 08/09 22:391000推一個

la90506 08/09 23:04

ddmanddman 08/09 23:55

ab3896423 08/10 00:35

duck10704 08/10 01:47推分享

Goldx5 08/10 02:03寫一大篇給這裡年薪50萬的酸民看,真是辛

Goldx5 08/10 02:03苦作者

lilecoli 08/10 05:36推分享

humanworld 08/10 07:45謝謝分享,尤其是心理層面的起伏與

humanworld 08/10 07:45反思.

Segundus 08/10 09:36都寫GOAT了還全部拼出來實在有點尬

ejnfu 08/10 10:30推分享

s9041200 08/10 13:58有談到心理建設,是優文必須推

※ 編輯: LeoMushroom (111.240.107.96 臺灣), 08/10/2025 16:15:50

Incentive 08/10 16:54推 感謝分享

catbitedog 08/10 18:40謝謝分享

v9290026 08/10 22:41

hmsDEBBIE 08/11 00:02

pornstar 08/11 02:13我知道是誰了,恭禧拿到150萬鎂的offer

ejirmpu 08/11 07:50

shorty696820 08/11 08:14好文

icanbe 08/11 09:07上推

b0204888100 08/11 12:12

guf60152 08/11 12:13優文 推推

idok 08/11 15:22不會有內心戲 純粹只是不在乎而已 不是強大

idok 08/11 15:22成長本來就伴隨痛苦

whitecolor 08/11 16:44好文 推

achangfree 08/11 18:05這心態好棒喔

agra 08/11 19:18好文推推

mibro 08/11 21:00第一段的那個心態 真的非常強大 有這種心

mibro 08/11 21:00態不管做什麼都能成功

zxc0312 08/11 22:40睡不著就乖乖吃藥 別想有的沒的

aeiou8 08/12 08:22優文推

yaujack 08/12 09:28只有我覺得原PO可能有心理疾病嗎XD