Go back

EP002 - 2025 台灣Waymo面試心得

41m 50s

EP002 - 2025 台灣Waymo面試心得

這段錄音中,主持人Jerry首先分享他創建Podcast的初衷,主要是為了記錄日常湧現的各種想法,避免思緒稍縱即逝,並希望這些記錄未來能對他人或自己的後代產生一些影響或貢獻。 接著,他詳細回顧了應徵自動駕駛公司Waymo軟體工程師職位的完整面試經歷。面試共進行了五輪,內容豐富多元,遠超出傳統的LeetCode編程題範圍。具體包括:一輪涉及字串處理的編程題、一輪要求現場設計並討論貪食蛇遊戲的系統設計題、一輪與招聘經理進行的技術與行為面試(探討演算法複雜度與代碼可讀性)、一輪側重與工廠及供應商合作經驗的行為面試,以及最後一輪加試的實際代碼審查與除錯題目。Jerry強調,面試官非常注重應試者的溝通、協作能力和解決問題的思路,而不僅僅是答案的正確性。 最終,他成功獲得Waymo的L4職級錄用通知。他也談及薪資構成,包含較高現金部分及公司未上市前的股權,並觀察到台灣一些頂尖外商的薪資可能已超越Google。節目最後,他預告將在下一集分享與蘋果(Apple)和Meta公司的面試接觸經歷。

Transcription

2397 Words, 14500 Characters

嗨大家好 我是Jerry 歡迎回到我的頻道 這裡是我紀錄個人思緒和想法的空間 在幾節目我想繼續聊 我們上一期節目 美國玩的微某面式跟愛普面式的部分 那在開始節目正題之前 我想要先聽一小段閒聊 稍微再紀錄一下自己為什麼想要錄這個Podcast的原因 主要是想說 自己每天其實都會產生很多的想法 但是沒有一個很好的方式紀錄下來 想法想完就結束了 覺得多少有一點呼論吞吵的感覺 而且前兩天剛好看到的一篇 一個很有趣的YouTube 然後抬頭叫做 How do you become a 37 year old broke loser 如何成為一個37歲的失敗衝忍 那他其實是一個 University of Waterloo software engineering 畢業的工程師 他分享說他自己即使畢業這麼多年 做了很多contract work 但是還是沒有辦法賺很多錢 然後他就其中一段特別打到我 特別打到我的特別moving的部分是說 他在說 He worked for a company 他在一間公司上班 然後花了可能六個月的時間 寫了一個Server的 code 但是最後這個Server code 因為PM還有老闆的幾些 一些想法跟幾句話 整個項目就被砍掉了 你說 這是常不常見 很常見了 然後 他也有拿到他該有的薪水 又不是說老闆欠薪什麼 但他就覺得 他在他的影片中覺得說 這樣子的人生到底有沒有什麼意義 你寫了這麼多 code 然後結果 產品問詩都沒問詩 然後產品就被砍掉了 你對人類的貢獻到底有沒有意義 他就說 但是他現在改作YouTube 雖然說很窮 賺不到什麼錢 但至少他的影片 發出去有幾百個人看 幾千個人看都好 這些影片在 這些人的心中 至少變成某些移動他們的信念 或者是至少 為人類的社會進步帶來一些貢獻嗎 就是 那這些影片至少也會留在YouTube上面 Server上傳承下去 以某種形式傳承下去 那我也會想到我自己也是共存式 以前我自己寫的Speclicode 當然 當然 我不知道大家是不是知道 GitHub 就是很有名的 一個開放開源代理官 代馬管理平台 之前有一個 Project叫ArtychVault 就是他會幫你 GitHub上面所有的Code 變成底片存在 北歐的某個國家的地下冰庫裡 所以你寫的那些 GarbageSpeclicode 通通都存在那裡面 但是我一直說 就是 我寫的這些東西 很多時候 真的就是轉瞬即適 寫完就不見了 然後 到底對誰 有任何的貢獻 其實真的是一個很大的問號 所以我才想要 錄這個Project 多少能紀錄一些自己的心思 這樣子 而且 錄Project才有個好處嘛 就是以後 如果我的小孩 如果 我早死了 我的小孩 可以 會聽這些Project 聽著我的聲音 至少知道它 法法是 什麼一個什麼樣子的人 OK 反正 先聊的部分 大概是這樣子 那我們就進入正題 大家最期待的 微魔面式 其實我有點意外 結果大家最期待的 不是Apple 或者是Meta 或者是Google面式 反而是微魔的 那微魔在台北市 也是有缺 那它是跟 Google共用辦公室 那如果有些人不知道的話 微魔就是 一個自動駕駛公司 然後 現在有 已經有在San Francisco Texas 這些地方做 英運了 最新的報告是 它每週能 在兩萬次客人 也就是 一年 幾百萬次 它在台北 雖然有開缺 但是大家 不要太期待 微魔又來台灣了 主要是台灣 上集有什麼 台灣的 電影組件 特別的文明 所以微魔 很多的 電腦零件 汽車零件 其實都是在台灣做的 我找到這個工作 也是 透過之前說的 公司內部的 招聘網站 然後直接找 微魔 然後就看到它有在找 然後它的 Facial Title叫做How Rare Test and Calibration Engineer 但是它實際上是 掛在Sophyr Engineer底下 所以它還是要走 一般Sophyr Engineer 會有的面試流程 我還沒開始上班了 那我是 4月7號 才開始第一天 所以 我對這個工作內容 我的了解 是 設計 或者是 設計測試機台 然後 假如說 你知道 車子裡頭有很多什麼電腦啊 鏡頭啊 然後你要設計一些 測試機台 機台裡頭的 Code要我去寫 然後把這些機台 拋起來 然後 你就可以 測這些 零件這樣子 所以我們也會 跟代工廠做很多的合作 然後 也會跟很多 零件供應商啊 然後 跟How Rare 他們做很多的合作 我 最後會選微魔 我個人的原因也是看 算自動駕駛 但 另外一個 也是算是 這個時候的夢想 因為我本來是 毒魅看到快人 經驗人家C 我原本就想做 Robotics 所以 Autonomous Driving 一直是我的 一個很大的 Focus 可是 就之前就沒有機會嘛 那結果現在 終於要回來原夢 回來做微魔了 還是 有一點興奮 另外一部分也是 我很看好的公司的 Growth 我理解的微魔 大概也就大幾百幾千人 如果 以後微魔真的 因為我微魔也還沒上司 所以如果我微魔真的 以後上司 是擴編的 我也比較有機會 可以深層 Manager 或深層的 Ractor 工作也很符合之前 所有的活潑性嘛 也會相鎖的 你會跟帶工廠 還有很多的 Supplier 去合作 所以我覺得 就可以去讀一把 來這種 類型創作公司 去這邊讀一把 OK 那我們就直接開始 面試 那面試的話 它是 因為微魔算是 跟Google 平行的公司 所以它等於是 要換一間公司面試 所以要面完整的 無論 Interview 那我是 比較特別的是 完整的 四輪Interview 但我比較特別的是 我面到了第五輪 我等一下再說 那四輪 前面四輪Interview的話 就是三輪Coding Interview 加一輪的 Behavioral Interview 它們 比較有趣的是 這三輪Coding Interview 只有一輪是 傳統意義上的 Lead Coquestion 另外兩題語 我也是 在賣一個關子等一下說 OK 那我們先從 第一題開始吧 第一題的話 我覺得 用Podcast形式 可能不好講 我會把 這個題目細節 分享 在Google doc的 Link 大家可能在 點進去 Description 看一下 這個題目 我會一起來 我跟German來 兩個人互相拚湊 稍微拚出來原本的題目 我不太記得細節了 但題目差不多 就是這樣子 就是說 它給你一個自傳S 然後這個自傳裡頭 是一個 數字序列可能 12356789 就876321 這樣子 然後 以及一個整數K 代表你 最後結果 允許的 最大的數字位數 就是你 ReturnK位的數字 就是 如果K是4的話 那你最多是 Return 12344位數 就是 1000的單位 那你需要使用S 中的數字 建構出 最大的可能整數字串 並確保 這個長 就確保長 就不會超過K 然後 跟確保 這個數字 保留原本的 這個 指串 保留原本的 原始順序 對 在German來用的字 我也看 卡卡的 不過我就先照照念 也就是說好 就是說 54967 那你 給你3的話 你的 Return會是 967 因為 最大的你 最大的指串 是967嗎 但是如果是什麼 9576 然後 K是2的話 答案就是 97 對 好啦 細節我會把它放在 Google Docker裡頭 然後我在 大家可以自己想辦法做做看 我就直接說 我面試這一題的過程好了 我覺得偏爛 因為我對 處理Stream 因為這算是一題 處理Stream的題目 因為 其實 如果你能想到的方法 其實就是答案 就是你差不多 就是切這個 Pars這個Stream Pars1之後 那直接在這個Pars2和Stream 都找最大的 基本上答案就是這樣切而已 所以 只是 我Stream處理的沒有很好 然後中間有一些 小事務 然後 所以我覺得 這一輪面是 被扣了蠻多分的 不過 有趣的是 就像我上一集 有說嘛你 題目來的時候 一定是先問 問題 你先問他說 你這個 給的Stream 有可能是 付的嗎 還是說一定確保 都是真的 那還是說 你 這個Stream 有沒有一個最大值 會不會 overflow的問題 然後會不會 有惡意輸入 故意給你Stream 加雜一些 ABCD 怎麼亂切把它找的 那或者是 如果你這個 最近點的 EdgeCase 這些都是EdgeCase嘛 那最近點的EdgeCase 就是叫做 那你 如果輸入 空啊 我故意給你一個Stream 然後不 然後就是空的Stream 那你要 我們這時候 what is the expected behavior 這些東西其實 都是 在那個書裡 其實也有講說 你就是要先 提前問清楚嘛 畢竟 你如果當一個好員工 你也是想要 跟你的老闆提前溝通好 不會一直在那邊來回 來回 這樣 就笑得很差 然後 你問清楚之後 然後就可以開始寫了嘛 問清楚 舉一些反例回去 的時候 你就可以開始寫了 那你確定你的方向 就開始寫 那我個人 我覺得算是 你是 LiCoMidium Easy-to-Midium的題目 但是我個人 沒有打得很好 多少 有點緊張 還畢竟 很久沒的面試了 這個算是 這個是 我第一輪的Coding Interview 但是 Recooter interviewer也很好 就是 我們兩個等於是 一起看Code 然後一起討論說 這樣寫行不行 這樣寫行不行 算是一個 有來有回的過程 所以大家 一般來說 這些interviewer 的Recooter interviewer 都是 我很 well-trained 他們都 很知道 要怎麼 不給你壓力 我甚至看過一個說法 之前在Blind上面 看過一個說法 就是說 一個好的interviewer 不會讓 InterviewE 知道說自己 自己快被刷掉了 他們總是知道 怎麼讓你放鬆 然後 看你有沒有 很好的發揮潛力 為什麼 我知道這件事情 而且我很認同這個事情 是因為我 很久很久以前 在我上一次 滑微轉 Google的那一輪面試的時候 我面過Meta 那時候 我就覺得 那時候也是 2tm的題目 那時候我覺得 我面的還不錯 然後 題目都算是 有討論完 這關也是有笑的 有說說笑笑的 然後回答 回答了我的 最後的一些問題 結果最後被刷掉了 那我那時候 還有點傷心 想說 可能 就只是 差一些 錯一點 這樣子 結果 我後來 在刷立後的路上 我就看到了 當初 面試關 問我的題目 我打得全錯 所以 所以當初 根本就不是 就是說 當初 當初我 跟面試關 說笑笑 然後打了題目 然後以為自己打得很棒 根本就是 忘記發照的答案 那面試關 讓我 很從頭到尾 都很放鬆 這就是 我覺得它 很厲害的地方 然後 我整個被它 那個 燦爛的笑容 給騙了 我還以為 我就要離開滑微 終於可以上岸了 結果 根本就是糊塵 anyway 所以 大家進去面試的時候 其實別太緊張 他們這些面試關 very well trained they will keep you relaxed but at the same time they are still very judgmental 好啊 那我覺得 第一題 其實 沒什麼 太多可以講的 反正 題目細節 我會練 留在下面 大家可以點進去看 我覺得 從第二題開始 會變得 非常有趣 不知道大學 大學的 如果是CS Beijing的時候 大家大學的時候 是不是都寫過 那些什麼 小遊戲 反正我們 大學 以前在叫CS CS Lower Dips的時候 反正CS的大一大二的課的時候 所以我們 就是要寫一個 大富翁的遊戲 然後 寫遊戲這個東西呢 它有 反正就是用拍團寫嘛 然後 用一些那個 那個叫 MPV model 不對不對不對 不是MPV 是MVC model Model View Controller 這個Model去寫 這個 Ctrl 在寫這個遊戲嘛 就是說 你會有一個 Overall Manager 然後一個 刻色畫圖面 然後跟你最後 Ctrl這個 刻色畫圖面的 Controller這樣子 那你用這個Model 下去寫Colder 你的Cold才會 乾淨的力度 才不會像SpaghettiColder這樣 我記得 反正以前大學的時候 有寫過 很多類似這樣 這遊戲嘛 反正那種寫 CC加加的 基礎課程 基本上一定會 有個作業長 類似長這樣 我近第二個 面試的時候 那個面試官 是一個 L7的微姆大佬 上次也說了嗎 L7是 比日本壓縮記 還要洗手 這個 L7大佬 端出來的題目 就是說 請你寫一個 攤吃舌的遊戲 我要靠 45分鐘要我寫一個 攤吃舌出來 我聽到之後 我就直接開始寫 我就編寫 編問他 我先搭那個 我先搭方式嘛 然後反正基本的那些 被我方式寫 然後編大家編問他說 你這個 板子 攤吃舌的板子 要多大 那你有沒有什麼 特殊機制啊 那你的 攤吃舌是碰到 邊邊就要死 掉還是碰到邊邊 又繞一圈回來啊 然後就狂打 反正我就是連續打了 大概是 從進去到 我結束 我基本上手都沒有停 一直在打這個code 那這個 code的架構也算 簡單寶 反正總 Model 我用口述的 總Model的話 就是 一個Wild loop 然後這個Wild loop 會一直去 這Wild loop 會一直去 Update的這個板子 然後Print的板子 然後我們會有一個List 我是用一個List去裝 這個舌的長度 然後這個List 裝的是這個 舌的 每個身體的位置的坐標 然後反正每一針 然後去移動這個舌的身體 每一針 你就把這個整個 整個整個 整個身體的List 都 往右移 假如說它是往右 往右移 那就是整個X坐標都移 那大家可以寄寫看 還蠻有趣的 然後主要 當然這東西的功能有很多 然後我也很多東西 其實是用速度口下去寫 像是那個 按鍵操作的部分 我就是直接 其實可以用寫 就按鍵操作 我之前都是用CV做嘛 那我就直接跟 那我就直接跟別人說 這邊先用速度口 然後這個不太重要 必定確實不重要嘛 因為重要的是遊戲內機制核心 這邊就先用速度口的 跟它混過去 但是你也是說 它主要想要我做出來的內容是 身體碰撞的部分 就是你知道它自身的身體太長 然後你的身體會撞到自己的話 它就給Mover了嘛 然後問我這個東西要怎麼做 然後反正 簡單來說就是 我把頭跟身體 身體剛剛說是那個List 頭是另外的一個 Variable 然後頭我會先 在Wallup裡頭先移動 然後去檢查這個頭 是不是撞到身體的某個部分 這樣有沒什麼 就是簡單來說 就是那個頭跟身體 會有一瞬間斷掉 反正這個頭跟身體會有一瞬間斷掉 然後如果頭跟身體的某個 做標有Overlapped的話 我們就判定它輸了 然後就Break 然後Endgame這樣子 然後還有一些 中間還加了一些Feature 然後去隨機生成那個食物的位置嘛 最後呢 這扣當然是跑不起來 因為加了很多速度扣 但是它還有 留大概十分鐘 大概五分鐘左右的時間 然後問我說 那你這個Round Time是多少啊 那你這個 Printboard的 因為你 你有一個M成N的板子 那你Printboard的Round Time是多少 那你就是M成N嘛 因為你要 你對你要一行一行的Print 然後還有他就問我說 那你這個Collision Collision的時間會是 算你這個頭跟身體的 Collision的Round Time是多少 如果大家不是CS背景的話 Round Time就是這個 你可以理解成它 執行Code的效率 跟某個 跟某個變數會有相關嘛 就像剛剛說的你的這個 碳枝蛇的 隔子是 M 蘭 跟N 炸 M-Rose M-UnCollins 所以你的Round Time 就一定是跟M成N 就是M成N 大家可以找AI 或者是找YouTube 惡補一下 That's the main idea anyway 所以Round Time在碳枝蛇這邊 他就是問我說 那你碳枝蛇的 The Tech的Round Time是多少 然後 那如果我要優化 if I want to optimize 這個碳枝蛇的 測試 就是Detection Mechanism 有沒有意義 那其實這題大家就是沒有意義嘛 因為你碳枝蛇 不可能逼板子 一定是圓小與板子的 所以你在爛你 都是要Print 這個M成N的板子 所以你去 Uptimized這個蛇 其實是沒有太大的意義的 因為你的蛇一定 永遠比板子小 所以你應該想辦法 有話Print板子的速度 anyway 那這一題 我覺得打得還行 但我覺得有一點靈亂 就是我沒有一開始 很好地問他說 他最想要看到的 核心feature是什麼 我覺得這邊有一點靈亂 然後跟我 最後打Round Time的時候 我有一些 東西弄得沒有很對 反正我記得我打Round Time的時候 有一些些是 打錯了他提醒我之後 我才改了我的答案 我覺得是有點可惜 就是 聽到這題目 有一點太 Jump into it too quickly 他們在面試的時候 也很常會 坦丟一件事情 就是 We don't really care about the answer Right, these answers we already have answers to These questions we already have answers to 就是說這些題目 你叫AI生成一下就生出來了嗎 然後這些題目 都已經有答案了 他們還很想看 想看這種的道理 是你合作的能力 你會不會是一個 不好一起工作的工程式 所以你寫錯了 他們也很注重說你寫錯的時候 也不會留 comment 你寫錯的時候是不是會 跟人家分享說你考慮了什麼東西 你 你 你 評估了什麼東西 我覺得這是 然後跟你事前準備作業 跟事後的 修改 然後 就是你在 你的self awareness 夠不夠這樣子 對 我覺得比較可惜的就是 事前在做 feature lineman 的時候可能沒有做得太好 我覺得還有另外一個很有趣的反思 是 大家都會哭說 我們不要考離課 離課有什麼用 這個題目 其實真的是可以 見別你的能力的題目 因為 你只要是一個 成熟的CS學生 你多多少少都寫過這種東西 你多多少少都寫過這種 MVC類型的code 所以你寫不寫的出來 或者是你有沒有想法了 其實一下就很明白了 我那時候還想說 要做一個 Startup 然後是 做這種 新類型的 面試題目的 創 就是 取代離課的離課 但 顯然 已經有很多公司 其實 考的東西 是遠超過離課的範圍的 OK 那 這就是 大概是第二輪面試了 我覺得 第一輪面試 我可以自己可能打 670分 第二輪面試 我覺得80分 好 可是 not flawless 第三輪面試 那 接下來就進第三輪面試了 第三輪面試 我是自己 跟HiringManager面的 他的 題目 是從LeoLight的 但 我也是 有一些新的啟發 怎麼說呢 好 他這個題目 就是說 我給你 這個Input呢 ToList The Input is ToList 那你 拿到這兩個List之後 然後 Return 一個 non-repeating list 就假如說 我 一個List 是 E2-3 E2-3-4-5 那你 Return出來 就是E2-3-4-5 就是你 兩個List加起來 然後把 repeating element 拿掉 這是一個 LeoE 很簡單 那 當然 這個東西 就跑出來了 其實我很緊張 因為我知道 這種題目要難 可以很難 因為 如果他要求 要Space1 Complexity的話 就必須要用 BitwiseManipulating 那大家都知道 你寫 BitwiseManipulation 真的是 很討人厭的題目 而且你 要是不熟的話 你根本做不出來 那個 那個 王左推王 又以 然後 也相差 不熟的話 完全這不出來 But luckily He didn't ask for it 但是他比較有趣 他問我說 他開始問我 HashMap 的Runtime 因為我是用 Hash的方式 拿把兩個東西加起來 然後 我 return 他就開始 讓我問我說 那你這個兩個東西 的Expected Runtime 是多少 我就說 你這個兩個 查找的話 我問了我是 怎麼跟他講的 但是 我就跟他講說 Oh 這個HashMap 的Expected Runtime 是 H001 然後他就讓我 再形象 然後 反正我接下來 就跟他 吵 也不是吵了 就是我跟他 花了那該 十分鐘解釋 HashMap 他我就開始講到 HashMap的實現原理 然後 大家所以 大家如果 言順法 不是 還是要稍微 解一下 HashMap 他們的實用原理 他們的原理就是你 如果有個數字 然後你去 放在一個 表的格子裡頭 你可能是 用他的 You Mod Divided 然後 用他的 語數 當作他的index 反正 就是把這個數字 穿在這個表裡頭 但是如果 你這個表 越純越滿 你 表界 穿到滿的時候 你的 HashMap的Runtime 會從 Oh of 1 變成 HashMap 所以 所以其實 他那時候要跟我 找的這個 題目的答案 就是說 Oh Runtime 是可能 Oh of N square這樣子 或者 Oh of N 但是我可以 講說 Oh is Oh of 1 所以他沒有 很滿意這個答案 Anyway 但是我覺得 因為我能 很好的解釋 HashMap的 function 所以我是知道 這東西 怎麼運作的 所以我也知道 這東西 的原理嗎 Anyway 他 後面又 問了 最後一題 的follow-up 就是 How would I improve the readability of this function You know 這個 滿好笑 因為 the whole thing is only like working work five lines 那整個 function 我寫出來的 LECO答案 大概 只有 四五行嗎 大家要問我說 你自動力 怎麼 It has readability 那一開始我當然 就寫說 我們要 要講那個 type hint 就 你需要 拍檔 你需要提示 它是什麼 type 然後 要加一些 comments make it more readable and make sure we're using the Google naming conventions You know that kind of bullshit 讓他 都說 Okay these are acceptable answers do you have any more 他就一直問我 我就一直沒有講到 他要的點 然後最後 我就 放棄 我投降 我就問他說 那到底是什麼 他就說 這個東西 是一個 C+加 比較長出現那個概念 叫做你的 return type you match function name the function name the description 這什麼意思呢 就是說 因為這個 function make sure the return result is unique 就是說 他把兩個 list ping 起來 然後 然後 這裡面的數字 都確保 是 唯一的 這時候 我們應該 要 return 一個 dictionary 因為 dictionary 這個 variable 的Type 本身就 enhanced 他是 每一個 key 是唯一的 list returnType 不是 所以他說 如果你 如果 是 return dictionary 的話 會 improve 這個 code 比較安全 因為 你確保了 這個東西 一定是 unique 因為 list 你如果中間 有什麼 bug 你中間 被什麼 stack 被某種 演算法 etac 你 return的Type 可能 就不是唯一的 所以他就這樣跟我解釋 這個東西 我是 輸了 我 這次 是 第一次聽到 有按讚包 按銷領導 anyway 反正 就是 我也算是 學到的一刻 那 這次 面完之後 其實 hiring manager 就 我們 technical 部分 其實 面的 我覺得 第三輪 面是 我給自己可能 也是 70% 70% 就是 我覺得 這三輪 technical面 就好像 打 但是 又不是 那種 最 flawless 的 performance 對不對 所以 那時候 Recruiter 就有 來 問我 說 那如果你 如果 微谋 開 L3的話 你接不接 我 老實說 我不接 因為 我現在 Google 是 L4 你說 就算 L3 微谋 L3 微谋 還有人 越做 直擊 越低 我就跟妳講說 那 沒辦法 那我 真的 對 然後 那 Recruiter 也就 跟我說 那 好 他 巧巧看 然後看 能不能 說 服務 上面的 老闆說 這樣子 其實 我是 蠻傷心的 不是 很想要 要我的感覺 讓我沒有感覺 的特別好 所以我原本 是 有一點不抱希望 去 進去面 第四輪 因為我想說 如果是開三級的話 就不想面了 第四輪 我去面 面試官是 一個意義 然後他主要 面我的是 我的合作經驗 然後 我跟工廠配合的經驗 這些東西 那我就 也很老實地跟他講 然後 我遇到的問題 我會 太 support 的經驗 然後我去越南 越南 然後清導 這些 build support 的經驗 蠻巧合的是 這個面試我的 人 他 原本 也是在 Google 然後 是五年前 跳過去微某的 所以我們也 聊了很多 互相分享的 為什麼 想要離開的感覺 他對車子 然後對機械 這些東西 都很有熱情 從他的談話中 可以了解到 最後 appearantly 他給了我 非常感謝 我非常感謝 所以 那些題目 我覺得就還算 滿 standard 的話 就是 如果你 很有壓力的話 怎麼辦你會怎麼處理啊 那會 解釋一些你 比較有趣的是 微某 他們 用的產品 是超大電壓 那什麼幾百幅的 因為 如大家在做那些 什麼 comable electronics 做一些什麼 可能很多工程師 做了什麼筆電 手錶 這個什麼 三幅三 五幅 什麼一幅八 這個都是小電壓 微某那個沒有 微某那個 上來電池 什麼幾百幾千幅的 他就說 這個東西做起來 就真的很 那個 面試官 就跟我講 這東西做起來 真的很刺激 很好玩 而且 我們做手錶 可能就只有一點點的 那個傳輸速度 可能就是 什麼幾百 幾百盒子 然後可能幾妹 這樣子 很小很小 很少 他就說 沒有 我們這邊的 transport protocol 都是什麼 幾百G的在跑 所以 能玩的東西 會變得很多 花樣 花樣上 也會變得很多 跟這種 小的comable electronics 做東西的 思路 也會完全不一樣 所以 非常地推薦我來玩 anyway 所以 這個就是 前面 四輪 面試的 一個總和的 那 那 這時候 我剛說了嘛 因為他只開給我 咬山 然後我就跟他說 那不然這樣子 我真的想去 你們覺得我不夠格的話 那我 再面一輪 我再面一輪 coating interview 卻讓你們 確信說 我的coating能力 真的有到 然後 他就說 那他們也 同意的這個說法 他們就說好 那我們就再 加面一輪 然後這輪 好的話 然後我們 把它包成 因為它是這樣子 它是你面試完之後 你所有的 面試資料 會被打包成 一個PDF 然後所有面試官的 那些心得 會打包成一個PDF 送上去 給 高層 C-level的人 去審閱 然後 然後他們 那些高層覺得 ok了 他們才會 回退下來 給你 然後才會發offer 那你以為反正 我就又有多面了一輪 然後最後 這一輪 coating interview 也是一樣 不是 leak code 是 他生產了一段 code 然後他就說 這段 code 他這個 class 他是一個 python class 然後這個 python class 裡頭 有一些 bug 那你是 假設 你要假裝你是同事 然後你隔壁的同事 send的 你這段 code snippet 讓你 給這段 code 一個些回饋 feedback 你會怎麼回饋 然後你發現 這段 code 有哪些 bug 然後你要怎麼改 這些 bug 然後就開始 這一段面式 again 這不是 leak code題目 就我覺得 還蠻有趣的 其實 公司們也在進步 然後 也在 迴避這些 看似很白癡的 leak code問題 anyway 那這段 code 來這 code 寫的就很醜 然後很多 那什麼大小寫的問題 就是你的 function name 用的是 camol case snake case 然後混在一起 然後還有你的 variable 名字 取得不好嗎 你用一些什麼 trx y 這種 variable 其實就很不好嗎 應該用 more explicit 什麼 t 是 time 那你的 x可能是 什麼 次數 然後 y 是 這樣子的 然後 對 然後他也說 你這個 code 下下 你不用直接 在那邊用新算嗎 因為很多時候 跑 code 可能要用新算 但他有說 你可以 直接執行這個 code 他的那個網站 是可以執行這個 code 就不用在那邊新算 那執行這個 code出來 然後就發現一些 bug 然後就把這個 bug 收出來 然後最後 提交這個答案 當然還有加 很多什麼 comment 的這些東西 然後這個面子關 然後我覺得 這一次面子 就真的就是滿分的 我覺得 就面得很好 然後他就 也是問了 我一下 round time 問題 他我也都答出來 然後他比較有趣的是 他有問我說 那 如果你今天 因為他那個題目 是一個 histogram 的 code 然後你要存不同 假如說 你要存不同 不同顏色出現的次數 那你 顏色越多種 那你是不是 存的就越多 然後他問我說 那我應該要怎麼了 你有顏色越多種 你是不是就要分割的越多 你就 你佔用的空間 記憶庭空間就比較大 所以我就跟他解釋說 哦對 這個就是 trade-off 你的 trade-off 就是你要比較 高度 resolution 還是比較 more space 因為比較 高度 resolution requires more space whereas more space you must you must what is the word you then must settle for lower resolution 這樣子 不知道 我我個人覺得 這本事面的最 乾淨 最好的一輪了 然後 對他所有的 follow-up問題 我都有回答到 那個 recorder 回來 也有跟我解釋說 就是這個 肉 其實 不是那麼 重 software engineering 是 比較 更多的會是 一個要跟 工廠的 些人打交道 所以我的 經驗 是 very valuable的 所以 他也在 package 裡頭 有跟 老闆 門題 所以最後 好消息是 對 微膜發了 我放給我 四級的 offer 然後 我也簽了 大概是這樣子 最後 我們在稍微 聊一下 新資的部分 我原本 其實沒有任何的 預期 會有挑釁 我 因為 我覺得 微膜的 新資結構 應該是跟 Google 非常的像 所以 don't expect too much of a race 50% race 50% race 50% race 大家可以去看一下 Google 50% race 50% race 當然 就是說 微膜的 新資 部分 有 很大部分 是 微膜的 股權 其權 因為 微膜還沒上市 然後微膜的 只有 發了股票 你不能 直接拿去 NASDAQ 麥 這樣子 所以微膜在 而且 好像可能有些 什麼 新創法的 規定在美國那邊 所以 外國人 不能這樣子 持有微膜 股票 是以 其權的方式 option的方式 去進行的 然後 如果 對 所以 這 到微膜 上市 錢 都不太能賣 當然 公司會 心情好 的時候 會 有一些 internal liquidate event 就是 內部公司 自己收購 回來 員工的 其權的部分 如果你 真的很需要錢的話 但是 原則上 就是 IPO 那一天這樣子 然後 大家都說 遇過 IPO能翻個 兩倍三倍 五倍 六倍 這樣子 對 但是 現金的部分 就 老師說 微膜 offer 的 cash的 部分 就已經 比 Google的 總包 還要多 It's honestly 但是 我覺得 比較有趣的 其實 在跟Meta 接觸的時候 我也是直接 拿微膜 offer 下去跟他們 就是 Recorder National 接觸的時候 Recorder 都問 說 你期望 行字 多少 我就跟他們講說 微膜 開 開 這個錢 給我 那你們能不能 match 然後 Meta說 沒問題 應該是 差不多 我們能 辦到 一線的 外商公司 其實是 能開到 比Google 還有多的 Google 在台灣 其實 也有一個 好幾千人的團隊 好幾千人的 規模 那我 那據說 是因為 兵了 HTC 進來之後 Google的薪水 其實 有往下跳 往下掉一點點 所以 Google的薪水 其實 還不算 最潮液流的 如果你 應該都會 比Google 還要再多 蠻多的 這是 我 得出來的心得 不一定準 也要看 大家是 Test 還是Suffer 還是什麼 Hardware Engineer 應該也會 這幾個類別 也會差蠻多的 那 Google 當然 是比 Microsoft 好 或是比 Amazon 應該也是要好一些 畢竟 大家都說 Microsoft 在地為軟 拜託 有微軟同事來罵我 Anyway 反正 薪紙結構 上大概是這樣子 OK 那 我覺得這集節目的 市場好像 差不多了 我想說 那蘋果的 面試 我可能要 留到 下一次節目 再說了 下一次 會在過 蘋果跟 Meta Meta 我是沒有 真的面試到 但是 我已經跟微某 情侶了 所以我剛才 想說 Oh I don't think I will be proceeding with the interview 但是 那個 Recuda 很薪紙 然後說 來啦 來啦 跟我們的 老闆 聊一下 天啊 說 你會 被我們吸引啊 那 我就想說 好啦 那你居然都 收到這個 分享了 那我就 去跟他聊一下 天吧 那 對 所以我 跟他的 HiringManager 是有 一個 很重要的風口 which I will talk about next time it's kind of exciting Cool 那 這幾節目 就先 錄到這邊吧 一個 小小的反思 這次錄的好像 更隨性的 原本第一集錄的 還會寫了很多 Draft 但這次真的是 從經驗裡頭 硬 拉出來 隨便的聊 希望大家 會喜歡 我也 持續進步 也拜託各位 辛苦了 兄弟姐妹 親朋好友 來聽一聽 我的節目 訂閱 按讚 加分享 我們下次再見 謝謝大家 拜拜

Podcast Summary

Key Points:

  1. 主持人分享創建Podcast的動機:為了記錄日常思緒,並希望內容能對他人有所啟示或傳承。
  2. 詳細說明獲得自動駕駛公司Waymo(微某)軟體工程師職位的面試過程,包含五輪面試的題型與個人反思。
  3. 面試題目多樣,不僅限於LeetCode,包括系統設計(貪食蛇遊戲)、代碼審查、行為問題等,強調溝通與合作能力。
  4. 最終獲得L4職級offer,並討論了薪資結構(包含現金與未上市公司的股權)以及與其他科技公司(如Meta)薪資比較的觀察。

Summary:

這段錄音中,主持人Jerry首先分享他創建Podcast的初衷,主要是為了記錄日常湧現的各種想法,避免思緒稍縱即逝,並希望這些記錄未來能對他人或自己的後代產生一些影響或貢獻。

接著,他詳細回顧了應徵自動駕駛公司Waymo軟體工程師職位的完整面試經歷。面試共進行了五輪,內容豐富多元,遠超出傳統的LeetCode編程題範圍。具體包括:一輪涉及字串處理的編程題、一輪要求現場設計並討論貪食蛇遊戲的系統設計題、一輪與招聘經理進行的技術與行為面試(探討演算法複雜度與代碼可讀性)、一輪側重與工廠及供應商合作經驗的行為面試,以及最後一輪加試的實際代碼審查與除錯題目。Jerry強調,面試官非常注重應試者的溝通、協作能力和解決問題的思路,而不僅僅是答案的正確性。

最終,他成功獲得Waymo的L4職級錄用通知。他也談及薪資構成,包含較高現金部分及公司未上市前的股權,並觀察到台灣一些頂尖外商的薪資可能已超越Google。節目最後,他預告將在下一集分享與蘋果(Apple)和Meta公司的面試接觸經歷。

FAQs

主要是為了記錄自己每天產生的想法,避免想法轉瞬即逝。同時也希望未來若有小孩,能透過Podcast了解他是怎樣的人。

總共經歷了五輪面試,包括四輪標準流程(三輪編碼面試和一輪行為面試),以及額外加試的一輪編碼面試。

只有一輪是傳統LeetCode題目,其他包括實作貪食蛇遊戲、程式碼審查和除錯等,更注重實際工程能力和合作技巧。

他意識到一開始應先釐清面試官最看重的核心功能,而非急著開始編碼。面試官更重視合作過程和思考方式,而非最終答案。

最初微軟只開出L3職位,但經過額外面試後,最終提供了L4職位的offer,與Jerry在Google的職級相同。

微軟的現金部分比Google總包更高,但很大部分是未上市的股票期權,需等待IPO後才能實現價值。

Chat with AI

Loading...

Pro features

Go deeper with this episode

Unlock creator-grade tools that turn any transcript into show notes and subtitle files.