Fw: [心得] COVID期間拿到Google FB 微軟 Offer Part3
※ [本文轉錄自 Soft_Job 看板 #1VirlYow ]
作者: ghostreporty (ghost) 看板: Soft_Job
標題: [心得] COVID期間拿到Google FB 微軟 Offer Part
時間: Tue Nov 17 13:13:04 2020
如何準備面試和談薪水
上一篇我分享了我在 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 講我有
Facebook 和 Microsoft 的 Offer 再談。
果不其然,第一個給出來的價碼偏低。我也是好聲好氣的說謝謝,但是可否給我更高,因為我覺得有點低,假如有簽約金那更好。注意我並沒有給數字雖然我心裡已經有一個數字。Recruiter 說他回去問問 Compensation Team。過了一天他回來給我第二次數字。數字已經很接近我的預期了,所以我就直接攤牌說你們能給我 1.1 * (我預期的薪水) 我就馬上簽。當天 Recruiter 就回來給我1.05 * (我預期的薪水)我也就馬上簽約了。
Microsoft
當時 FB 已經知道數字了,而且我很確定 Microsoft 不太可能給到那個數字,所以我就直接給他 FB 的數字,想試試看定錨效應是不是真的。果然給出來的數字還比較低,只用簽約金衝上下去。 Recruiter 還跟我一直講微軟福利多好,還問我有沒有養寵物,我們可以在 relocation package 裡面幫你加運寵物的費用。一般你聽到公司跟你談的不是薪水而是其他事情時,應該就要知道這是他們的極限了。
總結
看很多人都說 CS 末班車要開走,其實我覺得要開走其實還很早。現在難的是在如何上車,再加上疫情讓公司變得保守起來。全世界都知道美國軟體業爆炸性成長,所以來美國讀書的學生也跟著爆炸性成長。美國各大學也發現了這個趨勢所以開始瘋狂開名額讓學生來讀,舉我學校德州農工來講,我2014年來只有三個碩博士學生,到了近幾年都快十個有時候甚至超過。學生數量變多了,但公司的缺額並沒有跟上學生數量的成長,導致工作好像變難找。對新人來說的確變難了,但對有經驗的人來說沒什麼差。
最後祝福各位不管在求職還是求學的路上都能順利,等到自己成功的那天也不要忘記幫助未來也想出國讀書找工作的台灣人。
我想了很久後來決定發在軟體版,因為我相信有很多這裡的強者也有思考過是否該出去闖
希望我的文章能對大有幫助。非常感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 50.24.44.245 (美國)
※ 文章網址: https://www.ptt.cc/Soft_Job/M.1605589986.A.CBA
薪資談判很有幫助,推
曾在NCU受你照顧了,謝謝你的分享:)
推
ㄊㄨㄟ
推*
有經驗的人,表示他已經就上了以前發車的班次了
末班車開走通常指的是已經沒有新發車的班次,之前發車的
當然還在持續行進中
幫推
推好文
好文
推
還輪不到CS的車開走吧
Data Science跟Data Analytics的車搞不先取消營運
*搞不好先
推!
推
感謝分享!
太厲害了
推
推一個內容中肯
推!
很詳細謝謝
推分享