板上/网络上其实已经很多相关资讯(推荐一亩这篇
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