PTT推薦

Fw: [北美] 2022 New Grad 北美後疫情時代找工作

看板Oversea_Job標題Fw: [北美] 2022 New Grad 北美後疫情時代找工作作者
thomaskov
(湯瑪士可夫)
時間推噓21 推:21 噓:0 →:22

※ [本文轉錄自 Soft_Job 看板 #1XmEEg4D ]

作者: thomaskov (湯瑪士可夫) 看板: Soft_Job
標題: [心得] 2022 New Grad 北美後疫情時代找工作
時間: Tue Dec 21 04:12:24 2021

代po

2022 New Grad 全職找工之旅正式結束。這篇文章除了聊聊面經外,也會談談各種刷題、內推的策略。同時,由於我本身在台有 3 年工作經驗,這篇分享文也會描述,有在台工作經驗者,如何尋找 Experienced Hire 的機會。
那就開始吧!

--------------------------
Medium好讀版(內含文章所有超連結,因為我不會貼QQ)
https://reurl.cc/RbA9kG
--------------------------


Offer (New Grad): Google, VMware, Amazon, C3.ai, Hive
Offer (Experienced): Nvidia (IC3), Godaddy(SDE II), Tekion (Staff Software
Engineer)
Decision: Google

Onsite 後被拒: Citrix
電面後無聲/被拒: Robinhood, TIBCO, Scale AI, Coinbase
OA後無聲/被拒: Salesforce, IMC, Circle, Citadel, Quora...
內推被拒或無聲: Facebook, Apple, Stripe, Microsoft, IBM...
海投:150+ 家太多了列不完
婉拒面試: Bloomberg, Blend, Verkada
被延到畢業再面 Experienced Hire:Databricks, Aurora, MemSQL


找工之始:Mindset

當你決定踏上美國求職之路時,務必要先問自己:「當身旁朋友已滿手 offers 開始度假,而你卻一個 offer 都未拿到,你還有心力努力不懈,抱持不上岸不結束的信念嗎?」

念完碩士並落地深根,是所有海外留學者必有的夢想。然則,若常翻一畝的版友必知,
New Grad 求職一年比一年艱難,就業市場逐步內卷化,越來越多與 1、2 年海外工作年資的對手與你競爭,「留學、求職、成為美國工程師」,與十年前相比,無疑更加艱難。

普遍來說,在求職季,你會看到身旁同學一個月就成功上岸,也會有人拿滿 FAAMG 面試爽爽度過,更會有滿手 offer 的強者,「壓力來源」其實不僅是擔憂自己無法成功上岸,更多的是來自同儕(包括印度、中國人)的壓力。

更甚者,以 Onsite 面試來說,一次要面 5 關,如果其中一關自己覺得面差,無法整理好心態好好把接下來面試面完,那可能就錯失一個 Offer 。以 Google 來說,就算有一輪 No Hire ,其他 round 有 Strong Hire,都還有機會發 Offer。

也因此,找工之旅開始前,最重要的工作,我認為不是刷題,而是「建立好 Mindset」。在美國找到一份工作並不難,但前提是自己心態建立好,有執行力的努力,上岸之旅才能成功達成!

Timeline 找工時程:早!

凡事只要「早」,就有高機率拿 offer。早一點刷題、早一點準備好 Resume、早一點投履歷、約最早的面試,只要早就很容易拿 offer 。普遍建議是:8月馬上丟履歷,8/9 月寫 OA 或電面,10 月 Onsite 後拿 Offer 。

不論一落地是要找實習、還是找全職,最好的安排便是:

1. 來美前先刷題,至少一刷
2. 7月底、8月初,職缺一出,就丟履歷

以美國來說,當公司釋出職位時,通常就會設下 Head Count (今年只收幾人)。Head
Count 不但普遍在 11 月時都歸零,當 Head Count 數量越少,公司審核標準就越嚴苛,面試過的機率就越低。也因此,「越早投、越早面」是找工求職最重要的原則。

以今年為例, Google 的 New Grad Position 8月一釋出,只給一週的時間投遞。第一天就投的人,普遍可在 9 月底安排 Onsite Interview。但若你截止前才投,則到 11 月都還沒面試。

同樣例子也套用 Robinhood 、VMware,職缺一出當下就投的人,人人發面試。到了 8 月底,VMware 直接關掉申請介面,Robinhood 則開始簡歷拒。

當然,有些人可能擔憂有 Exploding Offer 的情況。因為拿 offer 後,普遍只給 2
weeks 決定時間,可能被迫需簽下 offer 停止其他家面試。然則,這個情況不套用學生,因為學校普遍會有 Guideline ,規定公司不能將 offer deadline 設早於某個日期(以 Berkeley 來說是 11/1),可以拿學校 Guideline 向公司說明請求延長,通常中大型公司都可以順延。

以我本身而言,因為我在 7 月底就投 Amazon New Grad ,8月寫完 OA 和面試,成功在8/31 當天拿到 offer ,一個月內成功上岸。有了 Amazon Offer 後,去面其他家都可以說有 offer deadline ,或拿 Amazon Offer 包直接 Compete ,求職歷程不但沒壓力、還能居上風。

如何用在台工作經驗 Get Experienced Hire

以北美市場來說,儘管你有再多的台灣工作資歷,到這邊統一都當成 New Grad 計算。然則,我覺得這沒有硬性的規則,通常越小型的公司,越願意 value 在台工作經驗。通常來說,Experienced Hire 的面試,只會在畢業前 2 個月才能進行。

以我為例,今年我拿到了 Tekion 的 Staff Engineer Offer,也拿到 Nvidia, GodaddyExperienced Hire,也參與 Robinhood Experienced Hire 的面試流程。簡單的說,我覺得分成兩種:

1. 畢業時間在 12 月:可以直接投 Experienced Position 參與面試,New Grad 和
Experienced 同時進行。當然,要準備的事情也較廣,System Design 可能要花一些時間研讀。

2. 畢業時間在 5 月:可以先投 New Grad,在第一次 HR Phone Call 時,主動提出自己的海外工作經驗,詢問能不能面 Experienced Hire 。

Databricks & Facebook 的 New Grad ,因為工作經驗大於 1 年多被拒。由於我的畢業時間在 5 月,Databricks, MemSQL, Aurora 的 Experienced 面試都跟我約隔年 3 月重啟,就錯失了面 Experienced Hire 的機會。

面試準備

Programming Language

我認為語言不是選 Python,就是 C++ 或 Java。Python 的好處就是好寫、快、不受型別限制,但在面 Quant 或做 Internet 的公司時,會吃力不少。C++ 的好處就是展現 CS
實力(不過面試不太需要)、有 BST ,壞處則是 90% 面試官都不會寫 C++ ,所以遇到Bug 自己要會 Debug。

有些公司會要求寫 Java ,因為目前 Java Spring Boot 這個 Framework 還是業界主流,公司也想考你 OOD 的知識,同時在業界需要寫 thread programming 的都會用 Java
寫。Java 很好,但可能就是寫起來太麻煩,同樣一個 Operation ,Java 可能是別人的數倍行,在面試求快的心態下,用 Java 可能心很急。

刷題

刷題的重要性我想是人人皆知,但「刷得好比刷得多」還重要,質量大於題數,以下是我覺得刷題的建議:

1. 「重質不重量」
2. 實習應該要到 250 題左右、New Grad 建議 350–400 題左右。有這個題數,應該看到題目都會有初步想法。
3. 著重刷 Medium 題,基本上面試就能迎刃而解,非經典的 Hard 題不要刷,建議不要浪費
自己時間。
4. 刷題順序可以照分類,刷 Leetcode 各分類的高頻題,比如今天刷 BFS,明天刷 BinarySearch ,這樣同樣概念比較好統整。
5. 刷題不是刷一次,而是最少兩次,經典題則要 3+ 次。一刷我建議不要卡太久,想不到解
就快去看解答,因為這個時期是在熟悉演算法。二刷時,「一定要建立思路」,思路是指:看到問題,如何聯想到可行的 Algo ,並如何逐層解題,「找出思考的路徑」很重要。6. 思路之所以重要,是因為在面試時,如果你一上來直接給最佳解,可能頂多就 GeneralHire。但如果你有逐層解釋自己的思考歷程,逐步推倒出解,就算最後沒寫出來,可能都有 General/Lean Hire,給出最佳解則當然會 Strong Hire。
7. 以我 Google 為例,有一輪 Corner Case 會炸開,但最後面試官說想法正確、思路清楚,還是給了我 Positive Feedback。因此,「找出思考的路徑」是二刷重要關鍵。

而板上 Alvin 學長文的點醒,Blind整理的高頻75題真的非常有用,很多題目都源於這
75 題,很適合短時間複習,建議這 75 題定時重刷,刷 3 次以上。先刷 75 題,再刷
Top Liked \ Top Interviewed ,最後再補完各分類的高頻題,應該面試都會較輕鬆。

System Design

因為今年面了 Experienced 的職缺,所以面了較多 System Design 的面試。System
Design 基本上仍然依賴自己長時間工作知識的積累,問得方向也比較多元,比如
Producer / Consumer 問題、Scale 的選法、Partition 的方式,MQ 怎麼選,DB、
Microservice 如何 Reliable 等。

簡單的說,Microservice (Kubernetes…) 生態系還是業界主流,務必要熟悉微服務下的各種知識,同時對一些主流 SQL, NoSQL (MongoDB, Redis, Elasticsearch,
Prometheus, Cassandra…) ,各自特質、Scale、Partition、維運…,最好要有基礎觀
念。

面試準備的教材:

* 初階的可以看 system design primer 、Educative.io 上的教材,這些資料能帶你初步熟悉 System Design 的基本問題及如何配置。
* 資深的可以看 DDIA 這本書,這本書能精熟應該就是 staff 級別的工程師了。或翻翻infoQ 上的影片,看 Netflix, Instagram 各大公司如何處理 large-scale 的問題。也可以多看看一些 FB, Uber … 大公司的 Engineering Blog,慢慢的累積知識。

矽谷輕鬆談的 Kenji 也統整一份很詳細的準備指南,一畝上的猴子都能懂系列也非常完整,都十分推薦!

當然,很多人滿腹知識,但往往掛在講的雜亂無序,我很建議 HackBear 泰瑞這部影片,很清楚的解釋了 System Design Round 如何有好表現。

CS Fundamental 知識

常見考題如 OS 的 deadlock, thread, process, race condition… 還有 Networking
的 TCP/IP Level 3 & 4 & 7, DNS, Router…。建議面試前著重複習這些概念,應該都能輕鬆解決。

如果有面到做 Database 的公司(如 Oracle),則會問一些 B+ Tree, Cache Design…
的問題,不過我想收到面試後再來複習都不遲。

拿面試及面試技巧

面試技巧會分成面試前、拿到面試、面試後三個階段剖析。

面試前:海投、內推、校招

參與過北美求職都知道,「拿面試比面試本身還難」。在這個內推橫行的年代,如果我們說海投是投到外海、內推就是投到內海,但一樣都是海,比如我 FB 內推後直接拒、或
Apple 內推後無聲。現今有效的拿面試,是內推人親自將你的 Resume 送到 Hiring
Manager 手上,或你能直接找到 Recruiter 當面聊。

儘管內推逐步式微,但還是比海投好,找內推基本上有幾種方法:

1. Linkedin 上找學長姐。台清交成的同學,每家大公司一定都有校友,可以到 公司的Linkedin 頁面,點選 People ,搜尋欄打 「National Taiwan」,「National Tsing Hua」…,就可以找到台灣的前輩。
2. 上「矽谷輕鬆談 Just Kidding Tech」的 Slack 內推版。謝謝 Kenji 和柯柯的經營!3. 到「歹晚郎互助網絡」找內推。謝謝 Bryan 的經營!
4. 到「Taiwanese Referral 台灣人內推系統」找內推。謝謝 SD 學長姐的熱情協助!
5. 等 Mason 的內推文。感謝 Mason!

另外,不要覺得找內推很害羞、彆扭,也儘量不要內推人都不回你就放棄,主動出擊、有禮貌、好好介紹自己、直接表明需要幫忙內推,我相信 80% 的前輩都很樂意幫忙,因為我們也是這樣過來的,我們懂。

而對於校招 Career Fair,因為今年後疫情年,校招全部 online 舉辦,我覺得效力降了不少,很多公司只是來釋疑而已(如 FB),只剩 Bloomberg 還在校招上撈人。若有一年回到 In-Person 的話,可以參考這網站。除了 Career Fair ,還有 info session 和
Coffee Chat ,Coffee Chat 是和 Recruiter one-one 聊天比較有用,info session 則是公司來演講比較沒有用,但還是建議有空可以參加一下。

而除了找投履歷的管道,職缺一出就投也很重要。建議設置 Linkedin Job Alert,可以設定「new grad engineer」、「university graduate」、「early career」、「campus」等發送 Job Alert ,這樣當一有 position 釋出,就可以馬上投。同時每一年都有人熱心整理 New Grad List ,可以追蹤看看今年是否也有。另外,常上一畝翻面經,也可以找到自己還沒投的公司。

拿到面試:刷面經、邊講邊打

一個常見面試流程是:OA(線上 Coding 筆試) → Phone Interview (一輪或兩輪)→
Onsite Interview (一天 5 輪以上),每家公司都有些微差異。

由於今年後疫情年,Onsite 都改 Virtual,所以 Onsite 就像延長版的 Phone
interview 一樣。

拿到面試後,不論是 OA 還是 Phone Interview,首要工作便是上一畝刷面經,照著時序依序往下看。有些公司都只會考固定題組(如 Robinhood, Amazon),刷面經就變得相當重要。但對於一些題庫龐大的公司(如 Google),則直接上 Leetcode 刷該公司高頻題比較有用。

在面試時,務必認知到「溝通 >>> 寫 code」,好的溝通可以掩蓋掉 Coding 表現不好的問題。好的溝通不代表英文講的詞藻華麗,用簡單的詞彙、清晰的解釋概念通常就很夠。我的 English Speaking 絕對不是很流利,但還是能通過重溝通的 Google ,原因就是「技巧 > 英文能力」。

面試進行流程應該是:面試官貼出問題,你開始提出一些 testcase, corner case,詢
問 Input Range,有無Invalid Input,確認雙方認知後再開始想題。下一步,則是要和面試官解釋解題想法。以我為例,因為我擔心發音不標準,我基本上都用邊寫註解、同步講想法的方式,把我的概念解釋出來。待面試官確認方法可行後,才會開始寫 code 。
寫 code 時,也會邊打邊講,適時寫些 Comments。最後,則會自己想一些 testcases 進行驗證。詳細的面試影片可以參考這個網站。

在面試流程中,如果自己發現很久沒收到新消息,就有可能是 HR 忘了你,一定要窮追不捨的持續 Reach out HR 請他給你 update 。我的 Nvidia 就曾被遺忘了一週,後來
Follow up 後就趕緊補發 On-site Interview 給我。

面試後:催 HR 談薪水

「Always Negotiate」,因為公司發包給你時,都預留了你要跟他談的空間。談薪水這件事我也是新手,不過一年洗禮下,發現可分三階段:剛收 Offer 、過一週後、要簽以前。

剛收 Offer 時,可以談的就是 Deadline、What is Salary Range、Visa Sponsorship
等訊息。過一週後,可以開始針對 Base, Stock, Sign-on 開始談,拿其他家 offer
compete 是最直接的方法。要簽以前,可以說當數字高於 XXX 時,現場簽。

談薪水的心法是,要把 Recruiter 當朋友,持續表達對公司的嚮往,但因為生活費、家庭…開銷,目前的薪水實在太低,希望 Recruiter 幫你一把。「誠懇、持續表達意願」
,是談成功的關鍵。

求職文件、面試準備

CV


留學時期的 CV 和申請工作的 CV 完全長不一樣,Recruiter 只會看 skill 欄位,90%
面試官則只會看工作欄位的第一個工作經驗的第一項,其他全不看。也因此,我會建議
CV 要有以下更改:

1. Header 務必放「手機電話、Email、Github」,如果在加州一定要放「地點」
2. Education 欄,重點課如 OS, Algo, DS, Network 一定要放,不要寫簡寫,因為系統會爬。
3. Work 欄,務必第一項放最 powerful 的,或講的最順的,因為你會發現面試官只看這行。
4. Skill 欄務必放到 Resume 上半部,Recruiter 通常看不懂你的研究或工作經歷,只會看
看 skill 有無 match 決定是否發面試。
5. 有心力的話,可以針對每個 position 的 JD 做客製化。基本上,Distributed System,Java, Object-Oriented Design 這幾個關鍵字,你的 Resume 最好能 include 到。

我建議在丟履歷前,一定要把你的履歷先送到學校 Career Center 改,或是找在美國工作的前輩改,因為自己可能 miss 掉一些 information。

New Grad Job Market

今年邁入後疫情年,各大科技公司的招募情況逐步恢復,Google, Facebook 及 Amazon
的 Head Count 也增加不少。於此同時,由於去年的學生普遍 Defer ,今年 New Grad
市場少了一批碩士畢業生,2022 應該是前景相對好的一年。

倘若我們綜觀數年,進行統整,可以大致分為 FAANG 及 Not FAANG:

FAANG

Facebook 和 Apple 往年都是面試難拿,FB 拿了面試後就是要勤刷 Leetcode 高頻題,Apple, Microsoft 則是要靠組推或校招才能拿到面試。Amazon 則是典型的轉碼天堂,面試應該是眾觀北美求職中最簡單的一家,Head Count 很多,發 Offer 品質不是很好。
Netflix 則是今年第一年招 New Grad ,所以所有人都在觀望,目前為止有身份的人才有拿到面試(有綠卡 or 公民)。Google 則是面試好拿,但面試難通過,且流程冗長(9月底面試,11 月才拿到 offer),不過今年好像 Head Count 比較多一點。

Google 的考題特色是,通常都不是 Leetcode 原題,不過都是要套用某個 Leetcode 題的想法求解,面試官除了求正確性,更在意你的思考歷程有無符合邏輯,以及溝通能力是否良好。

非 FAANG

其實有別於台灣人的認知,在北美,其實並不是所有人都嚮往進入 FAANG,FAANG 的面試也不是最難的。蠻多 pre-IPO 的新創十分有潛力(如 Databricks, Stripe),New
Grad 面試也真的難。與此同時,做 Quant Trading Firm 類型的 (如 Citadel,
Hudson River Trading),通常薪水也會是 FAANG 的兩倍,不少人會選擇這些棄 FAANG。

Fintech 則是成為 Growing Trends,除了老牌 Bloomberg,Payment 招牌(Stripe,
Square, Paypal),也有走 Blockchain 的(Coinbase, Circle),做散戶股票的
Robinhood,還有諸如 Brex, Chime, Blend 這類前景良好公司,開發的層次越來越深層,成為許多人的首選。

簽證時程

蠻多人來美國後,都是用 STEM OPT 3 年間抽 H1-B ,抽到 H1-B 後再辦綠卡。然則在現今,因為越來越多人在 H1-B 的抽籤 Pool 裡,有人也會用作弊方式一人投 10 份申請,中簽率確實越來越低。

也因此,不少人在職涯選擇上,會選擇能直接辦綠卡的公司。台灣人辦綠卡相對中國、印度,不用漫長排程,普遍可在 1.5–2.5 年辦完,所以幸運的話,有些人會在 OPT
Extension 期間,就辦到綠卡跳過 H1-B 。

據我所知,直接辦綠卡的公司有:Google 、Microsoft 和許多硬體廠(Nvidia…
) 。Facebook 剛解決完 PERM issue ,應該近期也會恢復。Amazon 據說是 Manager 決定你能不能辦,也有 PIP 壓力。

結語

今年受到太多人的幫忙了,比如從留學申請到找工都持續 carry 的 Vera 學姊,
Databricks 裡的超熱情資深前輩 John ,還有無數幫我內推的學長姐們,感受到滿滿的在美台人的溫暖~

同時,也很歡迎大家有問題的話,在 Linkedin 上 reach out 我,先預祝大家都找工順利了!

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.16.164 (臺灣)
※ 文章網址: https://www.ptt.cc/Soft_Job/M.1640031146.A.10D
※ 編輯: thomaskov (140.109.16.164 臺灣), 12/21/2021 04:18:58

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: thomaskov (140.109.16.164 臺灣), 12/21/2021 04:27:41

sam959512/21 05:38太強了

RouterHsieh12/21 05:57最後可以直接辦綠卡這點建議把Cisco移除,

RouterHsieh12/21 05:57因為這是錯誤資訊,思科也是要你抽到H1B(或拿L1B)後

RouterHsieh12/21 05:57才會開始啟動綠卡流程...

好的謝謝 我把Cisco拿掉了

MAGICMCGRADY12/21 07:42看了linkedin有點好奇這位學弟怎麼讓recruiter相信

MAGICMCGRADY12/21 07:42邊唸大學時做的工作是full time的工作並承認資歷呢

MAGICMCGRADY12/21 07:42

MAGICMCGRADY12/21 07:43雖然說有工作經驗沒錯,但我看工作時間似乎跟唸大

MAGICMCGRADY12/21 07:43學的時間重疊

MAGICMCGRADY12/21 07:44感覺不太可能是full time的工作

MAGICMCGRADY12/21 07:45但如果有什麼小技巧可以分享用來幫助說服hr我相信

MAGICMCGRADY12/21 07:45應該可以造福不少學弟妹

確實我一邊念大學也有在工作,的確應該蠻少見的哈哈,也蠻辛苦的,不過是遠端所以還做得到,我也有寫一篇文分享這段過程,有興趣也可以去看看 我沒遇到 Recruiter 有特別問的,我想或許因為 Experienced Hire 都有 System Design 面試 工作經驗不深的話,這種面試就會看出來,同時經驗職缺 Background Check 也會比較嚴格 我想只要將自己經驗呈現出來,展現自己 Knowledge,表現到最好即可~

everythingQQ12/21 09:5690% 面試官不會C++ !?,這看你面什麼公司和職位吧

everythingQQ12/21 09:56, 需要C++的工作也是很多的,端看職位的需求

siba72712/21 11:04謝謝整理這麼仔細的經驗分享!

MAGICMCGRADY12/21 11:10對,很多公司的backend是用c++寫的

了解,感謝分享! 其實我自己也蠻意外的,因為我是用 C++ 面,然後很多面試官都對 C++ 滿陌生 XD 我的感覺是做 Network 和廣義的硬體廠比較多用 C++ ,不知道是不是和你們看法一樣~ 今年面偏軟公司感覺蠻少人用 C++

※ 編輯: thomaskov (73.241.249.201 美國), 12/21/2021 13:26:13 ※ 編輯: thomaskov (73.241.249.201 美國), 12/21/2021 14:24:58 ※ 編輯: thomaskov (73.241.249.201 美國), 12/21/2021 14:31:47

Ericz700012/21 15:35工作時段跟念大學的時段不會衝突嗎?

Ericz700012/21 15:45譬如遠端開會時要上課怎麼辦

agario12/22 01:17都有人可以同時遠端兩份工作了: https://bit.ly/3qe6iOz

agario12/22 01:17要同時上課和一份工作應該比較簡單吧

ejnfu12/22 02:32強者推推

wenchi041712/22 08:24厲害

pftman12/22 11:07好詳細,推

melodyjeng12/22 12:44很詳細!

coldman51912/22 13:11感謝

TheObServer12/22 13:39說到轉碼天堂 fb幾乎每個轉碼女都能至少拿到面試

TheObServer12/22 13:48沒拿到可以寄信給recruiter盧 但fb工作壓力很大就是

TheObServer12/22 13:48

airforceso12/23 16:05

BeardSmallGG12/24 19:40謝謝分享

tinahere12/25 14:53厲害

benchen081212/25 17:32感覺今年跟前幾年比真的相對好找很多 可能是因為前一

benchen081212/25 17:32年hiring freeze, 今年要補head count

tnfshjcc12/25 23:39experienced好找工作 但是ng應該還是很競爭

tnfshjcc12/25 23:40就根據Amazon L4 L5的巨大薪資差距 他們搶L5多用力

Ericz700012/26 04:24連G都大放送了我覺得 何況亞麻

comaniac12/26 15:20Amazon L4 水準的確參差不齊,和 L5 有個巨大的 gap XD

comaniac12/26 15:20 另外對 C++ 的描述有點太武斷建議去掉,例如我所做的東

comaniac12/26 15:20西不管 AWS Facebook Google 絕對都是以 C++ 為主,所以

comaniac12/26 15:20我非常希望面試者用 C++ 寫

bluebluelan12/26 15:26不同部門用的語言都可能不同了 僅憑一次面試來論斷

bluebluelan12/26 15:26該公司的主力語言真的是蠻有勇氣的

bb2156712/28 02:29