docs/zhuanlan/back-end-interview-high-frequency-system-design-and-scenario-questions.md
《后端面试高频系统设计&场景题》 是我的知识星球的一个内部小册,系统性地总结了后端面试中高频出现的系统设计案例和场景题。
近年来,国内技术面试"越来越卷"。越来越多的公司(阿里、美团、字节、腾讯等)开始在面试中考察 系统设计 和 场景问题,以此来更全面地考察求职者的综合能力——不论是校招还是社招。
很多同学八股文背得滚瓜烂熟,但一遇到"如何设计一个秒杀系统?"这类开放性问题就懵了。
系统设计和场景题的考察特点:
于是,《后端面试高频系统设计&场景题》 小册就诞生了!
1. 面试加分项
系统设计和场景题回答得好,面试官会对你印象非常好!这类问题稍微准备就能脱颖而出。
2. 提升系统设计思维
即使不是准备面试,这份小册也能帮助你建立系统设计的思维框架,提升解决实际问题的能力。
3. 实战落地参考
涉及到的很多案例都可以直接用到自己的项目上,比如:
| 主题 | 核心知识点 |
|---|---|
| ⭐ 如何设计一个动态线程池? | 线程池参数动态调整、监控告警、拒绝策略、优雅停机 |
| 如何设计一个站内消息系统? | 消息推送、未读数统计、WebSocket、消息队列 |
| 如何设计微博 Feed 流/信息流系统? | 推拉模型、Timeline、智能推荐、读写扩散、缓存策略 |
| 如何设计一个排行榜? | Redis Sorted Set、实时更新、分页查询、海量数据排序 |
| 几种典型的系统设计案例(整理补充) | 点赞、优惠卷、红包等综合案例分享 |
| 主题 | 核心知识点 |
|---|---|
| ⭐ 订单超时自动取消如何实现? | 延时队列、定时任务、状态机、幂等性保障 |
| 如何基于 Redis 实现延时任务? | 过期事件监听 vs Redisson DelayedQueue、时效性、可靠性 |
| ⭐ 如何解决大文件上传问题? | 分片上传、断点续传、秒传、并发上传、文件校验 |
| 如何实现 IP 归属地功能? | IP 库选择、离线库 vs 在线接口、性能优化 |
| 如何统计网站 UV? | PV/UV/VV/IP 概念、HyperLogLog、去重统计 |
| ⭐ 几种典型的后端面试场景题(补充) | 限流、幂等、缓存穿透等综合场景 |
| 主题 | 核心知识点 |
|---|---|
| ⭐ 项目敏感词脱敏是如何实现的? | 脱敏策略、正则匹配、性能优化、动态配置 |
| ⭐ 如何安全传输和存储密码? | 加盐哈希、BCrypt、HTTPS、防重放攻击 |
| 如何实现第三方授权登录? | OAuth 2.0 协议、授权码模式、Token 机制、JWT |
| 验证码登录场景怎么设计? | 验证码生成、存储、校验、防刷、有效期管理 |
| 多次输错密码后如何限制登录? | 限流策略、Redis 计数器、滑动窗口、分布式限流 |
| 主题 | 核心知识点 |
|---|---|
| ⭐ 40 亿个 QQ 号,限制 1G 内存,如何去重? | 位图、布隆过滤器、分治思想、外部排序 |
| ⭐ 日活上亿,如何保证推荐视频不重复? | 布隆过滤器、Redis Set、去重策略、空间优化 |
| ⭐ 大数据 Top K 问题 | 堆排序、快速选择、分治、MapReduce |
| 主题 | 核心知识点 |
|---|---|
| 多位骑手抢一个订单如何保证不重复? | 分布式锁、乐观锁、Redis SETNX、并发控制 |
| 发生提现失败(退单)时怎么处理? | 补偿机制、幂等设计、状态回滚、对账系统 |