Paxos 与变体

共 17 题
#

1. Multi-Paxos 的"日志索引 + 选主"的工程化

A leader 稳定后跳过 Prepare,仅用 Accept 提升效率 ✓ 正确答案
B 每个日志槽位无法用 Paxos 并行决定
C Multi-Paxos 不需要日志索引
D Multi-Paxos 每个实例都要完整 Prepare+Accept 两轮
#

2. Paxos 的"安全性"约束,即只能 propose 一个 value

A 安全性只在无故障时成立
B 安全性允许两个不同值被选定
C 安全性依赖消息必达
D 系统最多只能选定一个 value,且已选定值不可更改 ✓ 正确答案
#

3. Paxos 的"活锁"(liveness)问题与 leader 选举的引入

A 活锁由多个 proposer 交替提高编号互相阻塞引起 ✓ 正确答案
B 活锁会破坏协议安全性
C 活锁由网络丢包引起
D 引入 leader 会加剧活锁
#

4. Paxos 的工程实现案例,如 Chubby 与 Zookeeper 的 Zab 协议

A Chubby 基于 Paxos,Zookeeper 用 Zab 实现全序广播 ✓ 正确答案
B Zookeeper 完全用 Basic Paxos 没用 Zab
C Chubby 与 Paxos 无关
D Zab 不依赖多数派
#

5. 为什么任意两个 quorum 必须相交?从集合论角度证明多数派交集的必要性,以及它如何保证唯一值被选定?

A 两个 quorum 可以完全不相交
B 任意两个多数派 quorum 必然相交,保证唯一值被选定 ✓ 正确答案
C quorum 相交与安全性无关
D 少数派也可以作为有效 quorum
#

6. Cheap Paxos、Egalitarian Paxos、Fast Paxos 的工程变体

A Fast Paxos 旨在降低提交延迟到一次 RTT ✓ 正确答案
B Cheap Paxos 增加副本数量以提升容错
C EPaxos 只允许单一 leader
D 所有变体都不改变 Paxos 的基本阶段
#

7. Paxos 与 Raft 的对应关系,即 Raft = Multi-Paxos + 强 leader

A Raft 可视为 Multi-Paxos 加强 leader 的具体化 ✓ 正确答案
B Raft 与 Paxos 完全无关
C Raft 的 AppendEntries 对应 Paxos 的 Prepare 阶段
D Raft 的 term 与 Paxos 无关
#

8. Paxos 的 proposer、acceptor、learner 三角色

A acceptor 存储并决定是否接受提案 ✓ 正确答案
B learner 负责发起提案
C proposer 只存储不参与
D 一个节点只能担任一种角色
#

9. Paxos 的"quorum",即多数派(majority)作为容错单元

A N=2f+1 个节点可容忍 f 个故障 ✓ 正确答案
B 多数派相交并非安全所需
C 少数派即可作为 quorum
D 容错数随 quorum 大小线性增加
#

10. Paxos 的 Single-Decree Paxos 与 Multi-Paxos 两类

A Multi-Paxos 用多个 Paxos 实例决定日志序列 ✓ 正确答案
B Single-Decree 决定一列日志
C Multi-Paxos 由 Single-Decree 直接翻译而来无需优化
D 两者都只决定一个值
#

11. Basic Paxos 的 Prepare/Promise/Accept/Accepted 两阶段如何推进?

A Prepare 阶段获得多数派 Promise 后,第二阶段提交编号 n 与值 v 并等待多数派 Accepted ✓ 正确答案
B 只有一个阶段,proposer 直接提交值
C acceptor 无需承诺可忽略任意编号的提议
D 只要 proposer 自己接受即可完成共识
#

12. Basic Paxos 的选值约束 P2c,为什么 acceptor 必须接受编号更大的提案,Prepare 阶段如何限制旧提案被采纳?

A 更高编号提案可以随意选值
B 更高编号提案必须携带已接受的最大编号值 ✓ 正确答案
C Prepare 阶段不限制旧提案
D P2c 只影响活性不影响安全性
#

13. 经典 Paxos 活锁的具体时序,两个 proposer 交替提高编号为何互相阻塞,Multi-Paxos 选主后如何消除活锁?

A 选单一 leader 会引发活锁
B 活锁由 acceptor 故障引起
C 两个 proposer 交替提高编号互相作废,形成活锁 ✓ 正确答案
D 活锁会破坏安全性
#

14. Paxos 的"拜占庭"变体 PBFT

A PBFT 与 Paxos 容错模型相同
B PBFT 只需 2f+1 节点
C PBFT 只处理崩溃故障
D PBFT 需要 3f+1 节点以容忍 f 个拜占庭故障 ✓ 正确答案
#

15. Paxos 的"正确性证明"(TLA+)的工程价值

A TLA+ 无法检测并发缺陷
B TLA+ 用于运行时性能优化
C TLA+ 只能描述单机程序
D TLA+ 用模型检查在实现前验证协议正确性 ✓ 正确答案
#

16. Multi-Paxos 与 Raft 的简化中,领导者与日志复制如何对应?

A Raft 用强 leader 与 AppendEntries 简化多 proposer 与多实例 ✓ 正确答案
B Raft 引入多 proposer 竞争
C Raft 比 Multi-Paxos 更复杂
D Raft 无日志复制机制
#

17. Paxos 的活锁与领导者选举,轮值领导者如何解决冲突?

A 轮值领导者必导致冲突
B 多 leader 能更好消除活锁
C 领导者选举会破坏安全性
D 选单一 leader 作为唯一 proposer,消除活锁 ✓ 正确答案