自己只有两年经验,分享一下自己看法。
刷题对于懂语法,但对资料结构没那么熟的人来说帮助还是很大。这年大概陆陆续续刷了
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一些。