系统设计与架构面试题库

这里记录了分布式系统理论、微服务架构以及经典系统设计场景的核心面试题:

分布式理论基础

  • 什么是 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)系统?
  • 如何设计一个海量数据的评论系统?