[心得] COVID期間拿到Google/FB/微軟 Offer Part3
如何準備面試和談薪水
上一篇我分享了我在 COVID-19 期間如何拿到 Google 、FB、Microsoft Offer 的經驗。這篇我會講一下我是如何準備面試和如何談薪水。
面試 — Leetcode
我個人建議是千萬不要盲目的從第一題開始寫,因為每一題並不等價。有些題目是經典中的經典,有些則是太偏頗。以下是我的寫題目經驗分享:
1. https://leetcode.com/list/xoqag3yj/
這個是在 Blind 這個論壇有個 FB 工程師整理出來的。很多人非常推,我個人也非常推。這個清單集合大部分的經典題目。可以把它想成是基礎題目,很多其他題目都是由這些題目衍伸出去的。
2. https://www.programcreek.com/2013/08/leetcode-problem-classification/
這個就有點像是上面的擴充板,我個人也非常喜歡。這個清單也會依照不同的主題分類讓你想要一次大量練習某個主題的經典題時很方便。我會建議裡面的 Dynamic Programming可以先跳過。
3. 上面兩個假如你都寫完的話 (其實上面兩個寫完也很夠了)。我個人會建議可以花錢買一下Leetcode Premium 然後開始寫 Amazon、 FB、 Uber、 Microsoft 的題目。Google則是建議不要寫,有跟 Amazon、 FB、 Uber、 Microsoft 重複就沒差。Google 的題目很多太變態,要用一些很奇特的解法,但是真的面試時其實也不是很常遇到。
再來談一下我的寫題目哲學:
千萬千萬不要背題目,你要背的是後面的演算法和思考模式。背題目無法長久的。我平常沒在找工作時,一個星期可能也會很悠閒寫個兩三題,就是看看一些解法想一下。這樣子主要是隨時保持一定的手感,以防跳槽時不會感覺從0開始。
我有一個像下面的記錄表,記錄著我寫過什麼題目。此表的用途是讓自己更了解這個題目我寫過幾次,該題是不是比較弱的地方。還有寫題目時,我習慣今天寫題目時看一下昨天的題目,想一下如何解。週日看一下整個星期的題目,每個月最後一天看一下該月最不熟的題目。題目都會被記錄在表上,所以你也可以馬上知道自己該題目的熟悉程度。
面試 — System Design
1. Grokking the System Design Interview
這個是一個付費的資源。沒有很貴我也覺得很值得。主要就是把幾個比較經典的題目拿出來討論,但是千萬不要只讀這個,因為他探討的非常表面,你需要更深入去研究每個一個系統,不然面試時很容易被看破。
2. https://github.com/donnemartin/system-design-primer
這個也是一個很棒的資源,也是把一些經典的題目拿出來討論,比上面更深入,所以會建議搭配上面一起用效果會很好。
3. Conference Talks
這些演講我真的受益良多,都是各大公司經驗談。看這些演講時,細節就不用真的去專研,主要是了解他背後的架構和哲學。我挑的這些都是這些公司早期如何應付大流量的
Refactor 經驗談。這些都是面試很愛討論的
Instagram: https://youtu.be/hnpzNAPiC0E
4. Classic Papers 有空的時候可以加減讀一下
The Google File System
Dynamo: Amazon’s Highly Available Key-value Store
Bigtable: A Distributed Storage System for Structured Data
The Chubby lock service for loosely-coupled distributed systems
Scaling Distributed machine Learning with the Parameter Server
Spanner: Google’s Globally-Distributed Database
5. DDIA 聖經 (Designing Data-Intensive Application)
不要直接拿來啃,會非常崩潰。請把他當工具書,遇到比較不了解的系統再去翻這本。
我本身就是有 SRE 的經驗,所以公司內部的系統大約有個概念,所以準備起來也比較上手。L4 (有經驗但還未到資深工程師) 的System Design的大架構其實就是 Front End->Load Balancer -> Internal Proxy -> Middleware -> Cache -> Storage/Database/CDN等等。中間變化很多,細節也很多,所以就看個人想要專研到什麼程度,但大架構一定要理解,這樣才比較好討論。
個人建議是一定要找一個比較了解系統的人幫你 mock interview 和實際把圖畫出來,不然真的面試時會非常卡。
談薪水
談薪水文章很多了,所以下面我就講一下我的一些建議和實戰經驗。
薪資資訊網站
1. Levels.fyi
就是一個匿名的薪水申報網站。美國軟體大公司的整包薪水和職等在上面都寫得很清楚。
2. Blind
Blind 是一個匿名的論壇。上面會有各式各樣的方想文章,分享內部八卦、分享薪資、分享如何準備面試。但因為匿名所以裡面的文化有點太金錢主義,所以不要相信每個東西。
3. 一畝三分地就大家比較熟的中國論壇
4. H1B Salary Database
可以看到每個公司幫H1B的員工申報的薪水。請注意這裡的薪水是只列底薪。所以想要談底薪的話,這個網站非常有幫助。
談薪水注意事項
1. 千萬不要先開價, 這是定錨效應。談判的藝術就在這裡,你永遠不知道公司認為你的價值在哪裏。假如你今天開了一個低於行情價的數字,公司肯定不會給你更高的。
2. 談薪水在美國是非常正常的,只要你不是獅子大開口,什麼都可以談的,也不會你談就把你 Offer 撤掉。公司都花了這麼多時間和金錢在面試你,肯定不想這樣就放棄。獅子大開口:例如行情價約是 100k 年薪,你給他開個 200k 這樣。
3. 想盡辦法要到email上的數字。很多公司都要你有證據才願意 Compete。
4. 最後一張牌:假如發現已經談不上去的話,最後一張牌就是直接跟 Recruiter 說:只要給我XXX 薪水,我現在馬上簽。Recruiter 聽到這句的時候,都會想辦法幫你搞到那個數字,因為代表你已經攤牌了,沒有什麼好談的了。
我談薪水實戰
我Offer順序是這樣子:Facebook -> Google -> Microsoft
Facebook
起初 Recruiter 一直要我給數字。我的答覆一律:這個職位資訊比較少,所以我真的無法開出一個數字。真的不好意思啊。最後 Recruiter 也發現我不願意講,他們就先開數字。我也沒有跟他們談,因為當時 Google 已經選到組而且我比較想去 Google。我個人道義上不想要讓公司進到Bidding War, 因為之前有聽說過兩敗俱傷加上又耗時。
Google
跟 FB 一樣一直要我開價碼。我答復也一樣:我人現在在德州,我不太了解非德州的行情,所以我真的無法開出一個數字。真的不好意思啊。我知道 Google 是出了名假如你沒有其他他認可的 Offer 他會開個很低的數字,所以我有特別跟 Recruiter 講我有 FB 和
Microsoft 的 Offer 在談。果不其然,第一個給出來的價碼偏低。我也是好聲好氣的說謝謝,但是可否給我更高,因為我覺得有點低,假如有簽約金那更好。注意我並沒有給數字雖然我心裡已經有一個數字。Recruiter 說他回去問問 Compensation Team。過了一天他回來給我第二次數字。數字已經很接近我的預期了,所以我就直接攤牌說你們能給我
1.1 * (我預期的薪水) 我就馬上簽。當天 Recruiter 就回來給我1.05 * (預期的薪水)我也就馬上簽約了。
Microsoft
當時 FB 已經知道數字了,而且我很確定 Microsoft 不太可能給到那個數字,所以我就直接給他 FB 的數字,想試試看定錨效應是不是真的。果然給出來的數字還比較低,只用簽約金衝上下去。 Recruiter 還跟我一直講微軟福利多好,還問我有沒有養寵物,我們可以在 relocation package 裡面幫你加運寵物的費用。一般你聽到公司跟你談的不是薪水而是其他事情時,應該就要知道這是他們的極限了。
總結
看很多人都說 CS 末班車要開走,其實我覺得要開走其實還很早。現在難的是在如何上車,再加上疫情讓公司變得保守起來。全世界都知道美國軟體業爆炸性成長,所以來美國讀書的學生也跟著爆炸性成長。美國各大學也發現了這個趨勢所以開始瘋狂開名額讓學生來讀,舉我學校德州農工來講,我2014年來只有三個碩博士學生,到了近幾年都快十個有時候甚至超過。學生數量變多了,但公司的缺額並沒有跟上學生數量的成長,導致工作好像變難找。對新人來說的確變難了,但對有經驗的人來說沒什麼差。
最後祝福各位不管在求職還是求學的路上都能順利,等到自己成功的那天也不要忘記幫助未來也想出國讀書找工作的台灣人。
我想了很久後來決定發在軟體版,因為我相信有很多這裡的強者也有思考過是否該出去闖希望我的文章能對大家有幫助。非常感謝!
--
推
推
推
很棒的文章,推
推
推
難上車就是所謂的末班車的意思
同意 只是缺一直都還有就是了而且還是比其他科系好找很多 軟體公司的財報也一直都表現很好。現在可能疫情影響所以新人缺真的少很多。
很實用的文章
推!
11
推 謝謝
推,謝謝分享
推
推,謝謝分享
先推
高手先推
推
我也好想上車 推分享
推分享
推
讚
Big congrats! 也推好文分享
果然是長期準備的強者 信心大增
認真 推
本身要強才能這樣談吧 神人
Welcome to Google
歡迎
太強 感謝分享
厲害
很棒,好好在美國生活下去吧!
推
用心推
推
推推
推推好文 存起來
推推
推推!
謝謝分享實用的心得 祝你一切順利
好文 推
推
謝謝分享
謝謝分享~
推
推 感謝分享
推實用
推
推分享
推分享 很實用
推
推阿
強者推 也想出去外面闖一闖啊!
推
跪著看完
強者 推
推
推
在美國名校唸書加實習 就已經上車一半了
你各位還在台灣混飯糊口的 先洗把臉冷靜一下
推
推
好猛 推!
強
太強了...
感謝
推
想問這篇關於英地的帖子有多少真實性? shorturl.at/adqSZ
網址好像有問題
謝謝分享
推
謝謝大家的支持!
用心推!
推
推
推
強! 推!
推
推 恭喜 想知道下班怎麼還有力氣準備的XDD
太強了
推
很有用的文章 推推
推 大大一生幸福
推
推
高手推
太強了,魯蛇我只能留在台灣等分遺產...
實用 推
高手 推
推
推
推
好文章,感謝
推推,感謝分享
感謝分享 裡面東西很好用
感謝分享
推 強又很實用 謝謝分享
好神
強
謝謝前輩分享
推,感謝分享
推推
非常實用
推
謝謝分享
感謝分享
推
薪資談判很中肯
推推
推
謝謝分享
推分享
推
感謝
推
推
推
推爆 感謝分享
謝謝分享~
推分享~MS談薪水講寵物真的...XD
推
推
推分享
推,感謝分享
感謝分享!推~
推 能否share刷的總題數&次數?
其實我不太準 因為我連有工作時每個星期都會固定寫個幾題 假如是準備期間的話 大約300題吧 但也是把經典的重新寫一寫 已經寫到一種我看到題目就知道我會不會寫的境界... 我滿喜歡寫演算法題目的 覺得跟玩桌遊有點像
開價那部分 我一輩子也想不到這種事吧...
推大神
I love u
感謝
推
優文
推推
推
推
推
推推 優質
?推
推爆!
感謝分享..
爆
[心得] Leetcode 刷題解答與 Python 3 小技巧分享嗨,大家週末愉快! 不知道還記不記得之前小弟有分享面試 Google TW SWE 的心得, 最後有提到小弟當初有發願,如果順利進去要把過去寫過題目留存的解答整理分享出來, 最近終於施工完了,提供給有需要的人可以自由取用。 這份解答內涵蓋了 781 題的 Python 3 解法(太早期刷的題目就沒留解法了 QQ),爆
[面試] 2021跳槽面試: Google/Linkedin/Oracle左思右想,身在科技業還是該承擔起分享面試經驗的責任 以下簡短介紹拿到面試途徑, 面試難易度評價及心得 跳槽職位介於SDE mid ~ senior level ------------------------------- Google (Offer)95
[心得] 面試分享 Google/MS/Amazon/RokuMedium 好讀版 前言: 在 2021 這半年多的時間,共面試了九間公司,拿到了六個 offers。 過程中從版上得到很多有用的資訊,希望這篇分享也能對大家有點幫助。45
[心得] 代po Google SWE Offer以下附上心得分享: 前陣子拿到 Google offer,之前在準備面試時看前面幾位大大的文章很受啟發,趁記憶 還比較清晰時分享一點準備心得,希望能對正在準備或之後想準備有一點幫助。 以下文字比較偏個人看法,如果用詞有些不太恰當還請大家包涵;Google 大神很多,個 人資訊就盡量不提。22
[討論] leetcode半年小小心得大家好 非本科入門一年多 這半年比較密集的寫了一點leetcode 雖然跟很多人比起來很菜 但多少有點進步分享一下心得 希望可以幫助到剛開始寫的朋友20
Re: [討論] 演算法不強,還有辦法在資工混下去嗎?你好 是這樣的 在下也曾經迷失在Leetcode題海里 自己摸索了快半年 (= =) 才開始搞懂他的門路 摸索的過程中 還要搭配面試 最後才知道Leetcode到底在玩甚麼 其實最常考的 就是array/list/tree搭配BinarySearch/DFS/BFS 我敢說上面這六個東西佔據了線上測驗跟電話面試其中90%的題目19
[心得] 面試心得之前有發過一篇,後來想說等Amazon面完再一起發 今天終於把Amazon面完了,分享一些心得給大家 背景: 四大CS學碩,目前在MTK做軟韌體 程式能力就一般,跟板上大神比差很多14
[心得] 日本職缺 Paypay / Amazon JP / Rakuten除了台灣職缺外 我還有投了一些日本職缺 雖然本身會說一點日文 但還是希望在英語環境工作 我想這樣能儘量避免一些日本工作文化 如果有版友有其他日本公司覺得不錯 也可以推薦給我~ PayPay - Backend Engineer11
[北美] Leetcode刷起來 分享刷題之我見之前找工作時我恨透刷題了 說實在話 Leetcode上面medium以上的題目 很多並不是你不會 而是因為你沒練過 在一輪面試(扣掉閒聊大概只有40分鐘)根本寫不出來 最後下場就是落得去外包公司吃屎 蹲了三年實在不願意一輩子吃屎 只好開始跟大家一起刷題4
[問卦] LeetCode刷幾題能去挑戰面試欸欸 LeetCode 不少人面試前會去刷題 目前肥肥我還沒工作需求拉 所以我是學新語言時刷easy的題目來練習語法之類的