[心得] 2021/22 美國SWE實習與正職求職心得
(代 PO) 不太會用 PTT 格式有跑掉之處請見諒
Medium 圖文版: https://reurl.cc/8pVj4R
關鍵字:2021 US Software Engineer Intern、2022 US Software Engineer New Grad、疫情、Google、Facebook/Meta、Amazon、Bloomberg、Cornell Tech、大學非本科
# 前言
在找工作的路上受到非常多人的幫忙,求職的結果很大部分歸功於集體智慧與台灣人好心的結晶。因為受到的幫忙太多,所以想提供這兩年的資料點跟我個人的心得給同樣當初像我需要幫助的人一個參考。個人覺得找實習與正職有相當大的運氣成分,我的想法很有可能都只是好運底下的產物,所以建議帶著自己的判斷閱讀。感恩惜福!
# 背景
在 Cornell Tech 讀 Information Science,大學讀商科,有一些軟體工程師的實習
經驗。詳細可以參考我的 LinkedIn ( https://www.linkedin.com/in/cwhu )。
# 結果
## 2022 Software Engineer New Grad
錄取:Google ([email protected] & [email protected] Area), Facebook/Meta (Bay Area), Amazon
(Seattle & NYC)
面試被拒:Bloomberg
線上筆試被拒 / 履歷被拒 / 無聲卡:Notion, Stripe, Figma, etc.
- Google: 5 rounds interview, Oct 17, 2021 (result received)
- Facebook/Meta: 5 rounds interview, Oct 17, 2021
- Bloomberg: 2 rounds interview, Sep 23, 2021
- Amazon: Intern Return, Aug 28, 2021
## 2021 Software Engineer Intern
錄取:Bloomberg (NYC), Amazon (Seattle)
面試被拒:None
線上筆試被拒 / 履歷被拒 / 無聲卡:Facebook, Google, Robinhood, Roblox,
Stripe, Figma, Kleiner Perkins Fellows etc.
- Amazon: 3 OA + 1 round interview, Nov 11, 2020
- Bloomberg: 5 rounds interview, Oct 19, 2020
# 心態
## 早一點投,早一點投,早一點投
在求職的時候,很常遇到的一個問題是覺得「自己還沒有準備好」。即使這一點在大部分的心得分享都一再被提起,我還是想要強調,很難有人可以真的「準備好」。
因為沒有準備好而在面試被刷掉總比因為太晚投而被通知職缺被補滿好。當然有些人會覺得面試被刷掉可能會有冷凍期的問題,但我認為早一點投履歷的好處有三:
第一是大部分實習與正職的面試我覺得在拿到面試後在開始準備都來得及。前提是你對於基本 Leetcode 的題型已經有一點點理解(例如刷過 Blind 75 題或是其他人整理的題目)或是願意抱佛腳每天坐下來刷十題一個禮拜。
對大部分人來說,刷題刷到一定題數後,刷題的動力會稍微下降。對我來說,拿到面試是刷題最好的動力,因為有一個清楚的死線(面試日期)跟一個清楚的目標(Leetcode
tag 題跟面經)可以減少拖延跟不必要的擔心與憂慮,類似於 “Turn off your brain
and let the body function independently”。如果真的覺得自己準備非常的不充足,
也可以跟公司提前說一聲重新安排面試就好。
第二是早點投有利於最小化需要投入刷題的時間。這跟個人偏好有關,但我自己覺得在美國有很多事情可以趁在學生時做,所以想要最小化需要刷題的時間,而不需要一直把他擺在第一優先 (Top Priority) 而掛心。
在沒有拿到公司面試以前,大部分人把經典的題型刷完後所做的題目投資報酬率都會下降。除了經典題型能幫助我們打好基礎摸清大概方向,其他的題目實在太多。如果沒有針對公司的題庫刷題,那很有可能接下來大部分投入刷題的時間會是低效的。
即使對於刷題的方向有所規劃,類似於 Parkinson’s law 所說「工作總會填滿它可用的完成時間」,沒有清楚的死線還是很難辦法保證最有效率的投入。可能有一點極端,但以我的例子是在面試 Google 前,我只有規劃用三天每天坐下來 16+ 小時把他們的 tag 刷完(但最後一題都沒考到)。
第三是早點投面試被刷掉也可以當作累積經驗。早一點投早一點有 OA (Online
Assessment) 和面試,即使運氣不好被刷掉也能夠當作累積經驗,提前知道自己面試容易犯的錯以及可以改進的部分。
我自己的例子是在正職面試 Bloomberg 的時候, 為了早一點習慣面試的手感跟節奏,我直接跟 Recruiter 說我想要比原定時間提早三個禮拜面試。結果考好難我自己也準備不足被刷掉,但因為面試的時候我發現自己做 Binary Search 不太穩,後來痛定思痛苦讀Binary Search,把它系統化讓之後面對這類型題目都輕鬆秒殺。
從我的論述可能可以猜到,我自己是大部分時間相信 Fake it till you make it,所以會覺得當自己認為自己準備好時通常都已經太晚了,但如果你覺得這個不適用於你也無仿。而至於江湖傳說越早面試難度可能越簡單這點我無從考證。
具體來說,我大部分的職缺都是在一開缺後開始找內推,10 天內就會想辦法投完。也就是說,我大部分的實習及正職職缺都是在開學前到剛開學這段期間(七到九月)投的。
## 讓運氣均值回歸
也許是只有在疫情或後疫情時代才會這樣,但我自己認為在找實習或找正職時,運氣是影響非常大的因素。正因為大部分是運氣,所以一定會有你自覺準備的很好或是面試的很好卻得到不如預期的結果。但同樣的,有時也會有你自覺準備尚可或是面試表現普通卻得到超乎預期的結果。
所以在找工作時,我自己的心態都是相信自己有盡力後,就坦然面對自己無法控制的運氣。雖然盡可能準備去減少運氣的成分,但還是要多投多面試讓自己能夠不會只被壞運光顧。讓自己有夠多的機會暴露在各種運氣之中,借用(誤用)財金的概念就像是讓運氣透過更多的機會均值回歸。
# 內推
因為成長背景跟科系的關係,我自己在來美國之前是沒有認識任何在美國科技業工作的朋友,所以我所有的內推都是在網路上找陌生人幫忙的。主要是用歹晚郎互助網絡(謝謝
Bryan 的經營)、矽谷輕鬆談 Just Kidding Tech 的 Slack(謝謝 Kenji 和柯柯的經營)、還有 LinkedIn。
我投履歷時只要找得到內推聯絡資訊就一定會傳訊息或是 Email 問,如果一個禮拜沒有回應就會找下一個內推或是直接海投。如果是自己特別好奇的公司我會在自我介紹的訊息內順便附上一些我想問的問題。
也許是我運氣特別好,但我的經驗是如果可以有點禮貌然後積極一點,台灣人願意幫忙的程度真的是超乎想像。不止一次我單純想詢問內推卻得到很多履歷建議、公司推薦、職涯分享,甚至會有人會主動幫忙留意新職缺。我自己的習慣是會跟所有我找過內推的人更新我最後找工作的結果(實習與正職的去處),不管有沒有因為內推拿到面試都還是要好好謝謝願意幫忙的人。
具體上,在聯絡內推人時,我寫 Email 通常會用的大綱會像是:
---
第一段先謝謝別人願意內推。
第二段自我介紹,順便提到自己想要麻煩內推的職缺。
第三段告訴內推人不管能不能幫忙內推都簡短回覆即可,我會再提供我的聯絡資訊(
Facebook、電話),盡可能讓內推人能選擇一個他最方便的方式。
第四段條列他內推所需要的資料,例如職缺連結、Email、自我介紹等等。
---
如果是傳訊息的話,我會盡量控制在越少字數越好。舉例來說:
---
XXX 前輩你好,不好意思打擾了,我是 XXX,目前在 XXX 讀 XXX,大學讀 XXX,之前在XXX/XXX 實習。透過 XXX 搜尋到你的聯絡方式,想要請問方不方便麻煩你幫忙內推 XXX職缺 (link)。我隨訊息先附上我的履歷跟 email: XXX,需要任何其他資訊再麻煩跟我說。如果最近不方便的話也沒關係,謝謝!
---
# 履歷
如果對於寫履歷沒有方向,一個簡單的小技巧是去 LinkedIn 上面搜尋你想要投履歷的公司,蒐集一些在那間公司曾經在你想要投的職缺工作過的人,然後多參考他們是怎麼描述他們在那個職缺上所做的事,畢竟這是公司預期你在應徵時可能可以做到或即將做到的事。有些佛心人還會把他們的整份履歷放到 LinkedIn 上面,多參考個 10 到 30 份就能夠對履歷的方向跟如何敘述有一個比較好的理解。
我在投實習時覺得最重要的是多給不同的人看,因為每個人都會有一些盲點,而履歷總是有能夠進步的空間。一個尋求建議的小技巧是,如果覺得別人可能在猶豫能不能給我們誠實的反饋,我們可以問說這份履歷 1 至 10 分你個人會給幾分,然後接著問要如何改進才可以更接近 10 分。這個小技巧來自 Adam Grant 的這個 Tweet ( https://twitter.com/AdamMGrant/status/1369732419021135879 )。
除此之外,我在一份履歷裡,會花特別多的時間去優化工作經驗中第一項經驗的第一句描述,因為在我的經驗裡,這通常是為這份履歷定調的關鍵。在面試中如果有 Behavior
Question 問到 Can you talk about an experience in your resume,我通常就會直接從這一句做開展。
# 刷題
關於刷題,我覺得可以簡單分成兩個階段。第一個階段熟悉題型,就按照資料結構以及演算法按照主題刷。常見別人整理好的題庫有 Blind 75、CyC2018、花花醬。我覺得品質應該都差不多,可以按照自己有的時間挑一個適合自己的。我自己在當兵的時候會另外印這個網站( https://www.cnblogs.com/grandyang/p/4606334.html ) 的答案進去看,每次只要練軍歌或是單兵戰鬥教學就拿出來墊在講義上看,一個禮
拜可以想個十幾題,導致最後驗收軍歌跟單戰都不會,被班長笑說每次都看那麼認真還記不起來。
有一些我自己覺得在刷題時對我了解某個資料結構或演算蠻有幫助的整理:
Binary Search
-
https://leetcode.com/discuss/general-discussion/786126/python-powerful-ultimate-binary-search-template-solved-many-problems
DSU and Union Find
-
https://leetcode.com/discuss/general-discussion/1072418/Disjoint-Set-Union-(DSU)Union-Find-A-Complete-Guide
DP (Dynamic Programming)
-
https://leetcode.com/discuss/general-discussion/712010/The-ART-of-Dynamic-Programming-An-Intuitive-Approach%3A-from-Apprentice-to-Master
第二個階段就是刷公司在 Leetcode 上的 Tag。當然不是每一家公司都會考 Leetcode 上的題目,但有一個方向準備起來總是比較安心。我會至少把要面試公司的高頻的 50 題刷完,這個時候在刷題時我會把每一題當作在面試,所以我會避免看到題目就直接開始寫。我覺得比較好的練習方法是能夠確定自己有想通並有能力口頭描述好自己解答之後,再開始碰鍵盤。
我自己覺得刷題有一點很重要的是要保持心情愉快,不要給自己太大的壓力然後 Burn
out,也不需要有「我一定要刷到幾題面試才會穩」的這種壓力。我自己為了效率以及避免開始懷疑自己太笨,會在刷每一題的時候計時 10 分鐘,如果時間到沒有想好解法就會直接看答案。至於語言,我原本是用 JavaScript 刷題與面試,但後來為了熟悉新語言就全面改用 Python。身邊也不乏使用 C++ 面試的硬漢們,所以我是覺得挑一個自己喜歡的就好。
# 面試
我覺得面試的心態和溝通與解題同等重要,而且通常心態和溝通做得好,對解題也會有所幫助。剛開始面試難免會緊張,我喜歡在心態上把面試當作一個跟面試官交朋友的機會,並假設面試官都是希望我面試順利,所以我跟面試官是一起合作來完成這個面試的。
在面試的時候,大部分公司面試都是希望我先口頭解釋完我對於解答的想法,了解時間複雜度後,再開始動工寫程式。我自己的習慣是會不停的問面試官 Am I on the right
track、Does that make sense to you 等等。因為即使我看到題目就已經知道最優解,我需要實作的通常要是面試官心目中的解,而不是標準答案的解。如果兩者不同,我會先把面試官心中的解搞定,再嘗試提出我心目中的解。
遇到看到腦筋一片空白的題目,最簡單的方法就是先從暴力解 (Brute Force) 開始,然後爭取時間想優化。如果還是完全沒有頭緒,我會開始列舉一個一個資料結構與演算法,然後簡述一下這個資料結構與演算法的特性,測試看看面試官的反應。舉例來說,我可能會說:I don’t have a concrete idea now, but I’m wondering if hash map can
be used here to solve this since it can offer O(1) access to the data. 看一下如果面試官沒有正面反應之後,我可能就會接 At the second thought, probably I
can draw some diagrams and think about whether there’s a potential greedy
solution。
至於 Behavior Question,我通常都是按照常見的問題用 STAR 原則簡單寫一下自己需要提到的點,如果沒有把握也可以寫個逐字稿訓練表達。因為自認自己的英文不是特別好,我每次面試都會寫一個字條貼在電腦上提醒自己英文要講慢一點。講慢一點可以幫助面試官聽清楚我想表達的意思,順便爭取更多時間思考,還能讓語調聽起來比較有自信。
# 談薪水
每一次需要談薪水我都會複習這三篇文章:
Ten Rules for Negotiating a Job Offer
- https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/
How Not to Bomb Your Offer Negotiation
- https://haseebq.com/how-not-to-bomb-your-offer-negotiation/
談offer的理念和技巧 — 分享給剛拿到offer的小夥伴們
- https://www.1point3acres.com/bbs/thread-559735-1-1.html
如果有空我覺得 Chris Voss 的MasterClass 線上課程或書 Never Split the
Difference 也蠻有幫助的。
# 找公司與選公司
知道自己要什麼跟知道如何達成至少一樣重要。在找公司的時候除了開啟 LinkedIn 的職缺 Email 通知,我也會參考各種別人整理好的清單,包括一些 GitHub Repo:
Fall2021Internships
- https://github.com/BaruYogesh/Fall2021Internships/blob/master/US.md
New-Grad-Positions-2022
- https://github.com/coderQuad/New-Grad-Positions-2022
如果有特定想去新創也可以參考
Career-Launching Companies (謝謝 Yen-Ming 前輩分享)
- https://blog.wealthfront.com/career-launching-companies-list/
AngelList
- https://angel.co/jobs?ref=onboarding
如果幸運能夠有選擇公司的機會,我會先把我自己會考慮的點以及優先順序全部列出來(移民政策、技術、公司文化、地點、薪水等等),然後再帶著這些條件去找曾經在這些公司工作的人問問題,找答案。先列出自己優先順序的好處是不會在問問題以及聊天的過程中迷失自己的優先順序,畢竟每個人所考慮的點都不一樣。
# 結語
希望這篇有提供資訊給一些需要的人,不管是申請研究所或是到美國來後找工作都非常感謝所有願意讓我請教問題的人,如果有任何問題也請不吝留個言或丟個訊息給我,祝一切順利。
--
markdown排版推
這個一定要推~很詳細, 感謝分享!
推實用
推
推分享
咦仔細看你的2022 result是2021開始面的?
詳細推
推
推一個
推 超詳細
謝謝
強
感謝分享
markdown排版推
文筆好籃球又猛 給點活路吧
推原po
從實習就很厲害
好詳細!感謝分享各種實用小技巧!
強者推 謝謝分享
推 感謝經驗分享
推分享
強者推
推
推
非常詳盡的分析與內容 感謝
推推
推
推詳細
又帥又強
只能推了
推
恭喜
推了 感謝完善的資料整理 很有幫助
推
超詳細 推
推~感謝原Po
詳細推
推
大推
推
推
推
出去看一下有沒有走錯板
推 感謝分享
感謝分享
太神了吧
推
推
超詳細,推
強者推
3w
大師
推
太強啦
推!
推分享
推分享!
推分享
推推
面試心態真的重要 推!
先推再看
先推 感謝詳細分享
推認真分享!
推!
推!
推
推分享
推推
感謝分享
先推 感謝分享
推 超詳細
推
謝謝分享
推
推分享
推感謝分享
推
推分享
推 感謝分享
推 好詳細謝分享
感謝分享
推~
推
人家在US intern過 沒啥好參考吧 ptt都在US上課?
推 經歷好厲害喔
感謝分享
謝謝分享
推
推
推單戰(X
推
爆
[爆卦] 我眼中的bump21:01修文提供一些佐證與回應推文質疑. ---- 在比較深入參與GASO台灣這邊的運作之後 因為近期警察家訪之後很多人才發現 「什麼? 我兒子去了柬埔寨?」爆
[心得] 頹廢的8年工作與薪資分享血統不純 118 電碩 能力中下 有別於年薪百萬的大德,小弟想說分享一下頹廢的8年工作經歷 以下薪水單位為k 年份 月薪 年薪 工時 公司 15 43 ??? 14up 系統廠爆
Re: [問卦] 大家對於有憂鬱傾向的女生怎麼想我勸你還是不要碰憂鬱症患者 自己本身是憂鬱者患者 先講如果情侶/夫妻吵架 憂鬱者患者SOP會上演一哭二鬧三上吊 我沒有很想把憂鬱症當成吵架的免死金牌爆
[求助] 找老婆的路上嚴重受阻 求建議...如題 找老婆的道路上 嚴重受挫... 先說我所在的地點 嘉義雲林地區 這邊本來人口就偏少爆
Re: [請益] 有人被拔掉主管職降為工程師還待的下去閒聊一下: 頭銜不是最重要的。工作的內容比較重要。 職稱與權力,不是管理人的武器。。 未來想繼續有機會當主管,面子是最不重要到。 1. 2021年,我去面試一家新創公司。創辦人之一,是早期PC時代,數據機撥接上網時代,的台灣常上新聞的知名公司總經理。爆
[面試] ASML US 控制工程師面試心得分享前陣子小弟我有幸錄取在美國的ASML,由於一直受惠於ptt多年,小弟又秉持著取之於社 會,也同樣回饋給社會的理念,忙碌之餘,趁腦海中還有一些印象,分享一些面試心得跟 一路上的個人感想,希望有機會能幫助到版上有需要的人,尤其是孤身在美國求職的留學 生們,或是正在準備面試海外公司的鄉民。就算都不是的話也沒關係,就當個長篇故事看 看也行。X
[求助] 我喜歡上公司已婚的姊姊朋友沒帳號 幫朋友代po 手機排版請見諒 真的已經有點嚴重了 上班會一直分心 晚上也無法好好的休息74
Re: [討論] 在矽谷工作有比台北好嗎?我沒有在台灣工作過 也很好奇台北工程師的工作與生活是如何 我在灣區工作了大概五年 在這邊的好處是帳面上薪水高 舉例而言新人價底薪約落在12-15萬美金一年 近年來似乎年年創新高50
[心得] 2022文組新鮮人找工作取之何處還回何處,Salary版希望能拯救更多的文組蒼生 【前言】 原訂2019畢業,因為交換所以變成2020/1畢業生 中間這兩年做過大大小小的打工跟工作,也回學校攻讀研究所 不過最後因為個人因素沒辦法完成學業,2022跟著大家一起持續面試38
[心得] 可以問面試官的問題整理這些問題是四處面試跟工作後得出來的一個整理集 整理起來當需要面試的時候翻出自己的筆記效率就很高,不用重新想一次 而且看到蠻多人都在對工作可以問什麼樣的問題,有這樣的需求 大部分的問題是實際經驗上踩過的雷點,可以藉由問出一些問題來掃雷 不要等到進了公司被地雷炸到斷腿