系统设计与架构面试题库
这里记录了分布式系统理论、微服务架构以及经典系统设计场景的核心面试题:
分布式理论基础
- 什么是 CAP 定理?为什么只能三选二?
- 什么是 BASE 理论?它和 CAP 的关系?
- 什么是分布式事务?常见的解决方案有哪些(2PC、3PC、TCC、Saga、可靠消息最终一致性)?
- 什么是分布式锁?如何使用 Redis 或 ZooKeeper 实现分布式锁?
- 什么是分布式 ID 生成算法?详细讲讲雪花算法(Snowflake)?
- 什么是 一致性 Hash 算法?它解决了什么问题?什么是虚拟节点?
高并发与微服务架构
- 什么是微服务架构?它和单体架构的区别是什么?
- 微服务架构中有哪些核心组件(注册中心、配置中心、网关、RPC、链路追踪等)?
- 常见的限流算法有哪些(计数器、滑动窗口、漏桶、令牌桶)?
- 什么是服务熔断和服务降级?
- 什么是负载均衡?常见的负载均衡算法有哪些(轮询、随机、加权、源地址 Hash)?
- RPC 框架的核心原理是什么?(动态代理、序列化、网络通信)
经典系统设计场景
- 如何设计一个高并发的秒杀系统?(前端限流、Redis 预扣库存、MQ 异步下单等)
- 如何设计一个短链生成系统(Short URL)?(发号器、Hash 冲突、Base62 编码)
- 如何设计一个 Feed 流系统(朋友圈、微博)?(推模式、拉模式、推拉结合)
- 如何设计一个排行榜系统?(Redis Zset、定时计算)
- 如何设计一个扫码登录系统?
- 如何设计一个单点登录(SSO)系统?
- 如何设计一个海量数据的评论系统?