从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火、京东、去哪儿、中至数据等10家互联网公司的校招Offer,因为某些自身原因最终选择了中至数据。6、7月主要是做系统复习、项目复盘、LeetCode与牛客刷题等准备工作,并且投了字节跳动、拼多多、猿辅导在内的几家公司的提前批,当然还是挂在了简历,因为毕竟自己的学校、学历、项目经验肯定比不过牛客网上那些大厂实习的大佬了,有时间也给自己做个总结,也希望能帮助到大家

校招心得

注重实力,保持良好心态:面试过程中,继续巩固好自己的技术栈,然后保持一个良好的心态,尤其是还没有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的存储引擎,有什么区别。

二面:
1 快排的时间复杂度,冒泡时间复杂度,快排是否稳定,快排的过程
2 100w个数,怎么找到前1000个最大的,堆排序,怎么构造,怎么调整,时间复杂度。
3 一个矩阵,从左上角到右下角,每个位置有一个权值。可以上下左右走,到达右下角的路径权值最小怎么走。
先说了一下dfs递归实现。面试官说要优化。
说了一下用迪杰斯特拉的思路,说可以。
4 四辆小车,每辆车加满油可以走一公里,问怎么能让一辆小车走最远。说了好几种方案,面试官引导我优化了一下,但是还是不满意,最后他说跳过。
5 hashmap的实现,hashtable,concurrenthashmap实现。
6 MySQL的索引,B+树性质。
7 Linux的cpu 100怎么排查,top jstack,日志,gui工具
8 Linux大文件怎么查某一行的内容。
9 Redis内存数据库的内存指的是共享内存么
10 Redis的持久化方式
11 秒杀系统的架构设计
三面:
1 十亿个数的集合和10w个数的集合,如何求它们的交集。集合的数字不重复。
2 十亿和数找到前100个最大的,堆排序,怎么实现,怎么调整。
3 TCP和UDP的区别,具体使用场景呢。
4 TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办。
5 对于socket编程,accept方法是干什么的,在三次握手中属于第几次,可以猜一下,为什么这么觉得。
6 Linux操作系统了解么,了解一点点,就没问了。
7 对于单例模式,有什么使用场景了,讲了全局id生成器,他问我分布式id生成器怎么实现,说了zk,问我zk了解原理不,讲了zab,然后就没问啦。
8 除了单例模式,知道适配器模式怎么实现么,有什么用
9 回到网络,刚才你说到直播场景,知道直播的架构怎么设计么,要点是什么,说了几个不太对,他说要避免广播风暴,答不会。
10 Redis和MySQL有什么区别,用于什么场景。
11 问了一下最近看什么书,什么时候开始写博客的
12 问了还有几轮面试,他说这轮我可以过,有点小惊喜
四面:
1 自我介绍
2 项目,收获
3 Linux了解哪些,基础命令和知识。问我proc文件系统了解么,答不了解。
4 TCP和UDP的核心区别在哪,讲了滑动窗口保证可靠有序传输,UDP不可靠。TCP需要连接而UDP不需要。
5 TCP的四次挥手,time wait状态有什么意义。
HR面
1 自我介绍
2 实习收获
3 之前实习公司的情况,拿到offer了吗,会如何选择呢
4 排一下公司,部门,薪资和城市等因素。
5 你的优缺点,如何改进
6 学生时代最成功的事
7 你的预期薪资

最新文章

  1. 使用JSP开发动态网站基础
  2. [Xpand] Error 1 Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
  3. Flex Flash Player回声消除的最佳方法
  4. 调用java rest ful 接口实例
  5. python 2017.1.9
  6. FP—Growth算法
  7. Hexo 官方主题 landscape-plus 优化
  8. [转]C#自定义开关按钮控件--附带第一个私活项目截图
  9. MVC 定义JsonpResult实现跨域请求
  10. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
  11. markdown实战问题备忘
  12. java8实战二------lambda表达式和函数式接口,简单就好
  13. mybatis关于ORM的使用以及设计(一)[ORM的初始化]
  14. Android 自定义View二(深入了解自定义属性attrs.xml)
  15. 在jQuery定义自己函数
  16. Android View坐标系详解(getTop()、getX、getTranslationX...)
  17. bean validation 技术规范
  18. UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数
  19. vertical-align负值和margin-bottom负值的区别
  20. python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据

热门文章

  1. CF359D Pair of Numbers gcd+暴力
  2. Codeforces 1153F Serval and Bonus Problem [积分,期望]
  3. Python3循环
  4. 数据结构实验之查找三:树的种类统计(SDUT 3375)
  5. Linux中查看某个端口占用情况
  6. postgresql数据的入门教程
  7. ansible user模块
  8. [CMS漏洞]EmpireCMS_V7.5的一次审计【转载】
  9. LogStash安装使用
  10. 2018-2019-2 20165222《网络对抗技术》Exp9 Web安全基础