面灵AI→

字节全栈一至四面面经

轮次
一至四面
时间
2026-10
来源
牛客网

《面试题目》

  1. 介绍项目情况以及最终产出。
  2. 实习及项目经历深挖。
  3. StringBuilder 和 StringBuffer 有什么区别?
  4. ConcurrentHashMap 如何保证线程安全?
  5. Lock 和 synchronized 有什么区别?
  6. String 为什么是不可变的?
  7. == 和 equals 有什么区别?
  8. select 语句的执行流程是什么?
  9. 聚簇索引和非聚簇索引有什么区别?
  10. MySQL 用的是 B 树还是 B+ 树?为什么用 B+ 树?
  11. MySQL 在高 QPS 下如何解决并发写入压力?
  12. AI 的相关原理了解多少?
  13. 联合索引 type、create_time、name 在给定查询下能命中哪些字段?
  14. 转账场景根据什么判断业务正常执行?
  15. 最长连续序列怎么解?
  16. AI Coding 面试怎样展示解题过程?
  17. 实习和项目中如何使用 AI?
  18. MCP 和 Skill 怎么理解?
  19. Skill 和 Prompt 有什么区别?
  20. Prompt 可以跨会话复用吗?
  21. 实习期间最有技术挑战的一件事是什么?
  22. 脏读、不可重复读、幻读分别是什么?
  23. InnoDB 在 RR 隔离级别下如何解决幻读?
  24. 索引失效的原因有哪些?
  25. 常见的幂等设计方案有哪些?
  26. 如何设计 Feed 流?大 V 场景会遇到什么问题?
  27. 用户下单后规定时间内未支付,如何设计订单自动取消?
  28. RocketMQ 原生支持延迟消息到什么时间级别?
  29. 不用消息队列时如何完成订单自动取消?
  30. Redis 挂了导致数据丢失怎么办?
  31. 降级到扫表时如何做到秒级?
  32. Leetcode 检查子树怎么做?
  33. 如何评价一个项目的具体效益?
  34. 如何判断自己能力的长短板?
  35. 怎样看待实习带来的成长?
  36. AI 对未来的影响怎么看?

《参考解析》

这场面试的主线是“基础是否扎实、项目是否真做过、AI 工具是否真的进入工程流程”。Java 部分要把 String 不可变、字符串常量池、ConcurrentHashMap 的分段/桶级并发和 synchronized 锁升级串起来,不能只背结论。MySQL 要能解释 B+ 树为什么适合范围查询和磁盘页,联合索引按最左前缀匹配,like 以 % 开头通常无法有效利用索引。

三面开始明显偏系统设计。Feed 流要区分推模式、拉模式和推拉结合:普通用户拉、大 V 写扩散要设阈值,配合收件箱、分页游标和去重。订单自动取消可以用延迟消息,也可以扫表加时间轮/分片,但要回答消息丢失、重复消费、积压和秒级精度。幂等要落到业务唯一键和数据库唯一约束,不能只靠 Redis 锁。

AI 部分不要只讲工具名。要说明如何把需求拆给模型、如何限制改动范围、如何用测试和人工 review 验收,以及 MCP、Skill、Prompt 各自的边界。