2026年后端工程师面试——必问的底层理论
一、CAP 理论和 BASE 理论的区别?在实际项目中如何取舍?
分布式系统绕不开 CAP 和 BASE 这两个理论。CAP 说的是:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)中的两个。BASE 则是 CAP 在实践中的妥协——基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventually Consistent)。
实际项目中怎么取舍?我自己的经验是:
- 金融、支付、订单类:强一致性优先,牺牲一点可用性。比如转账场景,宁可返回错误也不能让账对不上。这类系统通常选 CP。
- 内容社区、推荐系统、日志收集:可用性优先,接受最终一致性。比如用户发帖后几秒内别人看不到,问题不大。这类系统选 AP。
- 中间件、配置中心:CP 居多,比如 Zookeeper、Etcd。
BASE 理论说白了就是:别死磕强一致,先保证系统能用,数据后面慢慢对齐。现在大部分互联网业务都是 BASE 的实践者。
二、分布式锁的实现方案有哪些?(Redis Redlock, Zookeeper, Etcd)
分布式锁是分布式系统的"互斥量",常见方案有三种:
| 方案 | 原理 | 优点 | 缺点 |
|---|