头条后端实习面经(抖音)
12月中旬群里有学长问要不要内推头条,想着试一试看看自己什么水平就投了。
12月26号简历评估通过,一直到1月2号打电话约面试,当时已经拿了另一家二线大厂的offer,就想跟学长说还是下次再投头条了,哪知道太巧了刚说完hr就给我打电话了,想着试试就约了面试。
过了两天一面电话面,问的有Java基础、多线程和一些比较简单的数据结构
-
线程和进程的区别(真的必考)
-
ThreadLocal
-
四种引用类型
-
volatile的作用和原理
-
juc里的锁
-
atomic包里的一些问题
-
二叉树的先序遍历,层序遍历的实现
-
用栈实现队列
-
包括max函数的栈
一面问的比较简单,我答得还凑合,很快就约二面了,当时hr听说我要期末考试,要给我延后面试,感觉人非常nice
1月14号下午约的视频面,面了三轮技术面
第一轮(有一些不太记得了):
-
简述TCP的三次握手,为什么要三次握手?
-
TCP的拥塞控制
-
redis分片,客户端的请求怎么处理
-
HTTP的一些问题
-
HashMap的扩容
-
SpringBoot的注解
-
Semaphore信号量用来做什么的
-
有没有用过一些消息中间件
-
手写代码,滑动窗口的最大值
-
浏览器输入url请求服务器的过程,分析其中哪些部分用到缓存
-
讲一下CDN
-
cookie用来做什么的
-
操作系统的内存管理
-
分页式的页表放在哪
-
进程的PCB里还有哪些东西
-
linux脚本,杀掉包含一个关键字的所有进程
-
linux I/O模型,说说select和epoll的区别
-
HTTP的过程
-
HTTP的一些细节
-
HTTPS怎么建立请求
-
redis的一些问题,我说我理解的不深就没问深了
-
mysql的索引,最左匹配原则
-
mysql的主从
-
B+树和B树的区别
-
简述红黑树
-
对分布式的一些理解
-
手写代码,找一个n*n矩阵中的最长上升序列
-
又问了浏览器输入url请求服务器的过程
-
SpringBoot的一些问题
-
Mybatis里的动态***
-
主要问项目的一些问题
-
智力题:岛上每个人都带着帽子,颜色为红色或白色,不能相互问,当知道自己帽子的颜色时就可以离开。某天一个外来人来了,说了句:“红色的帽子至少有一顶。”,问之后岛上人们的离开情况
-
问了一下平常除了上课都怎么学习的
-
有什么要问他的,问了下部门的业务(抖音相关)
一下午面完,过了一个小时hr就联系我说跟面试官沟通一下,然后过了一会就打电话来谈offer了,虽然已经拿了一个大厂,但是过了宇宙条还是很兴奋的。
头条看重基础(大厂都看重),问我的算法题都不难,刚考完期末太浪了所以状态不太好,手写代码虽然思路对但是都有小问题。
面试给面试官呈现的态度非常重要,有些比较难的问题可能一时想不出来,但是一定要思考不能因为不会就逃避,可以一步一步和面试官交流,思路对也不错。