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)

分布式锁是分布式系统的"互斥量",常见方案有三种:

方案原理优点缺点