字节跳动后端推荐架构面经

字节跳动 · 后端开发工程师 · 一面、二面、HR面 · 2026-03

《面试题目》

3.6 一面

  1. 项目相关:系统链路设计、库存超卖处理、Redis与MySQL一致性策略、生产环境下的系统鲁棒性及自动化补偿机制;向量数据库原理、HNSW算法。
  2. 八股:缓存击穿/穿透/雪崩区别、SETNX与Lua差异、数据库锁机制、线程公平性、CAS原理与缺陷、数据库事务隔离与幻读处理、聚簇索引/非聚簇索引/回表、TCP可靠性与拥塞控制、IO模型、软硬链接。
  3. 手撕:之字形打印二叉树。

3.10 二面

  1. 项目相关:秒杀场景下库存扣减与一人一单原子性、Lua脚本实现分布式一致性原理、限流与熔断机制、向量检索索引库(HNSW vs IVF)构建。
  2. 手撕:无序数组频率统计(O(n)/O(1))、旋转有序数组找最小值、10个100G日志文件求Top 100 Query(分治/Hash映射)。

《参考解析》

  1. Redis与MySQL一致性:常用策略是“先写库,后删除缓存”。初始不一致可通过Binlog订阅(如Canal)进行重试补偿,或采用延迟双删策略。
  2. HNSW算法:基于图的近邻搜索算法,通过分层结构实现快速检索,相比IVF具有更高的查询精度,但内存开销较大。
  3. CAS缺陷:存在ABA问题,通常通过加版本号(AtomicStampedReference)解决;在高竞争下CPU开销较高。
  4. 聚簇索引与回表:聚簇索引叶子节点存储完整行数据,回表指在非聚簇索引找到主键后,需回原表查询行数据。使用覆盖索引可避免回表。
  5. 海量数据处理(TopK):此类问题核心在于分治法。先通过Hash函数将文件分配到不同小文件,对每个小文件进行统计,最后汇总所有结果。