字节跳动 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. 自我介绍2. 手撕前缀相同字符3. 介绍实习项目4. 怎么解决消息丢失问题?5. 重复消费问题怎么解决?6. rabbitmq和kafka区别?7. 你们运用线程池的地方都是只是用来异步的处理一些问题吗?还是说也用了一些并发的操作?8. 线程池是动态的吗?还是静态的写死在代码里面的?9. 线程池有哪些核心参数,以及线程池是怎么根据这些核心参数去创建线程?拒绝策略有哪几种?10. 有哪些方法或者方式可以让我的主线程等待所有的子线程完成之后再去执行?11. (接上个问题)如果我想要对我的每个子线程任务设置不同的超时时间,怎么做?future类里面那个get,它可以指定每个子任务的一个最大的执行时间。12. redis的分布式锁,然后你们这个分布式锁是自己实现的,还是基于市面上一些已经封装好的?13. redission底层是怎么具体实现的吗?14. 有哪些实际开发中可能你的代码写的事务不生效,那会导致你的代码写的事务不生效?15. 怎么避免缓存穿透、缓存击穿、缓存雪崩吗?16. redis缓存是立刻删除的么?17. 你知道哪些垃圾回收器?说一下CMS和G1区别?18. 哪些情况下会使得对象从年轻态晋升到老年代?19. 这个系统其实为上百家医院提供服务吗?然后你们这个系统日常的峰值的时候QPS高吗?20. 对外部提供的接口,他们有要求接口的性能很高吗?21. 要求实时性比较高的接口,TP99大概多少?22. 之前有对接口压测相关吗?23. 你知道TP99或者TP999的概念吗?
点赞 评论 收藏
分享
评论
4
63
分享

创作者周榜

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