字节跳动 Java 二面面经

  1. synchronized 和 ReentrantLock 的区别?底层实现机制分别是什么?
  2. volatile 的作用是什么?能保证原子性吗?
  3. ThreadLocal 的原理,为什么会发生内存泄露?
  4. 线程池的参数配置,拒绝策略有哪些?在高并发场景怎么设计?
  5. JVM 内存结构,GC Roots 有哪些?
  6. CMS 和 G1 垃圾回收器的区别与使用场景。
  7. 遇到线上 Full GC 频繁,你会怎么排查?
  8. 说一下 MySQL 的事务隔离级别,每一级别可能出现的问题。
  9. MySQL 中的索引类型有哪些?为什么用 B+ 树而不是 B 树?
  10. Redis 的缓存穿透、击穿、雪崩问题是怎么解决的?
  11. 手写 LRU 缓存(要求 O(1) 时间复杂度的 get 和 put)。
  12. 判断链表是否有环,如果有,返回环的入口节点。
  13. 滑动窗口最大值问题,要求给出时间复杂度尽量低的解法。
  14. 设计一个评论系统,要支持高并发写入、分页查询、热评展示,还要考虑防刷。
  15. 你在项目中遇到的性能瓶颈是什么?当时是如何定位并解决的?
  16. 你做过的项目里,最有挑战的一次优化或故障排查经历是什么?

面经总结

字节的二面往往比一面更深入,重点放在 并发、JVM、算法、数据库与缓存、系统设计 五个方面。

  • 并发 & JVM:一定会被追问底层原理,光会用不够,要能解释「为什么」。
  • 算法:一般 1–2 道,要求写出代码,复杂度要说清楚。
  • 数据库 & 缓存:围绕 MySQL 和 Redis 的高频问题,缓存一致性、事务隔离、索引原理几乎必考。
  • 系统设计 & 项目:会结合你简历里的项目,让你说出架构设计、优化措施以及背后的权衡。
  • 提问环节:最后通常会问「你有什么问题要问我」,不要空着,可以问团队技术栈、业务场景、挑战点。

全网最全面的java面试八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/0n9XOd

全部评论
同学,瞅瞅我司,医疗独角兽,名额有限,先到先得,我的主页最新动态,绿灯直达,免笔试~
2 回复 分享
发布于 10-09 13:19 广东
清华爷也学java
点赞 回复 分享
发布于 10-11 13:39 江苏
求大佬,写一篇帖子讲解评论系统设计
点赞 回复 分享
发布于 09-25 16:37 北京

相关推荐

评论
1
47
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务