自己只有兩年經驗,分享一下自己看法。
刷題對於懂語法,但對資料結構沒那麼熟的人來說幫助還是很大。這年大概陸陸續續刷了
500題,對各種資料結構操作的複雜度熟了很多,也更快的能分析如何優化,有什麼
tradeoff。前公司在做圖論相關演算法,dijkstra, prim, bfs, dfs, dynamic
programming等都很常使用,刷題更是有直接的幫助。題庫網的測資其實都蠻齊全,也有
很多edge cases需要考慮,在工作也能避免踩到同樣的坑。
自己面試過AMZN, CDNS, SIE, G, Q, M, GG, 裡面沒考coding就M跟GG,GG是面MLE,只
討論了一下碩論(深度學習),M是面modem swe,只討論了一些OS,也是唯一沒上的一間
,大概個性不太好,一直被Challenge。其他Coding interview大概就是給個open
question,希望你分析一下問題,有沒有哪些限制,怎樣能做得更好,如果API很頻繁被
call,能不能有更好的平攤複雜度,比較困難的凡而是釐清問題這塊,實現都不是太大問
題,比較特別的是有次面試直接打開C++ Container Reference要你跟他一起分析各個op
的複雜度以及實作。
要說刷題好處我認為大概是比較多機會可以做偏application layer一些,離板子遠一些
,可以remote work,也比較能選擇自己適合工作的時間(小弟都半夜夜深人靜coding)
,同事主管也都蠻能體諒,薪水也不輸一線IC廠,算是相對WLB一些。