字节跳动提前批后端面经(17号更新到二面)
7.17 更新
二面主要在聊项目,问的问题不多,面试后半小时HR通知通过了,三面约到了下周日(战线好长)
- 项目
- 容器和虚拟机的区别
- 容器如何实现资源隔离
- 讲一下共识算法
上面三个问题都是从项目衍生出来的 - 类加载机制
- 引用的第三方的库由什么加载器加载
- synchronized和ReentratLock
- 线程池(参数、调度过程、拒绝策略、阻塞队列原理)
- 实现一个阻塞队列
- 合并重复区间
- 描述URL请求过程
7.11 更新
竟然过了,二面直接安排到下周
7.10 一面
同学内推的南京后端开发岗,没有具体部门。
问的内容整体挺常规的,面试官态度很好,抛的问题都有衔接,引导着你去回答。而且问题相对比较开放,不管了解多少都可以讲一讲。
可惜答得不是很理想,没有任何后续,大概率凉了。继续慢慢准备吧,不能太急功近利。
1、 Java
- hashcode 和 equals 方法的作用
- 引到 HashMap 上便让讲了对 HashMap 的了解
- wait 和 notify 方法的作用
- 再引到线程上问线程同步方法有哪些方法
- synchronize 和 ReentrantLock 的区别
- 讲下对 interrupt 方法的了解(问一定会抛出异常吗没答上来)
- 等待锁的线程怎么管理(阻塞队列,问实现原理没答上来)
2、 操作系统、数据库
- CPU调度算法(先到先服务、时间片等)
- 讲一下数据库索引的了解
- Redis有哪些数据类型及应用场景
- zset原理(跳表,没想起来,最可惜的)
3、 算法
- 最左下节点
和面试官确认了一下定义,最左下节点就是最下一层的最左节点。
层次遍历。 - 非等概率硬币
用正反面概率不相等的硬币表示等概率事件。虽然知道简单,但就是没想出来怎么组合,数学太渣