板上/網路上其實已經很多相關資訊(推薦一畝這篇
https://tinyurl.com/bjz7wavv )
本來沒有要發一篇的,看到徵文活動想一想還是有些資料/心得可以分享給版友 (肯定不是因為缺p幣)
小弟北美大廠SDE工作近3年
TLDR:8個onsite,6個offer,最後選擇去Google。
《Timeline 》
8月開始刷題,加入PTT刷題讀書會
11月開始投履歷
12月練手面試
1月集中面試
2月談offer
《刷題準備 》
求學時刷了< 300題。這次準備大致分三個階段
第一階段 - 照題型練習
我們讀書會是依照這篇的順序https://tinyurl.com/47jmpsv4
每一種題型要熟悉解題原理。至於背模板與否,我是覺得可以背,只要注意不要過度依賴。建議在理解原理後再來背,模板主要是幫助記憶/臨場表現。
第二階段 - 隨機刷題/練習難題&周賽
等到每個題型都有一定程度後開始隨機選題,然後試著寫高頻難題,LC hard照頻率排刷完第一頁。Hard的部分我覺得算是optional,有精力或想打比賽的可以多試試hard,當作活絡頭腦,不然只要寫過經典的hard就好了
(參考上面鏈接/LC經典75題 https://tinyurl.com/bddbvpyy )
12月刷到這裡總題數約700,周賽基本都能做完,落在300~1000名左右,說不上多強但後來覺得有點刷過頭了.. 其實面試沒有必要刷到這種程度,多數難題是可以和面試官討論出來的。
第三階段 - 考古題
面試前一週主要刷LC company tag/一畝近期考古題,尤其是LinkedIn,Robinhood,Coinbase等專出題庫題 (Robinhood只有三題...)
《System Design準備》
個人是先從YouTube影片(參考上面一畝鏈接)入手一些基本概念,之後開始讀一些blog和paper (Dynamo必讀),DDIA讀前面2章,System Design Interview by Alex Xu 輕鬆讀。
等到大部分概念都有一定了解後開始跟朋友練習mock。練習很重要,概念都懂可是不會跑面試流程很容易超時或是不小心給自己挖坑。
個人是每周至少找一次mock,跟朋友或是在pramp.com上找,面試前一週在interviewing.io上付費mock。付費的面試官給的feedback通常是有參考價值,幾百鎂能增加一點面試通關機率還是值得的。
《心得》
1. 面試好難排.. 有些公司流程就是慢(Google/Uber),或是給了HR availability後遲遲不回,只能把重複的日期給別的HR然後看誰先定下來。想把所有面試排在兩個禮拜內然後一起談offer簡直不可能..
2. 準備時間不宜太長,時間一長容易影響工作,壓力也會一直累積。YMMV,也是聽說有人裸辭後再準備,或是上班很輕鬆可以慢慢刷題.. 我覺得一般人3~4個月比較適合。
3. 面試本身是個很吃運氣的東西,像是接到面試/遇到的面試官/題目/HC/個人背景&組匹配與否/面試當天狀況等等.. 所以沒有必要因為幾次失敗就感到氣餒。
以上是小弟粗淺的整理與心得,希望能幫到各位。有問題歡迎提出來,除了關於讀書會,暫時不招人了所以不用來信問XD