面灵AI

秋招面试

时间
2026-08
来源
牛客网

《面试题目》

  1. 东哥东哥我爱你,快让我过吧[羞涩]
  2. 自我介绍一下,简单介绍自己的技术背景。
  3. Redis 常见的持久化方式有哪些?RDB 和 AOF 的实现机制有什么区别?线上环境一般如何选择?
  4. Redis 出现缓存穿透、缓存击穿、缓存雪崩时,分别有哪些解决方案?
  5. 在电商大促场景下,某个热门商品访问量和库存操作量非常高,如果大量请求直接访问 Redis,会产生什么问题?
  6. 如果热点商品不仅查询量大,同时更新库存的请求也非常频繁,仅依靠本地缓存是否能够解决?为什么?
  7. 针对高并发写热点问题,你有哪些优化思路?如果引入消息队列进行流量削峰,如何保证消息可靠性和消费顺序?
  8. 除了消息队列之外,还有哪些方式可以避免数据库因为突发流量导致压力过大?
  9. 日常开发或者代码 Review 时,你会如何判断一条 SQL 是否存在性能问题?
  10. MySQL 建立联合索引时,最左匹配原则具体是什么?实际查询中有哪些注意事项?
  11. Kafka、RabbitMQ、RocketMQ 这些消息中间件有什么区别?Kafka 的优势和适用场景是什么?
  12. 手撕代码:基于阻塞队列实现一个简单的生产者-消费者模型(共

《参考解析》

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