校招笔记

到此刻这段时间的校招找工作终于告一段落,写个笔记作为记录,同时也希望能对后来的同学能有帮助吧。

我是投的是技术类,后台开发的方向,8 月底的时候有师兄内推,大约 8 月底 9 月初吧,接到一个电话面,(我走完全程之后发现,好像有内推唯一的一个福利就是多了一个电话面,电话面之后该笔试还是笔试,该几轮面试还是几轮面试,orz。。)

电话面主要问了就是用户态内核态的区别,软中断,线程进程的区别和联系,常用算法的排序稳定性,问到了快排,归并,对算法的时间复杂度的理解,什么样的复杂度是不可以接受的,之后还问了经典的 tcp 三次握手,(这个题几乎是逢面必问),还问了内存泄露,c++ 的内存泄露,如何引起,怎么杜绝,jvm 的内存泄露,什么情况下 jvm 的 gc 会内存泄露等等,年代久远,能回想起来的问题就这么多了。这个电话面总的感觉还 ok,基本上遇到的题目都能流畅的回答,没有卡的特别久过不去的地方,所以也比较快的结束了,大约 15 到 20 分钟左右吧,最后问了一下个人情况,期望工作地点啦,之类。

电话面完了杳无音信,刚面完那几天还想着会不会有第二轮电话面,搞得自己紧张兮兮的,结果什么都没有,于是就这么到了笔试的日子。笔试是在 9 月底,技术类的笔试试卷全是客观题,前面 20 来个选择题,跟着 10 来个填空题,最后是 2 个附加题,答题的时间是两个钟,上午 10:30 到 12:30,(据说产品类的好像是一个钟,不是很了解),笔试题里面包括的内容有数据库部分,数据表的范式设计,数据的一致性,sql 语句的执行过程,有编译原理的部分,递归文法这些,数据结构和算法方面,图的遍历,深搜,操作系统方面,资源的分配,死锁的避免,内存的管理算法,fork 子进程时候的缓冲区继承问题,网络方面比较少,就是七层协议的设备之类的,后面考了一个逆波兰,考了卡特兰数,算法方面有一个最大子数组和,最长递增子序列,这些。这次的笔试题感觉上考察概念和记忆的比较多,对于理解和推演的比较少,另外,坑爹的是,在选择题的题目要求里面写了,这次的选择题全部都是不定项选择,但是我做了几个题目之后,发现好像都是单选啊,于是后面就特别留心注意着看看什么题目是多选的不要漏了,悲催的是直到我做完全部选择题,还是没有发现哪个是肯定的需要多选的题目的,于是就这么全部单选的交上去了,按照官方的说法,真正用于排名决定是否能够进入面试环节的是前面客观题的分数,而附加题只是用于面试时候的参考,事实证明这个政策应该还是没有忽悠人的,因为我两个附加题一个字都没写,也还是混到了面试。

笔试完了过了三四天收到一面通知,匆匆赶过去中午饭只是随便啃了一个包,一面是一个不怎么苟言笑的面试官,自我介绍,递上简历 balabala 说了一堆,让写了一个 memcpy 函数,然后开始从简历里面挑了一个项目,就这个项目问进程通信和线程同步的问题,答了之后再问下去,答了之后再问下去,很是坚持了一会儿在这个问题上,然后问了一些 http 协议方面的问题,一个报文的结构,request header 一般都有什么字段,返回的状态码常见的有哪些,分别什么含义等等,然后还问了常见的网络安全,常用的 ddos 攻击方法等等,最后看我有 acm 的经历,问了两个算法题,一个是 10 亿个数怎么找出最大 100 个,让分析时间复杂度等等,另外一个是给你已知的 ip 分段所属的城市,然后现在有一个用户登录上线了,怎么快速的根据他的 ip 地址得到他是属于哪个城市的,一面大约持续了半个钟吧

一面之后当晚就收到二面通知,在去二面之前自己瞎猜乱想会不会是一个压力技术面呢,于是紧张的继续复习一堆数据结构算法之类的,其实去到之后发现二面的面试官人还挺好的,进去首先还是自我介绍,(唉,又是自我介绍),介绍完了面试官开始浏览简历,然后让自己从简历里面挑一个项目讲,大概介绍一下功能啊,怎么想到要做这个啊,模块系统的设计啊,等等,二面的面试题比较开放,没有那种很死的答案,然后还就项目问了遇到的最大困难是什么,当时是怎么整理思路,怎么解决的,然后问了是否有考研和出国的打算啊,为什么不考研,为什么不出国啊,然后聊到如果能进,是进去里面做什么,面试官回答说做广告投放系统,于是就推荐算法,聚类这些有扯了一下,现在回想起来好像二面的时候面试官问的反而不多,更多的时候是我在 balabala,balabala 的讲,能回想起来的问题差不多就这些,以后想起来再补充吧。

二面之后过了几天,大约三四天的样子吧,在国庆之前收到通知,让国庆之后去 HR 面,到了 HR 面一个明显的感觉就是人少了好多啊,之前一面二面的时候走廊上电梯口到处都是人,而现在进去感觉整个环境格外的安静,等待面试的设计类,产品类,技术类加起来也只有寥寥几个人,于是大家边等边闲聊。HR 面进去的气氛还是比较轻松的,问了一些对互联网行业的看法啦,对网络广告的看法啦,还问了一些个人情况,有没有女朋友啊,之类的,然后问了一下工作部门的问题,工作地点的问题等等,总的来说 HR 面还是挺愉快的。

HR 面过后四五天的样子,收到电话 offer,就是确认了一下个人信息,学历啊,邮箱啊,然后给你确认了一下薪资(这个不能说哈),最后问你是否接受,接到电话 offer 的第二天就是现场的签约会了,签约会还蛮多人的。

至此终于走完全程,其实总结起来,考察的内容无非就是数据结构,算法,操作系统,网络,我自己个人的心得就是,在准备的时候,一定要认认真真的动手,因为到了这个时候,一般的之前大一大二那些常用算法啊什么都忘得差不多了,不过其实忘了反而有好处,就是可以根据自己的理解,比如根据自己对常用排序算法的原理的理解,然后自己把这个排序重写出来,先在纸上把细节构思清楚,边界值确定好,然后上机实实在在的敲过,调通,真的就是自己有敲过一遍和只是在脑子里“觉得”想清楚差别是很大的,往往是觉得已经想清楚了,敲完跑几个测试用例却发现跑不过,再回头看的时候才发现问题所在,另外就是自己动手敲过,在面试的时候心理上也是非常有帮助的,当遇到同类的问题的时候心理会觉得比较有底,这种状态下再去跟面试官深入的讨论才有价值。

最后,祝大家都能好好发挥,拿到自己梦想的 offer。

Leave a Reply

Your email address will not be published. Required fields are marked *