字节跳动 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

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

相关推荐

09-28 01:16
已编辑
门头沟学院 Java
8.21 一面1. Java 的 GC 回收机制吗?可以简单说一下。2. 你在实习阶段或者自己做项目的时候,有实际分析过线上 GC 的内存使用情况以及线程情况吗?3. 你了解 MySQL 里面的各种锁,比如表级锁、行级锁、页锁之类的吗?可以说一下这些锁的特点以及它们锁的范围。4. 什么情况下会出现锁升级呢?(MySQL 的锁升级)5. 你了解 MVCC 吗?可以简单说一下。6. 在 MySQL 里,有索引但索引失效会是什么样的问题?可以说三个情况。7. 你了解归并排序吗?可以讲一下归并排序的大致实现原理。8. 你用过 MQ 相关的吗?比如说 Kafka。9. 你们之前用 Redis 除了用分布式锁以外,还用过其他什么场景?除了布隆过滤器还有吗?10. 你对 AI 以及 AI CODING 的了解,还有对它们未来的看法是怎样的?11. 在 AI 相关,比如大数据或算法方面,你之前有过哪些经验、实践?手撕:删除倒数第k个节点最小覆盖子串8.27 二面实习深挖(30min)平时一般通过什么方式学习技术?你提到了解大模型 Agent,做过相关应用吗?或者了解过哪些 Agent 应用?你了解 AI Coding 吗?在实习中有什么 AI Coding 的实践经验?你个人对毕业以后的职业规划是怎样的无手撕;8.31收到短信挂,进人才库。 感觉二面面试官不太喜欢我9.2 捞,9.4 一面1. ConcurrentHashMap,2. synchronized和ReentrantLock3. 分布式系统注册中心是怎么做的?4. 限流算法;5. Spring循环依赖问题6. 索引类型,7. 主从复制的过程 :dump线程 io线程 sql线程8. Redis如何解决分布式下节点变化9. Redis分片,哈希槽,一个请求打过来的过程?10. 开放性问题:一个服务如果耗时增加了,如何排查;手撕:最大子数组和复原IP地址(说思路)9.11 发现又回人才池了,这次连短信都没有-------------------------------------------------------------------------------9.22 鸡架捞,进程间通信有哪些方式?用 socket 方式进行进程间通信,具体是怎么实现的?除了通过网络 socket,同一机子内部的进程进行通讯,还有别的方式吗?其转发只能通过绑定 IP 和端口吗?Linux 操作系统回写回收脏页是怎么做的?TCP 和 UDP 属于同一层协议,UDP 无法保证消息准确性,若要求在应用层用 UDP 实现一个类似 TCP 的功能,有哪些要点需要实现?在浏览器上点击一个链接,到拿到结果的过程中,会用到哪些网络协议(不限层级)?线程池有几个重要参数,分别是什么?若一个线程池尚未初始化,提交任务后直到线程池崩溃,整个过程中会依次用到哪些线程池参数?线程工厂(Thread Factory)有什么作用?你用过与 Java 命令在同一目录下的 bin 命令吗?简单说几个。       jstack jps 那些你在线上用过这些工具吗?在什么情况下使用的?你了解 LRU 数据结构吗?它是用什么数据结构组合实现的?你知道红黑树吗?java 哪些地方会用到红黑树?一个自创题,算是有向图判断是否有环?只用写伪代码基本都答的上来,题也算撕出来了,9.26 又又又又又又又又又又挂了  天呢美团大人
点赞 评论 收藏
分享
评论
1
41
分享

创作者周榜

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