鸽子精回归!关于校招全流程分享
前言:
好久没看牛客了,突然想起来之前鸽的一些校招扫盲贴,正好最近跳槽跑路了,就补一补吧!
废话不多说,本文会介绍作为一枚普通应届生秋招的相关步骤,比如时间线,java后端的准备过程的推荐,相关的知识点搜寻,面试步骤以及避雷点。
正文:
part1:相关概念
tip:这一部分不用多解释,在参加校招的时候,我们至少要知道秋招和春招的区别。
校招是指面向高等院校应届毕业生的招聘活动,通常分为秋招和春招两种形式。
秋招是校园招聘的一种,主要在每年的9月至11月进行,是应届毕业生求职的最佳时期。秋招规模大、岗位多、企业需求量大,是应届毕业生进入知名企业的主要途径。
春招是校园招聘的另一种形式,通常在次年的3月至5月进行。春招主要是对秋招的补招,岗位和企业的数量相对较少,竞争更为激烈。春招的流程与秋招相似,但由于时间较晚,很多岗位已经满员,所以机会相对较少。
part2:相关准备
tip:这一部分,我会从时间线,投递方式,面试流程,如何准备,这四部分开始展开
时间线:
秋招什么时候开始准备,什么时候开始投递。我相信这两个时间是大家比较关注的。
首先说一下我自己当时准备的时间线。个人情况是三年的研究生,XX导师不放实习,因此我准备的时间比较久,总共是准备了将近八九个月的时间。从过年前几个月开始准备,到来年的六月份开始投递。俗话说金九银十月,那么为什么我要在六月份这么早就进行投递呢。
原因如下:
一方面呢,校招的我们往往是比较缺乏面试经验的,面对着摄像头,可能连自我表达都会磕磕绊绊的,自己了解的知识有时候都有可能说不清楚,这样子很可能会导致想去的公司面试失败。针对与这种情况,可以进行模拟面试,或者简单粗暴直接投递许多公司,通过不断的面试来进行练习提升。我就是采用了第二种策略,不断的海投,不断的面试,从而让自己的面试熟练度和知识得到进一步的提高深化。关于海投顺序和每次面试以及复盘需要注意的点,篇幅有限,我后续会再出文章介绍,这里就不细说了。
另一方面,早起的鸟儿有虫吃,越早投递,和你竞争的人就会相对越少,相对来说你通过面试的概率就会高点。
综上呢,所以我选择了从六月份开始投递,给自己后面充足的时间去适,到最后也是收获了十几个offer。
投递方式:
校招的投递方式比较的简单,关注各家的招聘网站,在各公司的官网上点击校园招聘的投递即可。另外各家的公众号以及牛客上也有许多同学会进行整理,某家公司几月几号开始了秋招还是比较明确的,可以去官网进行投递。我当时的做法就是关注了每家的公众号,以及牛客上大佬整理的秋招开启时间表,当有xx公司开启秋招的时候,就尝试进行投递。
面试流程:
一般呢,你在官网投递按照要求投递完成之后,就可以耐心等待了。
一般过完初筛之后,第一个环节会有个笔试通知(不排除很多公司会群发笔试,浪费你的时间做完笔试之后才进行筛选简历),笔试一般是计算机的基本知识和算法题。具体结构各个公司有自己的风格。有些公司是前面的选择题加上后面的一两道算法题,有些公司是全部四五道算法题。有些公司可能是行测加上计算机的知识。
笔试过后,通过筛选后,会有面试的通知。一般是邮件通知,可选时间。互联网普遍会有两到三轮的技术面试,再加上最后一轮的hr面试,有些个别的公司可能有性格测试或者英语能力测试。
最后如果每一面都通过的话,会电话通知你通过面试,给到口头offer,也就是我们常说的oc了。等待到后续的一个谈完薪资后的书面offer环节就尘埃落定了。后续就是三方签订之类的流程了。不过有些公司名声较差,会有出现毁口头意向,甚至签完书面offer毁约的情况,这种就很坑了,篇幅原因这里就不细说了,后续会出相关避雷文章。
如何准备:
这一部分久比较重要了,上文也说了,要进行提前准备,那究竟要准备些什么呢?
首先在秋招中,竞赛获奖,大厂实习等一些经历是比较加分的,那么在短短的时间内,马上去搞个竞赛或者大厂实习是不太切合实际的。因此我们要在能够做到的地方尽可能的去完善。在我们能够去完善的部分,我分为三个大块,即 算法 + 八股 + 项目。
算法:
首先是算法,各个公司基本在面试中都会出算法题给你做。这部分的算法能力还是很重要的,可能你前面答的很好,算法没做出来,就会导致面试挂掉,因此刷算法是很重要的。那具体要怎么刷,要刷多少题呢。
首先我个人的情况是在某个大家都知道的算法网站刷了五百题左右,但通过一系列的面试之后,我感觉只需要刷两百到三百题就足够了。主要把hot100 hot150 剑指offer这些热门的题集刷完,以及一些相似的题或者牛客上面经看到大家问比较多的题去刷就基本够用了。另外sql题目也需要准备一些,比如写个查询某个班级语文成绩最好的前三名之类的sql,有时候也会考察到。
需要注意的是,面试考察以及笔试做题有两种形式,一种是核心代码模式,也就是我们在网站上刷题时常见的模式,给定输入和输出,我们只需要编写核心函数即可,这种是相对比较方便的,但还有一种是acm模式,也就是说只给main函数,输入和输出都是需要自己写的,输入从键盘进行输入,输出打印出答案,这个可能第一次遇到会比较懵,可以提前看看java在做acm模式的输入输出写法。
综上,算法是需要大量时间去进行练习的,需要自己安排好时间进行刷题。并且最好经常进行复习,否则在面试的紧张环境下,有时候会出现卡壳的现象。按经验如果你算法能力和我一样一般的话,刷题的时候从简单题到中等题,按照类型分类进行刷效果会好些。那具体算法这部分的介绍就到这里。
八股方面
八股的重要性毋庸置疑,为什么会戏称为八股文呢,其实就是说很多计算机的基础性概念和知识被以固定的模式和框架进行考察。因为计算机的专业知识确实很多,计算机网络,操作系统。。。等等,每个模块都有一堆的内容要记,因此这些要记的内容大家往往戏称之为八股。那么背八股到底有用吗?好像很多人对八股嗤之以鼻,感觉背八股是书呆子才做的事情。其实并不是这样的,八股我认为可以分为一些无用的八股和一些有用的八股,比如TCP的全称是什么,这种问题就是纯纯无用的八股了,这种就不需要去背了,无论是对面试还是编码都没什么作用。但是TCP是什么东西以及和UDP的区别,这种基本的八股是需要记住的,连这种基础性的网络知识都不懂的话,有些原理就很难搞懂了。因此,把这些有用的八股知识记住,无论是面试还是工作,都是有一定帮助的。那么,要如何去背八股呢?是不是和文科那样,看着题目直接背诵答案呢?其实并不是这样的,这种死记硬背的方式是不可取的。我的建议是分为三步走。
第一步:分模块记忆
对面试的常见知识点进行模块的划分,比如mysql相关的,redis相关的,java相关的,操作系统相关的。。等等。把相同类型的知识放在一起复习会起到更好的效果,在记相关知识点的时候,从原理到应用再到实战的一些难点,可以串联起来记忆,知其然知其所以然。模块分类我在语雀里已经整理好了,免费共享出来希望能对大家有点帮助。
第二步:差缺补漏
对各个模块的基础知识有一定了解之后,可以打开牛客,去查看真实的面经,看看自己能答出来多少,以及一些刁钻的问题是不是自己从来没有复习到,进行自身的查缺补漏。包括多次面试之后,看看自己到底要有哪些问题是答不上来的,进行记录整理,从而不断完善自己的知识树。
第三步:关联项目
这一步很重要,其实在面试中,很少有面试官会一直问一些八股问题来让你回答,往往都是根据简历上写的项目,来引出一些知识点提问。这就需要我们对项目中所涉及到的知识点很了解了。比如项目中用到了redis的分布式锁,那么就需要对分布式锁这一块多了解一些,redission之类的知识点需要了解。因此,关联项目我认为是十分重要的一步。
那八股方面我进行了一些文档整理,大家可作为参考去对照着学习。
文档链接:面情速递-面试技能包系列
项目
作为简历的重要组成部分,项目部分的重要性无需多言了。项目也是面试过程中你和面试官聊的比较多的部分。把多技术栈的项目写上,可以让你和面试官有更多的内容可以探讨,因为项目都是你自己准备过的嘛,所以回答起来肯定也更流畅,比较有复杂度的项目会让面试官更感兴趣,如果都回答的比较顺利的话对通过面试肯定是加分的。而且在上面的八股部分也说了,八股是要关联项目的。
比如你项目里写了消息队列,那你肯定要了解消息队列的架构,原理,以及可靠性,顺序性等一些常见知识。又比如你项目里用到了redis缓存,那你肯定需要知道redis的原理,底层数据结构,以及分布式锁之类的一些知识。诸如此类,核心思想就是,你的项目所拓展出来的一些知识点,肯定是要去了解的,不能说你写了啥,但是当面试官问到的时候,你都不太了解,这就比较尴尬了。。。。。
那要写什么项目,没实习没有实际的企业项目要咋办。这也是我之前没有实习比较尴尬的地方。对于没实习没有啥项目可写的同学的,建议就是可以github上找找一些开源的项目去做,具备一定的复杂度,而且又可以自己独立去完成,从头到尾做两个就基本能够应对面试了。关于项目如果问的多的话关注一下后续会考虑出个手把手教学系列,现在太懒了搞不动啦。。。
结束
综上,面试的准备流程就差不多是这样啦,准备差不多后,写好自己的简历,就可以在各个公司的官网进行校招的投递啦。祝大家都可以面试顺利,拿到自己想要的offer!!!