字节跳动 java后台实习生 一二三+HR面面经 (已oc)
一面
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. 还有什么问题
#字节跳动##实习##Java##面经#