2年JAVA今日头条3轮面试经历

面头条的时候已经是十月底了。大半个月没有面试,之前准备的知识点比如http状态码之类的记忆性的东西,早就忘光了。

二面的时候问了一堆状态码,全都不记得了。面试官态度很好,跟我说,你现在不记得了,说明你这些知识只是为了面试临时抱佛脚,并没有深入理解,所以时间一长就忘了。确实是这样。

总的来说,头条的面试比较注重算法能力,两面都手写了算法,算法不算特别难,但是真正实现好,还是会有很多细节要考虑到,而且要写的代码都比较长。头条也比较喜欢出场景题,感觉面试官也没有标准答案,主要看你的回答和思路。

临时抱佛脚背的知识会忘掉,但刷题后的代码能力解题能力却是内功,可以说一劳永逸的,所以多刷题很重要,面试的时候代码写的好或许可以弥补有些问题没答上来。

一面

1、自我介绍

2、数据库优化有什么思路?你了解的只有分库分表和索引?

3、索引的原理?如何减少回表操作?

4、联合索引,如果联合索引(a,b),现在查询a>0,b>0可以用到这个联合索引么?(太久没看,生疏了,答错了,答案应该是不能,只能用到a的索引,范围索引只能用到一列)

5、数据库执行计划你会关注哪些字段?

6、Java虚拟机了解么?使用中有什么注意事项?说下jit?codecache了解吗?

7、手写一个单例模式和观察者模式

8、写一个算法吧,一个二维数组,每一行从左到右递增,每一列从上到下递增,给一个数,判断他是否在在二维数组中,在返回下标,不在返回(-1,-1),要做到最优

9、了解nio么?讲一下nio的理解。

10、Linux命令了解么?查看网络状态的命令,查看内存占用的命令。Awk命令。

11、CLOSE_WAIT状态过多有哪些情况造成?怎么排查?

二面

1、自我介绍

2、http协议的chunk知道么?是干什么的?

3、http的状态码了解么?说一下

4、301和302的区别?502和503的区别?(这么久没面,早忘了,然后被面试官教育了一番,说没有真正掌握这些知识)

5、Redis的数据结构的底层实现?说下zipList结构及其优缺点?

6、Mysql集群数据是怎么同步的

7、手撕算法:一个链表,奇数位置递增,偶数位置递减,给链表排序。要求O(n)的时间复杂度

8、Select,poll,epoll的区别,说下epoll原理?epoll为什么要用红黑树?epoll 为什么要有 EPOLLET 触发模式?

9、场景题,设计一个高并发的系统。

三面

1、自我介绍

2、服务器处理接受一个请求的过程?

3、数据库的索引的原理?Innodb都是聚簇索引么?

4、设计一个文件分发系统,分发到10000台服务器,做到高效可靠,如何保证高效?如何保证可靠?

5、有什么offer?你的优点缺点?你觉得你在同龄中处于什么水平?

"面经哥"已累计3000+条真实面试经验,期待你的加入~

相关推荐
Warren981 小时前
Java Stream流的使用
java·开发语言·windows·spring boot·后端·python·硬件工程
架构师沉默2 小时前
Java优雅使用Spring Boot+MQTT推送与订阅
java·开发语言·spring boot
tuokuac2 小时前
MyBatis 与 Spring Boot版本匹配问题
java·spring boot·mybatis
zhysunny3 小时前
05.原型模式:从影分身术到细胞分裂的编程艺术
java·原型模式
爱分享的程序员3 小时前
前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)
前端·javascript·面试
草履虫建模4 小时前
RuoYi-Vue 项目 Docker 容器化部署 + DockerHub 上传全流程
java·前端·javascript·vue.js·spring boot·docker·dockerhub
皮皮林5514 小时前
强烈建议你不要再使用Date类了!!!
java
做一位快乐的码农4 小时前
基于Spring Boot和Vue电脑维修平台整合系统的设计与实现
java·struts·spring·tomcat·电脑·maven
77qqqiqi4 小时前
mp核心功能
java·数据库·微服务·mybatisplus
拾光拾趣录5 小时前
前端灵魂拷问:10道题
前端·面试