面灵AI
时间
2026-08
来源
牛客网

《面试题目》

  1. 时间:8月18日(复盘
  2. 公司:小红书
  3. 批次:秋招
  4. 形式:一面,约48分钟
  5. 先从项目切入,后面接高频链路题
  6. 订单里同一SKU高并发减库存,怎么避免超卖?
  7. MySQL里订单表为什么突然变慢,慢SQL该怎么定位?
  8. Redis分布式锁在延迟高的时候会踩什么坑?
  9. Kafka消息乱序怎么处理?
  10. Spring里@Async和事务为什么容易“看着对实际没生效”?
  11. 算法:数组里找众数。
  12. 我在第1题先说了Redis+DB双判定,追问到大促峰值时改成了预扣+补偿表。
  13. 第5题被问到传播边界时卡住了,后来补了AOP代理失效异常未抛出两点。这个节奏比我预想要久,最后回去又把“超时导致锁续约丢状态”补了一句。

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
  3. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。