NiceOffer

面试面经 · 字节跳动

【字节跳动】【后端开发】【一面】校招Java基础轰炸,连追问到怀疑人生

字节跳动后端开发校招面经一面

【字节跳动】【后端开发】【一面】校招Java基础轰炸,连追问到怀疑人生

基本信息

项目内容
公司字节跳动
岗位后端开发(Java方向)
轮次一面
时间2025年秋招
面型体感压力较大,连续追问,节奏快
结果通过,进入二面

面试题目(按提问顺序)

  1. 自我介绍,挑一个最熟悉的项目介绍
  2. 介绍一下策略模式和责任链模式,分别用在哪些场景?
  3. HashMap并发不安全的原因是什么?JDK 7和JDK 8分别有什么问题?
  4. HashMap为什么使用拉链法解决哈希冲突?和开放寻址法相比有什么优势?
  5. HashMap的size为什么设计为2的幂次?
  6. ConcurrentHashMap在JDK 7和JDK 8的实现有什么区别?
  7. synchronized和ReentrantLock的核心区别是什么?什么场景下只能用ReentrantLock?
  8. synchronized的锁升级过程是怎样的?偏向锁到重量级锁的触发条件?
  9. volatile的作用,以及它为什么不能保证原子性?
  10. ThreadLocal内存泄漏是怎么发生的?怎么避免?
  11. AQS的核心实现原理是什么?
  12. MySQL事务的ACID分别是什么?InnoDB是怎么实现的?
  13. MySQL索引为什么用B+树?聚簇索引和非聚簇索引的区别?
  14. 联合索引index(b,c)在不同查询条件下是否走索引?
  15. 接口调用如何保证幂等?
  16. Redis有哪些数据结构?BloomFilter的原理是什么?
  17. TCP三次握手过程,有什么状态,状态机如何变化?
  18. 什么是TIME_WAIT状态,为什么需要它?时间是多久?
  19. 进程和线程的区别?哪些资源是线程共享的,哪些是独占的?
  20. 手撕算法:接雨水(LeetCode 42)

面试感受 / 反馈

  • 一面时长约60分钟,整体节奏非常紧凑
  • 面试官采用"连续追问"模式,每个知识点都会从定义追问到实现细节,再追问到设计原因
  • 比如问HashMap不会只问"底层结构是什么",会一路追到"为什么拉链法""为什么2的幂次""扩容时怎么rehash"
  • 算法题是LeetCode Hard级别的接雨水,需要O(n)解法
  • 整体感受:不是考你"背了多少",而是考你"有没有想过为什么"
  • 项目部分问得不深,主要还是八股和算法

准备建议

  • Java并发是字节考得最深的模块,锁升级、AQS、ThreadLocal必须吃透
  • HashMap/ConcurrentHashMap是必考题,要能说到JDK 7和8的差异
  • MySQL索引、事务要理解底层实现,不能只背定义
  • 算法至少刷到LeetCode中等偏上水平,Hard题也要准备

反问示例

  • 团队主要做什么业务?技术栈是什么?
  • 新人入职后的培养路径是怎样的?