Yihui’s Blog

场景面试题

日期:2026-09-27
标签:#面试 #场景设计 #Redis #Kafka #MySQL #计算机网络

题目与难度来自牛面场景题题库。共 32 题;8 道可访问题的答案依据页面内容改写。24 道 VIP 题(04–19、21–28)已补齐独立参考答案,未读取站内会员答案。

阅读方式

VIP 题的参考答案包含一句话结论、约 60 秒口语版、机制与案例、故障分支、工程取舍、递进追问、自测及资料链接。适合先脱稿回答,再对照失败分支和官方资料检查边界。图解与伪代码仅在能解释实际流程时加入。

  • Redis 与缓存:04–12,重点区分锁租约失效、穿透、击穿、雪崩和热 key。
  • 消息队列与 Kafka:13–19,重点区分 Broker 交付、消费位点与业务副作用各自的保证范围。
  • 网络与数据库:21–28,重点练习故障检测、慢 SQL 诊断、复制延迟和主库切换的排查顺序。

题目目录

  1. Redis可以做消息队列吗?什么时候能用Redis做消息队列? · 中等 · 可访问·改写
  2. 除了 Redis 实现分布式锁,还有哪些方案可以实现分布式锁?各有什么优缺点? · 中等 · 可访问·改写
  3. 分布式锁实现要点是什么? · 简单 · 可访问·改写
  4. 基于 Redis 实现分布式锁有什么优缺点? · 简单 · VIP·独立整理
  5. 如何为Redis分布式锁设置合理的超时时间? · 中等 · VIP·独立整理
  6. 什么是大key问题? · 中等 · VIP·独立整理
  7. 什么是缓存?有什么价值? · 简单 · VIP·独立整理
  8. 什么是缓存穿透?如何解决? · 中等 · VIP·独立整理
  9. 什么是缓存击穿?如何解决? · 中等 · VIP·独立整理
  10. 什么是缓存雪崩?如何解决? · 中等 · VIP·独立整理
  11. 什么是热key? · 中等 · VIP·独立整理
  12. 怎么用Redis实现可重入的分布式锁? · 中等 · VIP·独立整理
  13. 什么情况下需要分发消息? · 简单 · VIP·独立整理
  14. 什么情况下需要解耦? · 简单 · VIP·独立整理
  15. 什么情况下需要削峰? · 简单 · VIP·独立整理
  16. Kafka 为什么这么快?Kafka 性能为什么这么高?Kafka 吞吐量为什么这么大? · 中等 · VIP·独立整理
  17. Kafka如何保证消息不丢失 · 中等 · VIP·独立整理
  18. Kafka如何保证消息不重复消费 · 中等 · VIP·独立整理
  19. MQ消息积压了怎么办 · 中等 · VIP·独立整理
  20. 什么是分库分表?何时需要进行分库分表? · 中等 · 可访问·改写
  21. 建立连接后,若客户端突然出现故障,服务端会如何处理? · 中等 · VIP·独立整理
  22. 分库分表后会产生哪些问题?如何解决跨库查询和分布式事务? · 困难 · VIP·独立整理
  23. 如何分析和优化慢SQL?慢查询的常见原因有哪些? · 困难 · VIP·独立整理
  24. 如何进行MySQL性能监控?关键性能指标有哪些? · 困难 · VIP·独立整理
  25. 深分页查询如何优化?LIMIT大偏移量的性能问题如何解决? · 困难 · VIP·独立整理
  26. MySQL配置参数如何调优?关键参数对性能的影响是什么? · 困难 · VIP·独立整理
  27. MySQL主从复制有哪些延迟问题?如何解决数据延迟? · 中等 · VIP·独立整理
  28. MySQL主库故障如何处理?故障切换的方案有哪些? · 中等 · VIP·独立整理
  29. 服务端如何识别同一用户的多次 HTTP 请求 集群部署时如何处理 · 中等 · 可访问·改写
  30. 服务端在哪些常见场景下会主动断开 TCP 连接? · 中等 · 可访问·改写
  31. 若服务端进程崩溃或突然断电,已建立的 TCP 连接会发生什么情况? · 中等 · 可访问·改写
  32. 一个服务端进程最多可以建立多少条 TCP 连接?一个机器呢? · 中等 · 可访问·改写
Maintained by · YihuiEdit on GitHub

Keep reading

View all posts

如何为Redis分布式锁设置合理的超时时间?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:中等 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 租约应覆盖可预期的执行、暂停与网络抖动,同时限制故障后的等待;没有可靠耗时上界时用有身份校验的受控续期,并在业务资源侧防止旧执行者写入。 面试…

Read article

怎么用Redis实现可重入的分布式锁?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:中等 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 为同一把锁保存“本次最外层获锁的唯一令牌 + 重入次数 + 租约”;嵌套调用共享该令牌并原子递增,释放时递减,次数归零才删除。新一轮独立获锁必…

Read article

基于 Redis 实现分布式锁有什么优缺点?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:简单 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 Redis 锁接入简单、响应快,适合容忍少量故障窗口内重复执行的任务;租约过期与主从切换可能破坏互斥,关键写入还须在资源侧拒绝旧持有者。 面试…

Read article