常见的分布式系统面试题清单
一、分布式基础概念类
- 什么是分布式系统?它的核心目标是什么?
 - 分布式系统和集中式系统的区别?
 - CAP 定理的内容及实际应用场景?
 - BASE 理论是什么?与 CAP 的关系?
 - 什么是水平扩展(Scale Out)和垂直扩展(Scale Up)?
 - 分布式系统中的一致性模型有哪些?(强一致性、弱一致性、最终一致性)
 - 什么是数据分片(Sharding)?有哪些分片策略?
 - 什么是分布式事务?有哪些实现方式?
 
二、分布式架构设计类
- 如何设计一个高可用的分布式系统?
 - 分布式系统中如何进行服务注册与发现?
 - 什么是负载均衡?有哪些实现方式?
 - 分布式系统中如何进行故障转移(Failover)?
 - 如何设计分布式缓存架构?
 - 分布式系统中如何保证幂等性?
 - 如何设计分布式锁?有哪些实现方式?
 - 分布式系统中如何进行限流、降级、熔断?
 
三、数据一致性与事务类
- 分布式系统中如何保证数据一致性?
 - 两阶段提交(2PC)和三阶段提交(3PC)的原理与优缺点?
 - 什么是 TCC(Try-Confirm-Cancel)事务?
 - 消息队列如何保证消息不丢失、不重复、不乱序?
 - 分布式系统中如何处理网络分区导致的数据不一致?
 - 什么是幂等性?如何实现?
 - 如何在分布式环境下实现全局唯一 ID?
 
四、性能优化类
- 分布式系统中如何进行性能监控与瓶颈分析?
 - 如何优化分布式数据库的查询性能?
 - 分布式缓存的穿透、击穿、雪崩问题及解决方案?
 - 如何设计高并发下的分布式架构?
 - 分布式系统中如何减少网络延迟?
 - 如何进行数据分片与负载均衡结合优化?
 
五、故障与容错类
- 分布式系统中如何检测节点故障?
 - 什么是心跳检测?如何实现?
 - 如何设计分布式系统的容错机制?
 - 什么是脑裂(Split-Brain)?如何避免?
 - 分布式系统中如何进行数据恢复与回滚?
 - 如何保证系统在部分节点宕机时仍能提供服务?
 
六、常见技术与工具类
- ZooKeeper 在分布式系统中的作用是什么?
 - Etcd 与 Consul 的区别与应用场景?
 - Kafka 如何保证消息的高可用与一致性?
 - Redis 在分布式系统中的应用有哪些?
 - Elasticsearch 如何实现分布式搜索?
 - 微服务架构中的分布式问题有哪些?
 - Kubernetes 如何管理分布式应用?
 
✅ 总结:
分布式面试题主要围绕 理论基础(CAP/BASE)、架构设计(高可用/负载均衡)、数据一致性(事务/幂等性)、性能优化(缓存/分片)、故障处理(容错/脑裂) 展开。
如果你能结合 实际项目经验 来回答这些问题,会比单纯背理论更有说服力。
