軟體工程師如何在疫情期間一舉錄取谷歌、臉書和微軟?(上)

Mar 19, 2021
Bill Cheng

在美國的台灣軟體工程師是如何在嚴峻的疫情下錄取 Google、Facebook 和 Microsoft?一起取經挑戰世界級公司成功的 Bill Cheng 跟這些公司的交手經驗!

前情提要:我在上一篇文章,分享了我初次求職和第一次跳槽的心得,這一篇將會分享我於 2020 COVID-19 期間換工作的心路歷程。

2020 年 第二次跳槽(累積三年工作經驗)

背景

我真的很喜歡 Indeed,也非常推薦大家面試看看 Indeed。Indeed 是真的關心員工,Work life balance 非常好,特休(Paid time off)也沒有限制,一般來說你請假主管都不會擋。疫情期間,Indeed 也祭出了許多方式舒緩員工的壓力:像是每個週五上半天班,每個月的第三個星期五 Company Holiday 讓你放鬆一下。每個星期的 All Hands CEO 直接跟大家 Q & A,讓大家知道公司現在怎麼樣。總而言之,這家公司真的很好。我同事也有很多是 Google/FB 轉過來。大多數同事也是從美國各名校來的,University of Texas 和 University of Michigan 是最多的兩間學校。

會想離開是因為當時談 offer 時,沒有談好。導致我升等要經過一個非常冗長的程序,升等之後薪水也幾乎不太會動。加上今年 COVID19 的關係,Indeed 停止了升等三個月。對於一個本來預期今年可以準備提升等的人來說,心裏或多或少會受影響。之後 Indeed 再公司穩定下來之後,重新開放升職,但我主管卻跟我說我年底升等比較適合。聽到這裡我也知道我想要升等,最快的方法就是跳槽了。

對我來說,接近三年半工作經驗卻要跟新人從同一個職等往上爬,讓我覺得職涯發展受到限制。我所做的事情其實在考績上都有反映出來,應該已經在下一個職等,但因為 Indeed 內部升等程序太繁瑣,升等之後薪資也幾乎沒有變動,所以我就決定踏上了重新找工作之路。

結果

成功跳槽到 Google。

面試細節

因為疫情關係,所以以下全部都是 Virtual Onsite。運氣很好讓我全部的 Virtual Onsite 可以排在同一週。第一個是 Microsoft 再來是 Facebook,最後則是 Google。疫情期間,光是拿到面試就非常不容易,因為大多公司都不找人。以前找人很兇的 Uber 、Lyft、 Pinterest、 LinkedIn、Airbnb、Twitter 等等這些公司也因為 COVID-19 所以進入 Hiring Freeze,甚至裁員。

1. Microsoft (Offer)

剛好準備開始找新工作時,在 LinkedIn 看到 Recruiter 在找人參加 Hiring Event。就抱著敲敲看的態度寄 email 給他。我對 Microsoft 印象是 Recruiter 好像都不太理人。沒想到他回信然後我就進入他們的面試裡面了。

Online Assessment

第一輪也是一個 OA 而已,我也寫過所以被邀請到 Virtual Onsite。

Virtual Onsite

這是我第一個 Virtual Onsite,所以爆緊張的,還記得面試前 30 分鐘,一直冒冷汗。

  1. 第一輪就是標準 10 分鐘 Behavior 然後演算法題目,面試官人好,討論很多 case 和怎麼處理。題目應該算是 Medium。
  2. 第二輪跟第一輪差不多,面試官出題之後我馬上想到某一種解法,跑了很多Test Case 等等,最後五分鐘面試官問有更簡單的解法嗎?當下實在想不到,後來面試官給了一點提示,我馬上就想到那個解法,可惜時間不夠所以就口頭講解,面試官也平平點頭。這輪我居然把題目複雜化,但是 test case 是都有跑過就是了。
  3. 第三輪和 Hiring Manager 聊天 + 一題演算法題目。我也寫出來但是有點 bug,Hiring Manager 好像也是愛理不理,視訊背景裡他老公和小孩一直出現讓我很分神。
  4. 最後一輪跟前面兩輪一樣。題目也沒有很難,我很快就寫出來,還跟他講了一些他沒想到的 test case。還順便跟他講 python 的 bisect library 和直接實作 bisect 的 method。

感覺 Microsoft 的面試就很標準制式化,題目也不是說非常困難。有一點要注意的是,Microsoft 的 Hiring Event 會有好幾場,據說每一場只會發 Offer 給前面 15% 的人,所以要儘量讓自己保持在最好的狀態。

2. Facebook (Offer)

Facebook 因為在我想申請時,宣布 SWE E4 這個職等的缺將會暫時 Freeze。所以我只能退而求其次申請 Enterprise Engineer(EE),剛好 Recruiter 也有詢問我有沒有興趣面試 EE。好處是因為職缺在 Austin,所以 FB 給的 Austin 薪資還不錯。最近聽說 Enterprise Engineer 在轉型所以在擴招,所以這時候加入 impact 還滿大的。

Facebook 面試比較像是在拼速度。Recruiter 也直接說強烈建議每一輪一定至少要完成兩題。後來我也的確每一輪都回答了至少兩題。

Phone Interview

我電話面試時,因為我已經準備非常透徹,所以面試官一問題目,我馬上就知道答案。FB 的這種面試方法其實我本人真的不太喜歡,因為搞得很像在背題目,你願意花時間背你就很大的機率會拿到 offer。這樣子有點失去演算法題目的意義。

Virtual Onsite

  1. 第一輪,面試官一給題目,我也馬上就知道答案因為就是 Leetcode 原題。尷尬的是面試官居然看不懂我的解法,我帶著他跑 Test Case 他居然還不太願意跟著我一起跑還問我有其他解法嘛。其實他結束之後把我的 code 丟去 Leetcode 跑一定過…因為我就是那樣寫也是最佳解。後來面試官就直接進入第二題也是 Leetcode 原題,所以我也馬上給出最佳解。那時候還剩 15 分鐘吧,想說寫完兩題了應該就開始聊天吧。沒想到他居然給第三題,我想說都準備成這樣就兵來將擋,水來土掩,也直接給最佳解給他。
  2. 第二輪 System Design,因為在 Indeed 工作關係已經開始碰到一些 Distributed System,所以這輪我也表現得不錯,面試官的問題我也回答得很好。
  3. 第三輪是一輪演算法題,這輪是四輪裡面試體驗最好的,跟面試官聊得很開心,兩題和 Follow Up 都不是 Leetcode 原題,但有類似的。我也有寫出來,也寫得超快,寫完我們還剩 10 分鐘吧。面試官開始跟我 optimize 一些小地方和各種聊天。
  4. 最後一輪 Behavior Question 這一輪一開始對方網路出問題,影音分離很嚴重。最後變成視訊 + 電話完成。就中規中矩的一輪,有一題演算法也是 Leetcode 原題所以馬上就寫出來。

3. Google (Offer)

因為一年前的失敗經驗,這次我對 Google 面試就真的抱著朝聖的心態去。

Google 流程比較特殊

Recruiter Phone Screen ->Technical Phone Screen -> Onsite -> Hiring Committee -> Team Matching -> Offer Negotiation -> SVP Approval -> Official Offer

Phone Interview

考了兩個 Medium 題目。第一題有寫出來,第二題時間來不及加上一剛開始我方向就錯了。電話面試結束之後,我就想說死定了,應該又要止步了。過了兩天之後 Recruiter 打電話來問我覺得表現怎麼樣?我直接說感覺可以更好,心裡已經有準備要被拒絕了。沒想到 Recruiter 說其實你表現得不錯耶,恭喜你進入下一階段。我當時整個嚇到,我沒想到會進到下一階段,真的運氣好。看來 Google 面試官比較在意溝通。

Virtual Onsite

能進入這一階段,我已經覺得突破自己,所以當天面試時其實一點也不緊張,還跟我老婆說:今天這個面試就是一個朝聖的心,看看大聯盟長什麼樣子,平常心平常心。

總共五輪,不得說 Google 面試官真的都有夠專業。有問有答,給 Hint 的時機點都很好。我一年前的 Google Phone Interview 遇到不好的面試官應該只是我運氣不好。

  1. 第一輪一上來直接來個 Medium 偏 Hard 的題目。我想了一下講了一個資料結構,一講出來看到面試官眼睛亮了一下就知道方向對了。開始講一下概念然後就開始寫,中間一度寫不出來要爆炸,沒想到面試官人很好給了一點小提示。我立馬就想到怎麼寫,然後快速寫完了。寫完之後還剩兩分鐘就聊聊天。感覺這一輪還可以。
  2. 第二輪是一個 Hard ,但因為我有寫過類似的題目,馬上就想到解法,寫完之後還剩 15 分鐘,我以為會有第二題,沒想到面試官開始跟我 optimize 一些小東西。最後 10 分鐘聊天,面試官也跟我有說有笑。
  3. 一個很酷的面試官,一上來就出題,我問了大約 10 分鐘才了解他想要什麼,慢慢想辦法寫出來,最後寫出來的東西感覺他也滿滿意。Follow Up 也因為了解他想要什麼,也是瞬間寫出來。
  4. 這一輪很歡樂,面試官出了題目之後我還以為他只是給第一部分,會有更大的題目在後面。他出完題目之後,我等了三十秒才問:喔?題目就這樣?所以快速把題目寫出來,最後寫完還剩 20 分鐘,面試官還抓頭覺得有點懊惱,所以為了殺時間我還跟他聊其他不同解法。中間感覺面試官有點被我帶著走,所以我趕快把球丟還給他,讓他主導。最後 10 分鐘就各種聊天。
  5. 最後一輪就 Googleyness(Behavior),面試過程我跟 Manager 一直笑一直聊,超開心的。這也是在我眾多面試裡面第一位 Manager 對我 side project 有興趣的。我的 Side project 有超過 800 個 Star,有兩三個科技媒體有報導。所以感覺 Google 看的東西可能不只你之前的工作經驗?

Google 我從面試到拿到 Offer 不到兩個星期。在這段疫情期間,看各大論壇很多人都因為 Google Hiring Slow Down 被卡在 Team Matching 找不到 Team 願意收,有些卡在 Team Matching 數個月。我可能是因為幸運 + 我面試面的還算不錯,所以我過 Hiring Committee 後隔天就有 Hiring Manager 跟我通電話,當天也就確定我會去該組了。

4. Amazon

就像我前一篇說的,Amazon 已經是在我的黑名單中,但我想說還是可以面試一下,可以拿來當跟其他公司 negotiate 的籌碼。 Amazon 果然沒有辜負我的期望。

以下是我和 Recruiter 的 email 往來

Recruiter: 寫信來說看我的 Resume,我很適合他們組 Blah Blah

我:回信說有興趣

Recruiter:很好可以把你 Resume 傳過來嗎?

我:(問號?你不是說你看過我 Resume 才找我)後來傳給他

過兩天之後…

Recruiter:你最近好像面試過了,可能無法繼續

我:What? 我 1.5 年前面試耶,你們冷凍超過 1.5 年?

Recruiter:對誒!你可以面試!恭喜你!我可以把 OA 寄給你寫

中間還不跟我約時間直接打給我…後來我通過 OA 那關

Recruiter:半夜寄信恭喜我進入 Onsite,順便詢問我有哪幾天有空

我:回了好幾個日期

Recruiter:恭喜你,我已經請我 Coordinator 幫你安排在 XX 日期面試了。下面是面試的資料和準備材料!

到了面試前三天,還是沒收到任何消息

我:寄信給我 Recruiter 問說發生什麼事情?

Recruiter:我的 Team Lead 剛剛寄信給我說我們要暫停你的面試,因為你還在冷凍期。我剛好要寄信給你,你就寄來了!

我:(心中:WTF)你不是說我已經不在冷凍期了嗎?冷凍期兩年?

Recruiter: 對,有些組冷凍期兩年。需要通個電話嗎?

這時候我已經完全不想理他了,所以也沒回信。這也難怪 Amazon 這家公司在 Blind一畝三分地都被罵的亂七八糟,把員工當免洗,很不尊重人。

以上是我 2020 COVID-19 期間換工作的經驗分享。下面一篇會分享我如何準備這些面試和如何談薪水,有興趣的人可以點這裡

本文獲 Bill Cheng 授權刊登,並同意 Meet.jobs 編訂前言,未經原作者同意,不得轉載。原文出處 我如何在 COVID 期間拿到 Google, FB, Microsoft 三個 Offer(Part 2)

延伸閱讀

【求職攻略】錄取 Viasat、Indeed |台灣軟體工程師多家美國企業面試心得分享

【求職攻略】台灣軟體工程師如何在 COVID-19 期間一舉錄取 Google、Facebook 和 Microsoft?(下)

相關職缺

作者介紹

Bill Cheng

現在是 Google 軟體工程師,在 Google 從事分散式系統相關的工作。在進入 Google 之前曾任職於 Viasat 和 Indeed。空閑之餘喜歡研究新的技術和開發一些小玩具。

Bitnami