前言
本人大三,三月份先投递了抖音客户端开发岗,挂在二面。
后被头条客户端开发岗捞起,面完了一二三+hr面,和大家分享下经历
一面
1. hashmap
2. 为什么负载因子是0.75
3. spring ioc讲一下
4. 有jvm调优过吗
算法
1. 给出1-n,提供一个接口判断是不是bad,只要一个数是bad后面都是bad,一开始我以为是无序的,直接循环o(n),她说优化一下,我就觉得再优化就是logn了应该是二分,再仔细看了下题才发现是有序的
2. 链表表示数,两个链表相加返回一个新链表
二面
这个面试官超级好!!!他先自我介绍了一下不知道为什么就感觉超有被尊重,全程我说什么就一直点头让我觉得我说的好对hhh,算法有点毛病有点不会就很耐心地引导我
1. 高并发的项目问啊问,但全程都是在探讨没有被为难(开心)
2. 另一个操作系统的项目问我进程是怎么调度的
3. 垃圾回收算法
4. 提到cms问我cms有几个步骤
5. cms会抛出con什么什么failure有什么解决方法, 我有点懵(小声),就扯了扯之前jvm调优用到的参数也就糊弄过去了,问我有个什么老年代的参数,是提前什么什么的阈值,我一想提前pre嘛,阈值thredhold,就说是pre什么thredhold具体有点不记得了,他说嗯差不多就是这个(我??蒙对了)
6. 动态代理实现的方式,我提到了aop里面的两种
7. 线程池参数,流程
8. tcp三握四挥
9. 为什么三次,我说可以避免打开错误的链接,避免迟到的ack到达以后打开两个连接,他说是怎么知道这个连接已经建立过了呢,我猜可能通过tcp头部的地址来确定的,也不知道对不对
算法
1. 删除链表中重复的节点,有点小问题改过来以后他说做的挺快那我们就再写一道(??)
2. 二叉树的最小高度(注意是最小,不是普通的那种)
三面
1. 手写一个blocking queue
2. 拓扑排序,我直接把面试页面截在下面了,太久没接触图论了完全不会,面试官引导我往二叉树的三种遍历上想,我就觉得这又没有左右节点跟二叉树有什么关系,后来才慢慢明白过来是先递归输出子节点再输出自己的值,类似于后续遍历,写出来之后还忘了要保存这个节点有没有输出过(就是下面这个set忘了没写,会重复输出,面试官提醒了我才想起来)
3. 左连接右连接的区别
4. 平时刷题吗
5. 考研吗,为什么
(问的问题很少可能因为做题做的比较久)
反问,emm其实我从来不问面试结果,这次心里太没底了就问还有下一面吗,他说还有hr面,(呼 松了一大口气
hr面
(居然只面了我六分钟)
1. 平时怎么提升技术
2. 实习时间
3. 如果给了offer可以继续实习吗
4. 还有什么问题
总结
三面技术面之后,就是HR,这个就不多说了。整体字节跳动的面试感受,面试官很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。手写算法留的时间不多,3-10分钟,如果3分钟还没写,就要求讲出解题思路。
切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。
分享
觉得有帮助的记得帮忙转发一下这篇文章,让更多有需要的朋友看到,感谢您的支持
在这里将我面试之前刷的一些面试资料题库分享出来,感兴趣的朋友可以后台私信我【面试】即可免费获取