字节跳动后端面经
一面 (1h)
- 简单自我介绍
- 详细聊聊实习项目,你在里面主要做了啥?
- 项目上线后,有监控哪些指标吗?效果怎么样?
- binlog 里都存了些啥?
- MySQL 主从同步的原理是啥?
- MySQL 是怎么保证 ACID 的?
- 监控 MySQL 性能,一般看哪些指标?
- 详细讲讲 WaitGroup 的用途和底层原理?
- 怎么保证 MySQL 和 Redis 的数据一致性?
- 项目里用到了哪些设计模式?具体用在哪了?
- 聊聊你对进程、线程、协程的理解和区别?
- 核心代码模式算法题:寻找第 K 大
二面 (1h)
- 自我介绍
- 聊聊你的职业规划?
- 分享一下实习经历
- 实习的时候是怎么学习和跟团队协作的?
- 你们的开发流程是怎样的?比如上线、测试这些。
- 从 Java 转 Go,感觉怎么样?
- binlog 和数据库是啥关系?
- 怎么监控和优化慢 SQL?
- 说几种常见的数据结构?
- 跳表的原理是啥?
- HashMap 和 ConcurrentHashMap 在使用场景上有啥区别?
- 怎么让 HashMap 变得线程安全?
- 场景题:100G 的数据,怎么找出 Top 10?
- 算法题:合并 K 个有序链表
三面 (30min)
- 技术问题:实现一个线程池,有哪些要点和方案?
- 其他开放性问题(聊了些啥忘了)
HR面 (10min)
- 聊了聊基本情况
整个过程还算顺利,面试官人都不错。虽然有些地方答得一般,但最后结果还行。