字节春招面经
2月26日 一面
- 自我介绍
- 快手离职原因
- 挑一个比较有亮点的项目说一下
- 你说这里假如在春运的时候,出现网络抖动,redis底层扣减令牌成功,但是回调JVM进程失败了,如何保证数据一致?
- 介绍一下快手实习项目
- 这里你提到了,线索进来要先落db,再通过订阅binlog同步进es,为什么不在第一步落盘的时候直接同步进es
- 说一下HTTPS握手过程,简单说说
- 说一下证书,电子签名,摘要算法都有啥用
- 为什么需要多级证书,证书之间如何信任
- 说一下MySQL为啥要用B+树不用别的树
- 说一下MySQL的事务隔离级别
- 说一下幻读和MVCC如何解决的幻读
- 日均增量100w的业务你要怎么设计DB?
- 学校这些知识都不会教的,你是怎么学习的?
- 写一个题(单词拆分,力扣原题)
- 智商题:一个圆形棋盘,和一堆棋子,你要怎么选择先下还是后下保证你一定能赢(谁先放不下谁输)
2月28日 二面
- 自我介绍
- 快手离职原因
- 实习和在校学习有什么差异
- 如何体现你给企业带来的收益,前后对比
- 如何设计一个hashmap
- 如何解决hash冲突
- 如果我想严格保证时间复杂度O(1)怎么做
- 扩容因子怎么设计
- 并发安全怎么保证
- HashTable缺点
- concurrentHashMap 1.7 和 1.8的优缺点,怎么实现的
- 如何实现一个可以遍历插入顺序的hashmap(参考LinkedHashMap)
- 如何实现一个可以保证从小到大或从大到小的HashMap(参考TreeMap)
- 两个队列如何模拟栈
- 一个队列如何模拟栈
- 写一个题(重拍链表,力扣原题)
- 设计一个定时任务调度器(new线程扫,延迟队列,时间轮,多级时间轮)
3月1日 三面
- 自我介绍
- 快手离职原因
- 为什么没有参加秋招
- 当初选择在老家转正稳定,为什么现在想北漂
- 学校比较一般,英语才过四级,说一下高考分数以及学校专业,一本线的定义,解释一下一本线和本科线
- 实习和在校有什么差异呢
- 在快手和其他同事协作多吗
- 聊第一段实习,有没有遇到比较难协作的人,你是怎么解决的
- 最近在学啥,说一下自己看过什么书
- 挑一本你觉得最经典你最熟悉的讲讲知识点(深入理解Java虚拟机)
- 说到Java虚拟机,你能说一下你了解最深的最深的是哪块
- 那你觉得这个类的生命周期,最重要的三个点是什么(编译,类加载,类卸载)
- 那你觉得编译里面最大的难点是什么,要怎么解决呢?
- 类加载的时机
- 两个类循环引用如何处理,如何实现只加载一次(这部分其实忘记了,参考Spring的设计了,二级缓存)
- 除了这块还对什么比较熟(垃圾收集器:CMS和G1)
- CMS和G1相比的优缺点,CMS和G1垃圾回收过程
- G1为什么要用优先级队列去做一个计算收集时间,以及G1为什么要用这么多卡表
- 你提到CMS有这个碎片问题,实际应用中如何解决的?
- 这么听起来G1可以替代所有CMS,那有没有绝对要用CMS的或者更倾向于用CMS而不是G1(不会)
- 你在快手的时候,有排查过比较复杂的问题吗
- 那你觉得回过头来看,在这个过程中有什么可以改进的吗?
- 两个队列模拟栈
- 一个队列模拟栈
- 场景题:两个大文件50分别存储50亿url,限定内存4G,如何找到两个文件重复的url
- 算法原地反转单词:www.douyin.abc.com 反转成 : com.abc.douyin.www
3月15日 四面
- 前三轮面试感觉如何
- 快手离职的原因
- 听说你之前想在广东找工作,为什么现在想跑来北京找工作了呢
- 场景图:
- 设计一个系统,一个人订阅了很多微博大v,当这些微博大v发帖子的时候,这个人如何按降序查看这些帖子
- 100个海盗,100个金币,每个海盗都是很聪明的,你现在是老大,说一个提案能让你收获最多的金币
- 你项目中用到了分布式锁,分布式锁是怎么实现的
- 分布式锁的问题有哪些,都该如何解决呢
- 说一下你这个12306项目中的一个难点吧
- 购票扣减余票是怎么操作的
- 毕设写完了吗?可以提前来实习嘛
- 去年秋招没参加嘛?
- 没有算法
4月12日:下书面offer,结束春招。