硬刚一周,3W字总结,一年的经验告诉你如何准备校招,拿大厂offer

前期准备

校招在我看来是一件时间特别长的战争,为什么这么说呢,因为从你开始准备校招的那一刻开始,到你正式拿到offer的,并且确定去哪一家公司时,时间差不多一年左右,这个时间其实比考研、公务员等都要长,你可能会问为什么需要这么长的时间,当然,这也跟个人的具体情况相关,每个人也会不一样的,但是,也差不了多少,大神级别的除外了。

这篇文章主要还是讲讲校招的整个流程,需要准备什么,遇到问题时怎么去解决,怎么去调整心态,这些都是很重要的,我也是把我个人的真实经历告诉大家,希望能够对大家有帮助。

选择方向

在我看来,第一件事情应该就是选择你找工作的方向,这件事情应该在你开始找工作的半年前左右确定,比如,你2021年3月开始春招找工作,那么,我建议你最好在现在,也就是2020年10月就确定找工作的方向,为什么要这么早,后面我会具体分析。

说到工作的方向,就现在的互联网公司来说,其实可以选择的方向还是特别多的,也是看个人的选择,当然,也是可以有一些数据来做参考的;现在的校招的主流的方向有:算法,后端开发,前端开发,测试开发,运营开发,客户端开发,测试等等,这些岗位通常来说是选择最多的,对于几个岗位,我也给一下自己的建议,可以供参考。

首先是算法,算法这个方向,在我刚刚读研究生的时候也是有想过的,但是,随着深入的了解,以及对于市场对于这个岗位的需求分析,后来,我就慢慢的放弃了,当然这只是一方面的原因;对于算法岗位,现在比较热门的就是深度学习、机器学习了,由于CV方向特别火爆,这里的火爆并不是说好找工作,而是竞争太大了,就今年的算法岗位来说,或者说从去年开始,基本上就是神仙打架了,没有一两篇顶刊论文,你都不好意思说你是搞算法的,所以,如果你想找算法的工作,我的建议是,第一,是不是研究生,第二,是不是211/985以上,或者更直接点是不是985以上的学校,第三,有没有发过好的期刊的论文,我觉得这三点至少满足两点以上才可以考虑去找算法的工作,否则,建议转开发。

接下来说一下开发,开发现在其实竞争压力也不小,想进大厂的压力其实也很大,因为需求就这么多,当然,跟算法比起来就好很多了,后端毕竟方向很多,语言的选择也是很多的,比如,Java、C++、Python、Go这些语言的方向都是可以选择的,之前也说过,Go现在的需求也是在慢慢变大的,可以考虑一下这个方向,竞争可能小一些,其中,Java的竞争最大,可能是因为大家都觉得Java好找工作吧,导致投递的人数特别多,大厂就更不用说了,想找一个Java岗位的工作真的不容易,从我身边的朋友来看,以及身边同学找工作的感受来看,C++进大厂的难易程度还是小一些的,大家可以考虑一下,当然,这些选择也是看你对哪个方向更喜欢了,或者更熟悉了,这里只是给一些建议。

校招流程

上面说了如何选择的问题,选择好了之后,就应该熟悉一下目前的校招流程了,刚刚开始的时候如果不了解的话,或者没有了解一些经验之类的,还是会犯一些错误的,所以这里给大家总结一下。

在现在的校招的模式下,校招分为春招和秋招,春招基本上是找实习的,还是少量的校招补招的,补招就是上一年秋招没有招满,然后在春招继续招人,而秋招基本上就是应届生找工作的最佳时期了。

在今年的春天,2月份开始吧,春招就开始了,很多的公司就开始招是实习生了,特别是字节跳动,在2月初就开始了提前批,2月底提前批就结束了。

所以,春招找实习的黄金时间就是2-5月了,这个两到三个月的时间都一直会有机会,也是拿实习offer的最佳时期。

接下来,6-8月这个时间段,如果你在春招找到了实习,那么一般你就在公司实习了,实习结束后,到9月开始就是要开始秋招了。

但是,这里其实有一个问题,在前面就讲到过,现在的秋招一般都会很早,可能在7月的时候很多的公司提前批就开始了,而提前批又是很好拿offer的时候,所以,选择去不去实习就显得很重要了,或者,你去实习了,如果发现你所实习的公司不是你想留的公司,建议尽早离职准备秋招。从今年的情况来看,可能因为疫情的影响,到了9月份开始秋招,发现其实已经晚了,拿我的情况跟身边的同学来说,今年9月份开始秋招,一般都是投了一大堆的公司,结果最后只有可怜的5个面试机会,这个时候才发现,提前批真的很重要,再对比一些没有实习的同学,通过提前批的面试,一般都有几个offer斩获,对比之下,发现实习的优势竟然没有了,可能这就是现在互联网公司的找工作的现实写照吧。

怎么投递,怎么内推

前面讲了校招的流程问题,这里讲一下在面试的过程中一定会遇到的问题,那就是投递简历。

大家应该都知道,现在互联网公司找工作,基本上都是在牛客网看相关的信息,这也是给大家提供了一个渠道。

关于投递,现在不同的公司也有不同的形式。

第一种,大公司,大公司一般都会有自己的投递官方网站的,都是在官方网站进行投递,这个麻烦的就是,很多的简历信息都是需要手动输入的,所以,还是比较耗时的,到时候遇到了你就会发现真的有点烦,有时候投递个简历需要半天;但是,有一个好处就是,可以比较实时的查看面试进度,直接在官网上进行查看就可以了。

第二种,有一些公司因为没有自己的官方网站,所以,就托管在第三方来进行这个操作,比如,在牛客网上直接进行投递,在牛客网上填写简历,然后,就可以一键投递了,这个方便一些,但是,就是感觉很多时候没有消息,我也不知道为什么。

第三种,也是依赖第三方公司,今年投递的感觉来说,一般都是依赖一个叫做https://www.mokahr.com/,这个网站一般就是公司进行内推的,这个投递网站好处就是方便投递,而且有些公司只需要你上传你的电子版的简历就可以,降低了投递成本,但是,不方便的就是查询投递进度。

然后,说到内推,其实,方式也就那么多。一般,如果有实验室的师兄师姐在比较好的互联网公司,那么,我们可以通过这种渠道进行内推,一般也是比较靠谱的,成功率比较高;其次,现在很多内推也都是在牛客网进行了,我很多时候也是在牛客网看有没有公司的内推,这种方式有一个问题就是一般内推的人很多,最终你能不能被筛选到是一个问题;最后,还有一种方式就是通过公众号,官方的公众号投递,或者有一些公众号也会提供内推码。

最后,就算没有内推,其实也不要紧,很多人直接在官网投递,也是能够机会的,而且,现在的内推跟前几年还不一样,现在就算是内推了,最多也就是有个笔试的机会,不会直接给面试机会,直接给面试机会除非是简历特别出众。

校招知识储备

这一部分我觉得是这篇文章的重点了,写这篇文章也是为了告诉大家怎么准备校招,而其中的专业知识部分就决定你能不能拿到offer了,所以,接下来,我重点的跟大家聊聊校招的专业知识部分的准备工作。

算法

首先,我可以告诉大家一点就是,校招对于技术栈的要求并不会很高,校招就是招聘应届生,只需要你有可塑性、可培养的空间,那么,就很有可能给你offer,那么,如果校招不强调技术栈的重要性,那么注重什么的考察呢?

没错,就是算法,对于计算机专业的学生来说,从大学开始接触到计算机的必修课里面一定是有数据结构和算法这门课程的,而且也是相当的重要,而校招,从我自身面试的经历来说,算法可以说是十分的重要,再强调也不为过。

在现在的招聘流程中,首先是有笔试,大公司的笔试一般就是2-4道编程题,题目的难度leetcode的hard以上,所以,笔试就是检验你的算法的能力;进入到面试阶段后,基本上每一轮面试中,一定是会有算法题的,现在也是一般使用牛客网进行考核,所以,大家可以先去牛客网适应适应,那么,在一次面试中,算法的重要性怎么样呢?我这么说吧,如果一轮面试中,面试官出了一道算法题,如果你做出来了,其他的专业知识点回答的很一般,你有可能进入到下一轮面试,如果你算法题没有做出来,专业知识点就算回答的再好,基本上也是凉凉。因此,从我的经验来看,面试中A出算法题,至少可以拿到60分,A不出来,那就是0分,无一例外。

那么算法如何准备呢,这也是我想跟大家聊的一个话题,因为我在找工作之前,算法的能力可以说太一般了,很多的算法都是不懂的,基本的题目也是很难做出来,但是,经过这一年的训练,现在在面试中的算法题A出来基本上是没有问题的,除非是特别难的题目,那当我没说,有过几次经历,感觉被刷KPI了;因此,如果你现在也是对算法没有任何的自信的话,不用太担心,因为我也是这样过来的,只要你坚持,有方法的训练,应对基本的面试是完全没有问题的。

接下来就是讲讲怎么去应付校招的算法难关,拿offer。

首先,如果你离秋招还有一年多的时间,也就是明年的秋天才参加秋招,或者时间更多,同时,你的数据结构跟算法的基础也是不太好的话,我建议你先看看数据结构与算法的书籍,关于看哪些书籍,我之前已经写过了,可以看这篇文章必须看的数据结构与算法书籍推荐

其次,如果你的时间非常紧张,马上就快要参加春招找实习了,这个时候其实我就不太推荐看书了,看书的效率其实是很难保证的,我建议你看一下牛客网左神的算法教程,左神的教程我是看过的,从基础到进阶的一整套课程,我觉得讲的非常的精彩,能够看得出来左神的功力,对于每一种算法的类型,每一个题目的讲解都是细致入微的,推荐去看看。

然后,如果你对于基本的算法通过看视频或者看书有了一定的了解的话,那么,接下来就是校招的刷题时间了。

讲到刷题,其实方法很重要,这里我就讲一下我的这一年的刷题的经验,其中也有自己的血与泪的故事,就不多说了,这里告诉大家,避免踩坑。

不管哪个方向的,我都建议你刷题的第一本书是《剑指offer》,为什么这么说呢,因为面试的时候,很多的题目都是出自这本书的,不管哪个公司,另外我还要告诉你,特别是春招的时候,因为大家准备的都不是特别好,所以,面试官出的题目也不会很难,一般就是选自这本书,一定要好好的把每一道题目都吃透。那么怎么样才算吃透呢,可能你看了几遍这本书,但是还是不够的,你还需要去牛客网找到剑指offer的专栏,进行线上的练习,只有当你自己可以在线上把每一道题都可以A出来的时候,并且都是最优解,这个时候,这本书就是过关了,那么,你也是可以应付面试中的70%的算法题。

如果这一步你已经做到了,还想要提高的话,我还会推荐左神的书《程序员代码面试指南:IT名企算法与数据结构题目最优解》,这本书的难度比剑指offer难很多,里面有很多有难度的题目,但是各个章节都编排的非常合理,都是按照分类来的,非常适合进行刷题,训练自己的算法思维。

当然,如果你不想看书,想直接刷题,那么,我推荐你去leetcode进行刷题,去leetcode刷题也需要注意一点,尽量按照类型来刷,这样可以更好的进行练习,同时,我也建议你先把hot100搞定,然后再去刷其他的,这样可以先把最热门的题目搞定,其他的有时间再去训练。

以上就是应付算法的一些技巧,这当然只是针对大多数的人来说的,大佬可以跳过。

专业方向知识

这一部分接着上面的算法,可以算是比较合理的,只有在算法的基础上,才有资本谈论专业知识,否则,没有任何意义。首先声明一下,下面的这一部分主要是针对Java开发的,其他的方向在这里不讨论。

Java大家都知道技术是非常的多的,也是比较费时间的,但是,结合校招的特点,狠毒的技术其实是不用讨论的,主要的需要复习的在这里都会讲到,主要包括下面这些。

  • 数据结构
  • 计算机网络
  • 操作系统
  • 数据库
  • Java基础
  • Java集合
  • Java多线程与并发
  • JVM
  • Spring、Mybatis、SpringBoot等框架
  • Redis
  • Dubbo
  • Zookeeper
  • 消息队列

以上的这些知识点其实都是考察的非常频繁的,其中数据库,数据结构,Java集合,并发,JVM,Redis这几块知识点,被问到的概率特别高,基本上是面试必问的。

不过,大家不用太担心,因为,通过这一年多的面试,我基本上把这些知识点都进行了总结,常见的面试题也都是进行了总结,只需要按照我总结的来进行复习,我觉得问题不大,互联网前50应该是没有任何问题的。

下面我给出一些我总结的常见面试题,都进行了分类,非常好进行复习。

上面的这些就是我整理的互联网公司的各个知识点的常见面试题,非常高频的面试题,这里因为限于篇幅,不太好进行全部展示,如果想去看具体的解答或者质量高的博文解答,可以去我的github上查看:高频面试题分类汇总

上面的这些面试题可能不是特别的全面,有一些是没有考虑到的,考虑到这个问题,我就把一些相关的面试题整理成了思维导图,如果大家有需要也可以直接去这篇文章获取,关于思维导图有什么好处我在这篇文章就不多说了,在上面这篇文章中有提到,总之,拿到这些资料,只要你好好去思考,对面试一定是大有帮助的,毕竟我就是这样走过来的。

当然,这个github不止上面这些面试题,还有其他的关于我这一年的所有积累和总结,看了你就知道,一定会对你面试有很大的帮助的,因为我就是靠上面的这些拿到大厂offer的。

面经

本来这篇文章最后还是想讲讲一些公司的面经的,但是,写着写着,发现这篇文章已经写了几天了,字数也快2W字了,考虑到文章篇幅太长了也不好,所以,这篇文章暂时就不分享一些公司的面经了,后面的文章再给大家分享,如果希望看到后面的公司的面经的话,比如,字节、阿里、腾讯等等,麻烦给个赞,这篇文章死磕了快一周了,原创不易,希望对大家有帮助。

最后,觉得不错,点个赞呗!