从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火、京东、去哪儿、海看等10家互联网公司的校招Offer,因为某些自身原因最终选择了海看。6、7月主要是做系统复习、项目复盘、LeetCode与牛客刷题等准备工作,并且投了字节跳动、拼多多、猿辅导在内的几家公司的提前批,当然还是挂在了简历,因为毕竟自己的学校、学历、项目经验肯定比不过牛客网上那些大厂实习的大佬了,有时间也给自己做个总结,也希望能帮助到大家.
(PS:再次编辑,感谢大家的支持,受宠若惊。私信问我要这些面试答案的,希望交流的朋友很多,但是很多不能及时看到,没办法一个个发给大家,大家注意下中间的百度网盘链接,整理成了pdf分享下给大家,也包括我之前面试准备的题跟视频,也可以进群交流,这样沟通成本少点)
校招心得
注重实力,保持良好心态:面试过程中,继续巩固好自己的技术栈,然后保持一个良好的心态,尤其是还没有Offer的时候,心态别崩,其实到最后大家都会找到工作的,唯一的区别就是公司的方向、规模、待遇方面,也别太在意别人拿到了牛X的Offer,尤其是牛客网,天天神仙打架,刚开始自己也是很纳闷,怎么就能这么牛,最后也都见怪不怪了~。好多之前一直没Offer的人,可能突然某一天就收获到了几份Offer,所以不断提升自己的综合能力才是关键,与其在这羡慕别人,不如让自己心态沉静下来,认真复习、厚积薄发。
多交流,多思考,刻意锻炼表达:牛客网上有各种面经、面试经验,数不胜数,多去刷刷面经,和一起找工作的小伙伴们或者牛友们交流下面试经验、疑难问题什么的,收获也会很大的,也能放松自己紧张的身心。通过交流与思考要能总结出属于你自己的那一套正确的面试技巧,如回答问题的角度,如何更加全面的展现自己等,面试就是一个双向选择的过程,要让企业认同你,你就要有突出的地方,至少表达能力要很OK。我自己就经常模拟回答一个具体的面试问题,这个过程中就可以总结出回答问题的逻辑、层次、深度等技巧了,超级有用的。
及时复盘,查漏补缺:每一场面试大家都要尽力展现出自己更优秀的一面,对于线上面试,自己都是有完整录屏的,就是为了能够之后总结面经、查漏补缺,对自己面试的真实表现也有一个完整的了解。对于线下面试,自己前几场面试都是开着手机录音的,之后复盘。最后因为一天要跑很多面试,就没录音了,面经就靠记忆写啦~。在面试过程中,大家肯定也会发现企业都会问到的一些面试问题,对于这类高频问题,最好自己总结下来,对以后的面试也是很有帮助的。我在文末将附上自己总结的面经题库。
1 有序数组排序,二分,复杂度
2 常见排序算法,说下快排过程,时间复杂度
3 有N个节点的满二叉树的高度。1+logN
4 朋友之间的点对点关系用图维护,怎么判断两人是否是朋友,并查集,时间复杂度,过程。没讲清楚
5 单元点最短路的方法,时间复杂度
6 如何实现关键字输入提示,使用字典树,复杂度多少,有没有其他方案,答哈希,如果是中文呢,分词后建立字典树?
7 hashmap的实现讲一下吧,讲的很详细了。讲一下红黑树的结构,查询性能等。
8 Java中的垃圾回收讲一下,讲了分代,gc算法,gc root可达性分析等
9 讲一下两个项目你都做了什么把。
10 除了代码之外你还学习了什么技术,框架。
11 死锁是怎么产生的
12 线程和进程的区别
13 进程的通信方式
14 CPU的执行方式
15 代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。通过ps查询状态,分析dump文件等方式排查。
16 Linux了解么,查看进程状态ps,查看cpu状态 top。查看占用端口的进程号netstat grep
17 10g文件,只有2g内存,怎么查找文件中指定的字符串出现位置。MapReduce分割文件处理。
18 Linux的swap了解么,完全不懂。
19 Redis和MySQL最大的区别
20 讲一下Tomcat的基本架构和组件,以及请求的整个流程。说了一下connector和container架构和servlet请求过程。
21 MySQL的存储引擎,有什么区别。