人生的真相是重复 ——Acwing社区

前言

本篇适合想找互联网工作(算法、后端、前端、测开、数开…) and 没有ACM经验 or 对自己算法水平不自信的同学

明确目的

首先,我们刷题需要有目的刷,多刷,优刷 ,速刷…

最终目的是为了在面试手撕的时候吊打面试官,让面试官目瞪狗呆,瞠目结舌从而通过面试;而不是像大爷一样想刷哪里刷哪里


找工作的算法考核一般分为两个part

一 笔试

秋招or找实习基本上都只有中大厂有算法笔试,小厂几乎没有;笔试也叫海笔,公司会参考但不多,如果简历不错,哪怕一道题没做出来也能过,例如美团,京东;但是有的公司卡笔试,比如阿里通义、华为等公司;

笔试难度一般不是简单刷几道leetcode就能hold住的,如果没系统性的学过算法并且你的时间非常充足(距离找实习或者秋招大于8个月),建议可以每天花时间学一下:

注:上述这两个都是本人知识付费过觉得物超所值的(大学生摒弃白嫖思维,愿意知识付费是很重要的)

考察形式:OI赛制(自己写输入输出),类比蓝桥杯,每道题按多次提交的最大通过率去计算得分(基本上骗分是很难的,一般会多组样例防骗分)

其实,笔试这个东西,没必要那么老老实实的是有奥妙的,有邪修,欢迎留言

二 面试手撕

这一part才是找工作中的重要环节,例如一些大厂,手撕出来了不一定要你,手撕不出来基本不会要你

一般考核都是核心代码模式,那么LeetCode就是主战场,很多题目基本都是leetcode原题

但是题目这么多应该怎么刷呢?

这里分享一下我是怎么刷(所有面试过程中的手撕基本上没有问题)

语言基本不是什么问题,不要纠结语言问题,即便你面的java的岗位,你用c++手撕也是没问题的(当然最好的还是和岗位语言一致)

  1. 代码随想录 题量估计200道,这是一个非常不错的题单,覆盖广 🌟🌟🌟
  2. Hot 100 一定要会!刷的滚瓜烂熟,背也要背下来🌟🌟🌟🌟🌟
  3. CodeTop 有各个公司手撕题的频率,一般都是在面某个公司前,刷这个题单碰运气抱佛脚 🌟🌟🌟

如果你有一年及以上的准备时间,建议二刷代码随想录,n刷Hot 100,两者之间大概有50道题是重复的

如果你有半年左右的准备时间,建议一刷代码随想录,三刷Hot 100

如果你时间很急,报意思,请直接开始背Hot 100

Hot 100要刷到什么程度呢?看着就会,要能背出来,一道题AC时间不超过15分钟,时间空间复杂度要心里有数。例如这道题128. 最长连续序列我刷了9遍,已经会背了

心得:

手撕这个东西,基本必会,但是有些公司其实不是出leetcode原题,并且会有变式,例如字节腾讯,多数公司还是很人性的

善待算法题,很多题不是刷一遍就会了的,要反复的刷,反复的背,人生的真相是重复

另外,上面的题单有些hard题可以不用做其实,如果CodeTop出现频率高可以写一写

上面的准备仅限于算法题的手撕,其实还有一些比如多线程、设计模式的手撕是需要额外准备的,比如我遇到的一些海量数据场景题、手撕单例模式、业务场景手撕…

刷题无捷径,重复才是真