# 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,消除活锁 ✓ 正确答案