中國碼農在硅谷:求職流程與經驗分享

每一個優秀的工程師可能都有一個硅谷夢,在全球頂級的互聯網公司,和最優秀的工程師一起,做最酷的事情。這裡,我希望能通過自己最近找工作的經歷,幫助大家瞭解硅谷求職的途徑與流程,拉近你和硅谷的距離。

美國工作的前提——簽證

大家聽得最多的應該就是美國工作簽證 H1-B ,每年4月,所有申請人在公司的sponsor下,統一進行抽籤(lottery),角逐85000個名額。因為其中20000個名額是保留給擁有碩士/博士學位的,所以近年來,本科生中籤率大約25%, 碩士45%,與國籍無關。

H1B歷年申請人數(2017年 —23600人)

中國碼農在硅谷:求職流程與經驗分享

谷歌,微軟,Facebook每年都會在中國大陸招人,並sponer H1B簽證,如果一切順利,當年10年就可以來到硅谷, 享受加州陽光。如果不幸沒有抽中H1B, 根據不同公司的政策,可能會relocate到加拿大,英國,瑞士等不需要簽證配額的國家,也可能第二年繼續幫助申請。面試之前,可以和Recruiter瞭解這些情況。

第二種方式是申請美國研究生,獲得碩士學位,擁有美國留學經歷的同時,還能畢業後得到(1+2)年OPT工作機會(文科專業只有1年OPT工作時間)。三年工作期間可以進行三次H1B抽籤,如果運氣不是超級差,都可以獲取H1B機會。

美國碩士項目時間長短不一,1-2年,有的甚至可以根據自己的選課進度適當調整。美國碩士申請比歐美國家可能略難,但是隻要英語過關,考過託福/GRE,一般都可以申請到學校去讀。不過,近年來CS專業水漲船高,隨著申請者越來越多,申請難度也越來越大。

OPT全稱Optional Practical Training(選擇性實習訓練),我想最初應該是給留學生畢業實習設計的,隨著情況變化,變成了一種美國畢業學生找工作的福利。利用OPT 1+2年的緩衝,找到工作,並獲得H1B簽證。 1+2年中的第一年,任何美國畢業生都可以申請,另外2年為STEM專業專有(大部分理工科專業,詳細列表可以查看:http://stemdegreelist.com/stem-degree-list/)。 OPT畢業後才可以開始使用。

與OPT類似的是CPT,即在校期間的實習(工作)機會,美國留學生在Google, Facebook, Microsoft 等公司實習期間就是使用這種身份。CPT要求來美一年後才可以使用,根據學校要求,可能還有每週工作時間的限制。

CPT/OPT還有一大要求就是要從事專業相關領域的工作,EE可以做CS的動作,統計可以做Machine Learning的工作。但是如果專業和工作match度很差,可能面臨拒絕申請的情況。

CPT/OPT的存在,給努力學習,刷題找工作的同學們留下了寶貴的美國工作機會。但是也讓一些學校變得可以”掛靠”,即利用學校學生身份留在美國,投入少量時間上課,利用CPT/OPT進行工作,並最終獲得H1B。

還有一種是L1簽證,跨國公司的高級員工,通過這種方式,到美國同一家公司工作。微軟、Amazon都有這樣的機會。但是由於L1B只能為這一家公司工作,很多人到美國後可能會轉換成H1B簽證。

硅谷面試流程

硅谷的面試流程一般是以下流程:

  1. 投簡歷。到公司官網或者LinkedIn上申請喜歡的職位,或者利用Indeed.com搜索職位。
  2. 被公司Recruiter發現。Recruiter會根據Hiring Manager的要求進行簡歷篩選,然後和candidate進行聯繫,一般是先通過email預約電話時間,然後電話上問一些基本的問題,一般包括簡單的介紹,工作經歷,簽證身份等,只要被Recutier聯繫,一般都可以進行到下一步。
  3. Recruiter 聯繫後,會讓candidate提供幾個可以phone interview的時間。並安排工程師進行電話面試。
  4. Phone Interview,這一輪是和國內面試最不一樣的一輪,一般不會focus在你的背景,只是自我介紹時做個開場白,甚至都有可能跳過。最重要的是,在30-40分鐘時間內,解決一道Leetcode easy到medium難度的編程題。只有思路不可以,要完整的用代碼寫出來,bug free是基本要求,同時也會詢問時間/空間複雜度。
  5. Onsite Interview,如果Phone Interview通過的話,會安排onsite Interview。工程師Candidate的話,是在一天內安排4-7輪面試,每輪45分鐘到一小時。Onsite Interview 一般也是以coding為主,在白板上寫出bug free的問題,有些公司甚至要求現場編譯通過,test全過。。。同時,根據面試的角色,可能會被安排system design的面試,如: 如何設計一個key-value store database
  6. 通過Hiring Commitee,如果面試順利,Hiring Committee會對候選者進行一定的評估,並由他們來approval或deny。
  7. Offer! 到這一步,會受到recruiter的congratulation,然後探討薪水與股票。如果這個時候有多個offer,是最理想的情況,可以在有底牌的情況下談判。但是也要謹慎,recruiter都是有一定經驗的,一個好的package可能要經過一定的鬥智鬥勇。

在上面的步驟中,沒有提到team matching, 這是因為不同的公司有不同的team match方式,有的是在面試前,在recruiter聯繫你的時候就已經確定是哪個組,大部分公司是這種模式,如微軟,Amazon社招;有的是面試後,發offer前,會安排不同的team和candidate進行接觸,互相選擇,如谷歌,Linkedin;還有的是在入職後,進行一段時間bootcamp,再進行team選擇,如Facebook,Airbnb。

Sign offer後,公司的immigration team或者律所就開始為candidate處理簽證,移民等文件。這個過程一般只需要提供個人信息即可。

硅谷最受歡迎的公司和職業硅谷的公司其實很多很多,這裡列舉一些中國人關注度較高的公司(排名不分前後):Google, Facebook, Linkedin, Microsoft, Apple, Amazon, Yahoo, Uber, Snap(洛杉磯), Airbnb, Pinterest, Dropbox, Quora, Twitter, Ebay, Yelp, Nvidia, Intel, Oracle, DellEMC, HP, IBM, VMware, Cisco, Salesforce, Arista, PureStorage, NetApp ,Stripe.

這些公司都有不錯的簽證政策,公司也比較穩定。目前來看,硅谷的工程師工作有以下幾個大類:

  • Frontend: 發展迅速,百花齊放
  • Backend: 公司統一框架,統一開發流程,向標準化發展中
  • Infurstaure: 老牌公司做Server的軟件,互聯網公司開發新一代工業必需品(如Kafka)
  • SRE/DevOps: 讓工作越來越自動化。
  • Data Scientist/Data mining: 統計、數學背景的比較有優勢
  • Machine Learning/Deep learning: 全球最熱

這些職業發展方向也是各有個的特色,每個方向又有不同的分支。選好一個方向,認真做下去,也許會有意想不到的收穫。

硅谷的Offer多大與生活成本

硅谷的offer也會被叫做package,由以下這些部分組成:

  • Base Salary(年薪)
  • RSU(限制性股票,按年或按季度授予)
  • Sign on bonus(簽字費)
  • Relocation(搬家費)
  • Yearly Bonus(年度獎金)

根據作者瞭解的數據,不同職位與工作經驗可以參考下表:

中國碼農在硅谷:求職流程與經驗分享


生活成本

如果是單身,H1b簽證,12w年薪:

  • 扣除保險,養老401k,稅務(約35%, 聯邦稅+洲稅),每月到手6000-6500美元
  • 房租/車輛保險/油費/話費/網費/水電煤 2500美元
  • 飲食的話,午飯可以15美元內解決,平時聚會,50美元可以吃頓非常不錯的。
  • 如果沒有特別消費,理想情況下可以剩下3000美元。(FYI, 硅谷房價約100W美元+)

如果成家立業:

夫婦年收入30萬,供著一個學區一般的平均價位房(現在灣區除了一些學區太爛或者治安超級糟糕的區,房價沒有下一百萬的),扣除Fed tax、CA tax、SSN Tax、Medicare Tax、LTD tax、醫療保險,還剩19萬;再扣除3萬2的401(k),還剩15萬8,平均每個月稅後到手13,167。

每月固定開銷:

  • 房貸/保險/地稅: 3,500
  • 兩孩pre-school/daycare:2,500
  • 529 plan:2,000
  • Roth IRA:800
  • 小時工: 800
  • 吃飯: 800
  • 車保: 240
  • 汽油: 200
  • 才藝班:200
  • 電煤氣:100
  • 水+垃圾:100
  • 電話上網: 70
  • 手機費:70
  • 人保: 80
  • 小計:11,460

其他開銷平攤到每個月:

  • 一家四口每年回國一次:700
  • 其他旅遊:100
  • 衣物化妝品:400
  • 日用品:100
  • 小計:1,300

因此一家人每月可支配收入為13167-(11460+1300)= 407。碰到大的不可預測開銷,還得向家裡要錢。

各大公司面試風格與建議

Google: 業界標杆,不斷的創造新題目,需要對數據結構和算法非常熟悉, 甚至要對圖論有一定的研究. 谷歌好的一點,他們不像某些宗教公司,迷一樣要求bug free,谷歌更重視對題目的想法,有一個好的想法,一個不漏corner case的偽代碼,也可以贏得面試官的認可。同時,test case要主動添加,時間複雜度,空間複雜度的分析要準確。雖然Google面試題目不斷更新,但是最近一段時間內的面經題目還是可能高頻出現,可以針對這些題目做些準備。

微軟: 微軟有New Graduate招聘,Hiring Event招聘,普通社會招聘。以Hiring Event為例,微軟recruiters會群發郵件邀請參加Hiring Event,報名並通過簡歷關後,會安排phone interview或Online Accessment測試(在網站上做3道題),通過後會安排候選人travel & hotel等事宜,在某一天,將所有候選人聚集在西雅圖,有對應的Hiring Team工程師面試所有人,一般5輪,每輪45分鐘,面試完成後面試官對候選人投票,到一定票數後,基本可以確定錄取。 微軟的題目不難,尤其是Hiring Event,基本都是medium難度以下。 值得一提的是微軟對候選人的旅遊住宿交通是非常的用心,每一個參加過微軟面試的人都對整個面試流程非常滿意。(作者去面試的時候還免費upgrade了一輛頂配的野馬跑車,非常拉風。)

Facebook,Facebook是忠實的leetcode題目使用者,並且和Leetcode題目與時俱進,不斷出現leetcode上的新題。所以面上Facebook的唯一途徑就是刷leetcode,刷很多很多遍。 Facebook對寫代碼的準確度和熟練度都有很高的要求,甚至思路都不care(反正是leetcode題目),但是要對,要快,45分鐘內可能要解決2道題,完整代碼且bug free。Facebook的signon bonus是非常的迷人,對於非常好的候選人,甚至能給出10W美元的sign on bonus。

Airbnb面試,Airbnb是非常受歡迎的公司,薪水高,福利好,公司環境一級棒。Airbnb的題目是Hard Level,並且要求編譯通過,test全過,難度可想而知。但是Airbnb有趣的一點是,他們的題庫非常小,coding題目30道左右,system design 5道左右,只要把這些題目準備好,應對airbnb的技術面試,難度大大降低。除此之外,Airbnb 還有兩輪’價值觀’面試,從他們的角度瞭解你是一個什麼樣的人。官方介紹如下:

Cross-functional interviews: Core Values are the foundation to Airbnb's amazing culture. Everyone who interviews at Airbnb has two or three 30 minute conversations that will be based on the values of our company and why you would want to work at Airbnb, role and team aside. We’re passionate about our product and really driven by our mission to create a world where all 7 billion people can belong anywhere. These conversations will touch on these subjects and are focused on getting to know you better as a potential future colleague.

Airbnb薪水高,股票高,考慮到以後上市,股票翻倍,package應該是目前幾大公司最棒的。

如何刷題

通過上面的介紹,可能大家已經認識到了,硅谷公司面試對算法題要求很高,雖然他們自己也認為這些題目不一定能在以後工作中用到,但是作為一個客觀的考察方式,無論什麼樣的level,都免不了算法環節,尤其是5年工作經驗以下, 算法是整個面試的重頭戲。

針對這些特點,誕生了 leetcode.com 這個網站。這個網站對題目按照知識點(Topic)進行了分類,大家可以按照不同的知識點按類練習。leetcode作為一個oj,提供了足夠多的test cases,同時discussion部分有很多精彩的回答可供參考。

算法與數據結構的準備幾乎要花上三個月的時間,面對FLAG這類公司,要做到Medium一下題目秒殺,Hard題目一小時內解決。Leetcode題目可能要刷上3-5遍,不一定全刷,但是一定要保證各個類別都有涉及,1000題應該是個magic number。

刷題是枯燥的,Youtube上有一位印度人對leetcode的題目的講解,推薦大家觀看,或者可以瞭解一下馬士兵老師講的算法,都有很大的幫助

最後,祝大家好運,歡迎在評論區中和我交流。

相關推薦

推薦中...