在職跳槽, 半年拿下Facebook & Microsoft Offer

作者: W, 九章學員,曾上過九章動態規劃專題班和系統設計班

拿到offer:Facebook、Microsoft

簽約offer:Facebook

求職經歷

本科就讀於中國top 3的財經院校,讀的MIS(management information system,信息系統管理),研究生就讀於美國top5的MIS研究生院。有過5年工作經驗,在職跳槽,花了半年時間準備,先面了Microsoft,在Facebook onsite前拿到了Microsoft的offer,最後選擇了Facebook。

課程幫助

我報了九章動態規劃專題班系統設計班,這兩門課程都給我提供了很多幫助。

以我個人來說,DP(dynamic programming)是我的痛點,去年面google 5輪中2輪DP,所以毫無疑問的掛掉了。我在看網上的解法時常常會困惑為什麼一些題DP數組的長度=input的長度,為什麼另外一些要長度+1。如果當某一類題成為你的痛點並且你自己在看答案的時候也似懂非懂,報個演算法班在我看來是性價比最高的解決方案。我從九章DP專題輔導班裡獲益良多,遇到DP題也不心慌了。

現在大部分公司會有一到兩輪系統設計的面試這輪面試的考點是你在平時工作或學習中根本get不到的,而且只是通過網上找到的隻言片語的信息、解法,很快就會被面試官問倒的,因為面試官會換需求,或根據你的解法深入去問細節,這些在沒有系統的理解過系統設計的同學很難招架的。 所以我報了九章系統設計的課程,因為簽了NDA,不能說具體的,但是考點在系統設計課程中老師都講過。

準備建議

1.刷題部分

現在絕大部分的tech公司面試的主要內容還是考察演算法及coding, 所以刷題不可避免的成為面試準備的重中之重,我並沒有速成的方法,所以我的經驗可能只對準備時間比較充裕的同學有所幫助。我的刷題方法總結起來就是:

分類整理,溫故知新。

大致說下我刷題的過程吧:

做新題

  • 拿到一道新題,我會給自己5分鐘到10分鐘的思考時間,並不動手coding 或是下筆寫,只是想下這道題屬於什麼類型的題(我把lintcode上的題分了10大類,及若干子類,會在最後貼出來), 我之前有沒有遇到過相似的題或是某道題的解法可以用在這道題上。
  • 如果你的時間充裕,可以把自己想到的思路implement出來,如果是剛開始刷題沒有解題思路或是要時間比較緊迫,可以直接在網上找答案來看(九章的lintcode答案查詢 絕對是最高效的)。
  • 我的習慣是多看幾份答案,找出最優且最符合你思維習慣的解法,如果你之前所想到的思路解法並不是最優(比如說時間複雜度或空間複雜度更高), 這時候你需要花些時間去理解下最優解,學習一下最優解的解題思路,這樣才能慢慢的增加你的解題思路。
  • 根據你所選擇/implement的解法,把題歸類到文檔 – 我是把所有題都記錄在一個word文檔里,思路相近的題放在一起。

複習

這一步是很關鍵的,我聽過很多同事/同學說我刷了幾百道題但是感覺沒什麼提高,之前做過的題再遇到還是沒思路,或還不是按最優解來做,我分析出現這樣的原因是因為之前遇到這道題的時候,解法並沒有完全吃透,或是記憶不深

所以複習做過的題就很有必要,但這個時候並不是再去上刷題網站按題號來刷,而是要用之前分類整理過的document來,這麼做的好處是相同類型的題解法也相近,多道相似的題在一起刷往往更容易找到規律也更容易記憶。

在過你的document的時候,盡量總結出針對某類題的template,比如bfs,binary search,或是某類問題中的特定題

重點突破

對於某些難題,應該單獨拿出來,一步步看(IDE里打出結果),加深理解。

總結分類解題特點及注意事項: 每一類題都會有些很細小但容易出錯的點,刷題過程中要慢慢總結,比如我總結的數組需要注意的點:

1. 如果結果求的是區間,i-j; 如果是求點集,i-j+1.n2. 如果在循環里再循環移動指針,要加上判定指針是否還在數組範圍內的判定n3. 數組需要計數的時候可以用mapn4. 數組內部的數組是否有重複,排序後第二個相同的數字是否要skipn

2.系統設計

這部分內容比較靈活,難度也比較大,建議參加一下九章演算法的系統設計班,基本上考點都涉及了。

3.Behavior question

這個並不是每個公司都有,但是有些公司對這個有很看重。我個人覺得這些問題你基於幾個基本點出發去答題,應該就可以:

  • 你和你的同事都說professional的,所有爭執分歧都是因為看待工作的角度不同。
  • 溝通,溝通還是溝通
  • 責任心。

4.面試心得

面試官出完題,和面試官確認些Corner case,保證自己正確。

可以先和面試官說出自己大致思路,如果有多個,可以都說,面試官可能只會讓你實現一個。寫完自己過些test case,debug。

推薦閱讀

騎驢找馬, 拿到 Linkedin Offer

近百封簡歷石沉大海,最終斬獲 Google Offer

學渣的逆襲:簡歷一路被拒, 到拿到Amazon Offer!

在職跳槽,拿到Facebook, Google等 Offer

轉專業找CS Intern, 拿到FB, MicrosoftOffer

歡迎關注我的微信公眾號:九章演算法(ninechapter)。

精英程序員交流社區,定期發布面試題、面試技巧、求職信息等。


推薦閱讀:

獵頭如何提高簡歷推薦質量
去某商業銀行總行面試,是否應該穿正裝?
極光日報 第 127 期 | 2017 / 3 / 1
恆豐銀行的面試結果為什麼要等那麼久?
找碼工常見問題大合集

TAG:跳槽 | 面试 | 信息技术IT |