分布式理论与一致性协议

共 38 题
#

1. EPaxos(Equality Paxos)如何用冲突无关命令实现乱序提交,与 Multi-Paxos 在工程落地上的差距

A EPaxos 通过依赖图实现冲突无关命令的乱序提交,从而减少串行化开销 ✓ 正确答案
B Multi-Paxos 比 EPaxos 更容易产生依赖环
C EPaxos 要求所有命令严格按全局顺序提交
D EPaxos 在工程上比 Multi-Paxos 更成熟稳定
#

2. Multi-Paxos 的工程简化

A Leader 稳定时可直接进入 accept 阶段,将正常路径 RTT 降为一轮 ✓ 正确答案
B 每个槽位都要求独立进行选主
C 稳定 Leader 下仍必须执行完整的 prepare 阶段
D 简化后无法对日志进行批量提交
#

3. Paxos 协议(Basic Paxos/Multi-Paxos)

A Basic Paxos 只对单个值达成共识
B Multi-Paxos 将多个值排列成有序日志
C Multi-Paxos 通常通过唯一 Leader 避免冲突
D Basic Paxos 不会产生活锁问题 ✓ 正确答案
#

4. Paxos 的 prepare/accept 阶段

A 无条件接受该提议
B 若 n 大于它已响应的最大编号,则承诺不再接受更小编号的提议,并返回已接受过的最高编号值 ✓ 正确答案
C 立即广播自己的值给所有节点
D 拒绝所有 Prepare 请求
#

5. Paxos 的活锁与 Leader 选举优化

A 多个 Proposer 用递增编号互相覆盖可导致活锁 ✓ 正确答案
B 活锁只能通过增加副本数量解决
C 活锁会导致节点永久阻塞等待
D 活锁与 Leader 选举无关
#

6. Paxos 算法的 Proposer/Acceptor/Learner 角色

A Proposer
B Acceptor ✓ 正确答案
C Coordinator
D Learner
#

7. Paxos 算法的核心思想

A 所有节点必须同时在线
B 时钟必须完全同步
C 网络必须无延迟
D 任意两个多数派之间必有交集 ✓ 正确答案
#

8. Raft 与 Multi-Paxos 的对比

A 两者都依赖多数派复制日志
B Raft 通过任期与日志匹配等规则使实现更简单
C Raft 的可理解性是其工程优势
D Multi-Paxos 有统一的标准实现接口 ✓ 正确答案
#

9. Raft 协议(Leader 选举/日志复制/快照)的工程简化与 etcd 的应用

A Raft 允许 Follower 随意提交日志
B etcd 使用 etcd-raft 库实现共识,并配合 MVCC、lease 等机制 ✓ 正确答案
C Raft 不关心 Leader 选举
D 快照用于加快 Leader 选举
#

10. Raft 在 Nacos 中的应用(Distro/Raft)

A Distro
B Raft(Jraft) ✓ 正确答案
C Gossip
D Quorum queue
#

11. Raft 的 Leader 选举(Term/Heartbeat/Vote)

A 保持 Follower 身份
B 立即增加任期重新选举
C 停止日志复制
D 成为 Leader 并开始发送心跳 ✓ 正确答案
#

12. Raft 的 learner 节点

A learner 参与投票并可计入多数派
B learner 只同步日志但不投票,用于滚动升级与扩容 ✓ 正确答案
C learner 不接收任何日志
D learner 只能用于读请求
#

13. 2PC(两阶段提交)与 3PC(三阶段提交)在分布式事务的故障恢复边界

A 在协调者宕机时参与者仍能自主提交
B 3PC 能彻底解决所有分区场景下的不一致
C 2PC 绝不产生阻塞
D 3PC 通过超时机制减少参与者的阻塞等待 ✓ 正确答案
#

14. CAP 三角与 PACELC 扩展

A 它只关心分区发生时的取舍
B 它否定 CAP 定理的正确性
C 它补充了无分区时在时延与一致性之间的权衡 ✓ 正确答案
D 它要求所有系统都必须强一致
#

15. CAP 定理的工程取舍(CP vs AP)

A AP 系统
B 最终一致缓存
C 单一只读副本
D CP 系统 ✓ 正确答案
#

16. FLP 不可能性与共识算法

A 它证明任何分布式系统都无法达成共识
B 它只适用于同步系统
C 它指出纯异步且可能崩溃的系统中不存在确定性共识算法 ✓ 正确答案
D 它否定了 Paxos/Raft 的正确性
#

17. Quorum(法定人数)与读写一致性

A W+R<N
B W+R>N ✓ 正确答案
C W=R=N
D W+R=N/2
#

18. Raft 的安全性(Election Safety/Log Matching/Leader Completeness)

A Leader Completeness ✓ 正确答案
B Log Matching
C Election Safety
D State Machine Safety
#

19. Raft 的成员变更(Joint Consensus)

A 选举超时过短
B 成员变更时新旧多数派可能不相交导致不一致 ✓ 正确答案
C 日志复制速度过慢
D 快照文件过大
#

20. Raft 的线性一致读(ReadIndex)

A 可以在任意 Follower 上执行
B 读请求不需要等待任何确认
C 读结果一定是最新的且无需复制日志 ✓ 正确答案
D 读速度不受 Leader 影响
#

21. Raft 的预投票(Pre-Vote)与网络分区

A 日志复制过慢
B 快照安装失败
C 网络分区导致任期激增与无谓 Leader 切换 ✓ 正确答案
D 读请求延迟
#

22. Raft 算法的 Leader 选举与日志复制

A Leader 本地记录即可
B 所有节点都确认
C 获得多数派节点的确认 ✓ 正确答案
D 任一 Follower 确认
#

23. ZAB 协议与 Paxos 的差异

A Paxos 只用于 ZooKeeper
B ZAB 不使用多数派
C ZAB 面向全序广播,Paxos 面向通用单值共识 ✓ 正确答案
D 两者完全相同
#

24. ZAB 协议与 Raft 协议在 ZooKeeper 与 etcd 实现的核心差异

A ZAB 不保证事务顺序
B 两者都不依赖 Leader
C ZAB 用 Zxid 作为事务编号,Raft 用 term 与日志索引 ✓ 正确答案
D Raft 不提供任何日志复制
#

25. ZAB 协议(ZooKeeper Atomic Broadcast)

A 最终一致性
B 因果顺序
C 全序广播 ✓ 正确答案
D 随机顺序
#

26. braft(百度)的工程实现

A brpc ✓ 正确答案
B Dubbo
C Thrift
D gRPC
#

27. etcd-raft 的工程实现

A 纯逻辑实现,与网络和存储解耦,由调用方驱动 ✓ 正确答案
B 只能用于 etcd 自身
C 不支持快照
D 强绑定 gRPC 与 RocksDB
#

28. hashicorp/raft 与 etcd-raft 的差异

A 纯逻辑实现,无默认存储
B 只能用于 Consul
C 内置 FSM、boltdb 存储与 HTTP 传输,开箱即用 ✓ 正确答案
D 不支持快照
#

29. 一致性模型(强/弱/最终/线性)

A 最终一致性
B 线性一致性 ✓ 正确答案
C 弱一致性
D 因果一致性
#

30. 共识算法的工程实现(etcd/Consul/Nacos)

A etcd ✓ 正确答案
B Nacos
C Consul
D ZooKeeper
#

31. 因果一致性(Causal Consistency)

A 所有操作按真实时间顺序可见
B 有因果关系的操作按因果顺序可见,并发操作不作保证 ✓ 正确答案
C 操作完全随机
D 所有节点立即看到最新写
#

32. 最终一致性的边界(读己之写/单调读)

A 单调读
B 单调写
C 线性一致
D 读己之写 ✓ 正确答案
#

33. 线性一致性(Linearizability)的工程意义

A 最终一致性
B 因果一致性
C 线性一致性 ✓ 正确答案
D 单调写
#

34. CRDT(Conflict-free Replicated Data Types)

A 依赖中央协调器仲裁
B 需要强一致的全序广播
C 所有操作必须串行
D 合并操作满足交换律、结合律与幂等性 ✓ 正确答案
#

35. Lamport Timestamp 与偏序

A 它依赖物理时钟同步
B 时钟值较小的两个事件之间必有因果关系
C 它能完全区分并发事件
D 若事件 A 因果先于 B,则 A 的时钟值必小于 B ✓ 正确答案
#

36. Vector Clock 与版本向量

A 标量更小、存储更省
B 能精确区分因果与并发事件 ✓ 正确答案
C 依赖物理时钟
D 不需要节点编号
#

37. 拜占庭容错(BFT)与区块链

A 2f+1
B f+1
C 3f+1 ✓ 正确答案
D 4f
#

38. 拜占庭将军问题与 PBFT

A n ≥ 3f+1 ✓ 正确答案
B n ≥ f
C n ≥ 4f+1
D n ≥ 2f+1