在职一年跳槽刷题经验总结

作者: [aokise]

在职一年跳槽去了自己很喜欢的公司,很多同学朋友来问刷题经验,感觉大家问的问题都差不多,写个帖子总结一下

最常被问的几个问题:

  1. 准备了多久?时间线是怎么样的?

从开始刷题到最后一个面试大概整整三个月。刷三四周开始找hr聊天,聊完一两周安排电面,电面完一两周onsite。拿来练手的公司最好安排在刷题两个月的时候,最后几个dreamcompany放在第三个月。同档次的offer一起拿,好跟 hr argue高package

  1. 刷多少题比较合适?刷的速度如何?在职如何安排时间?

最后一共刷了340题。150 左右可以开始电面,两三百开始onsite。

刚开始特别慢,因为毕业的时候没刷题看地里面经进的公司,基本啥也不会哈哈(再次感谢地里,鞠躬)有时候一天一道hard都看不懂。后来越刷越快吧。所以刚开始不要急,看看答案,熟悉不同类型题目的思路,后来肯定会变快的。

在职刷题需要下定决心,不然会因为已经有工作了而没有动力,很久都跳不成功,然后又想升职又想排卡,更没法跳了。Newgrad进了不喜欢的公司,一定要越早跳槽越好。不然大概率会温水煮青蛙,堕落下去。(虽然说的好听,其实我也是这样,差点鬼混下去了2333,在职跳槽真的很难有动力)基本上那三个月晚上回家/周末都在刷题,很辛苦,用完了所有假期去刷题和onsite

  1. 刷公司tag题吗?

我没有针对不同公司刷题,只会在面试前两三天看看那个公司的面经(偶尔能遇到原题,但不要有侥幸心理)。不同公司风格不同,有的题库小要求bugfree(比如fb?),刷tag可能有用。总体来说如果目标不止一个公司,最好刷经典题而不是tag题

  1. 刷几遍,怎么刷

经典的几十道题刷了三四遍,其他一遍。刚开始没概念好题烂题一起刷,后来就有感觉那些题比较好,哪些题纯粹浪费时间。比如bfs,dfs,backtracking,linked list,string,tree map,binary tree tranversal等等一定要熟练掌握。Dp什么的我觉得不太考。纯考edgecase,算法很少的题也没什么意思。基本上leetcode点赞多的就是值得好好研究熟练运用的好题。个人感觉按类型刷比较好。

  1. 怎么拿到面试?

直接推到manager手里最好,找不到的话去[linkedin]勾搭hr。然后就是找同学在内网内推。最后海投。

  1. 面试经验?面试中注意什么?

英语流利,沟通顺畅和会写代码都很重要。不要背答案,就算以前刷过这道题,因为一步步推出来和靠碎片式的记忆背答案区别很大。

白板写题和电脑很不一样。如果能选电脑可以考虑一下。不然要提前训练白板。(比如我周末会去公司会议室练习白板mockinterview)

写题之前要问清楚,写到一半/写完发现理解错了基本gg。思路要快,不用立刻想到所有步骤,但要有大概思路。在写的过程中不断填充一开始没想到的部分,注意交流和面试官的hint。

  1. 有性别优势/有被烙印黑嘛?

我的感觉是,大公司歧视男生,start up歧视女生。。。所以总的来说差不多吧,哈哈。比如我有的startup面的很好but还是不给offer; 相反的,传闻bar很高的大公司面我的题都不难。遇到的烙印也都人很好,没感觉被黑,不要有这种想法比较好。

  1. 推荐的资源?
    强推印度小哥YouTube 频道:

讲的超清楚!算法刷题最佳导师

还有个小哥

系统设计讲的比较多(我很喜欢他因为感觉他概念很清楚,很聪明

  1. 面了什么公司?面经?

乱七八糟面了一堆,金融公司, tech 大厂, 小start up都面了,大概不到十家公司吧。Opendoor和two sigma没过,其他都过了好像。

整体感觉金融公司比较水,base和bonus 巨高因为没有股票。有的金融公司流程很快(比如bloomberg一天出结果,三天offer deadline。。。。

大厂比较好准备,因为就是算法。。。刷就行了。大厂流程慢,最好安排早点

Start up考的更实际更看基本功。(对我这种转专业的还是需要多准备一下的~)比如他们喜欢考multithread,lock,还有一些底层的东西(被考过实现queue,我用了arraydeque的写法,还好看过类似视频。。)还很喜欢问sql,nosql的区别,如何处理largescale data。一年经验的话问到这个地步就差不多了。这些内容我都是刷题之余看YouTube视频补充的知识。(转专业基础差硬伤呀)。以后有身份了想去startup玩玩。