字节跳动 AI 后端开发日常实习一面面经

字节跳动 · AI 后端开发 · 一面 · 2026-04

面试题目

  1. 实习经历深挖
  2. 大模型底层实现原理
  3. Java HashMap 原理
  4. 垃圾回收算法及常见垃圾回收器对应算法
  5. Spring AOP 介绍及底层实现原理
  6. JDK 动态代理与 CGLIB 的区别
  7. 数据库事务隔离级别及解决的问题
  8. Redis 数据类型及应用场景
  9. Redis 分布式锁的作用
  10. 实习与项目相关设计细节
  11. 手撕代码:返回最长回文子串

参考解析

  • HashMap:基于数组+链表/红黑树实现,JDK 1.7 是头插法,1.8 改为尾插法且引入红黑树优化查询性能,负载因子 0.75 为空间与时间的平衡。
  • GC 算法:标记-清除、标记-复制、标记-整理。常见的回收器如 CMS 使用标记-清除,G1 使用标记-整理,Parallel GC 多线程并行。
  • AOP 底层:主要通过动态代理实现。若目标类实现接口,使用 JDK 动态代理(基于接口);否则使用 CGLIB(基于继承生成子类)。
  • Redis 分布式锁:通过 SETNX 或 Lua 脚本实现原子性加锁,解决多节点并发下的资源互斥问题,需注意锁过期时间(TTL)及看门狗机制。
  • 最长回文子串:建议使用中心扩散法(复杂度 O(n²))或 Manacher 算法(复杂度 O(n)),面试中中心扩散法书写简洁且性能满足需求。