# 1. 线性一致性(linearizability)、顺序一致性(sequential consistency)与因果一致性的强弱关系如何排列? A 顺序一致最强 B 因果一致 > 顺序一致 > 线性一致 C 三者强度相同 D 线性一致 > 顺序一致 > 因果一致 ✓ 正确答案
# 2. read-your-writes、monotonic reads、writes-follow-reads 等会话一致性保证分别约束什么现象? A 会话一致性需全局协调 B READ-YOUR-WRITES 保证客户端写后必能读到,MONOTONIC READS 保证读不进后退 ✓ 正确答案 C MONOTONIC READS 允许读回退 D WRITES-FOLLOW-READS 与读无关
# 3. 最终一致性为何是弱一致性的一种,收敛性(convergence)需要哪些前提条件? A 最终一致性保证实时读最新值 B 收敛需副本持续通信、确定性冲突解决且无新写入稳定期 ✓ 正确答案 C 收敛不依赖任何前提 D 最终一致性与弱一致性无关
# 4. 线性一致性与可串行化分别针对单键与事务,二者组合成严格可串行化的含义是什么? A 严格可串行化不强于可串行化 B 线性一致针对事务 C 可串行化针对单对象 D 线性一致针对单对象,可串行化针对事务,严格可串行化是二者组合 ✓ 正确答案
# 5. 基于领导者时间戳的因果一致性实现为何依赖时钟近似有序,时钟漂移会破坏什么? A 依赖时间戳近似因果序,时钟漂移会破坏因果顺序 ✓ 正确答案 B 时钟漂移不影响因果一致性 C 物理时钟时间戳无需同步 D 时间戳与因果序无关
# 6. Zab 的 Zxid 由 epoch 与事务计数器两部分组成,这种结构如何在选主时比较事务的新旧? A Zxid 比较与 epoch 无关 B Zxid 只含事务计数器 C Zxid 由 epoch 与 counter 组成,选主时先比 epoch 再比 counter ✓ 正确答案 D Zxid 不能用于选主
# 7. FoundationDB/CockroachDB 的 read 路由,就近 replica + lease holder 如何实现? A follower read 保证最新一致 B 所有读都必须走共识 C lease holder 协调读写,就近 replica 读牺牲一定新鲜度换取低延迟 ✓ 正确答案 D lease holder 与读无关
# 8. Zab 崩溃恢复阶段如何保证已提交事务不丢失、未提交事务被丢弃? A 未提交事务也会被保留 B 崩溃恢复会丢失已提交事务 C 从多数派恢复已提交事务并同步,未提交事务被丢弃 ✓ 正确答案 D 崩溃恢复与多数派无关
# 9. Gossip 协议通过周期性随机配对交换状态(反熵),为什么信息能在约 O(log N) 轮内传播到整个集群? A 传播轮数与节点数成正比 B 每轮知情节点指数翻倍,约 log N 轮覆盖全集群 ✓ 正确答案 C 随机配对降低传播效率 D Gossip 需中心节点协调
# 10. 基于 Gossip 的最终一致性系统(如 Cassandra)如何借助时间戳或向量时钟解决并发写冲突(last-write-wins)? A LWW 用时间戳胜出,vector clock 检测并发写 ✓ 正确答案 B 时间戳只能用于检测并发 C vector clock 提供胜出规则 D 并发写冲突无法解决
# 11. lease(租约)机制如何让 leader 在租约有效期内本地读而不必走共识?时钟漂移会带来什么风险? A 租约机制与时钟无关,无需担心漂移 B 租约期内 leader 可本地读而不必走共识,但时钟漂移可能导致租约重叠、读到过期数据 ✓ 正确答案 C 租约期内 leader 每次读仍需走共识 D 时钟漂移只会让租约变短,不会导致读到过期数据
# 12. Zab 用 proposal 与过半 ACK 保证事务全序,这与两阶段提交(2PC)的阻塞性有何本质不同? A Zab 也需全体 ACK B Zab 过半 ACK + 选主恢复不阻塞,2PC 协调者故障时全参与方阻塞 ✓ 正确答案 C 2PC 具备选主恢复 D 两者都阻塞
# 13. CAP 定理中一致性、可用性、分区容忍性为何三者不可兼得,PACELC 如何扩展这一权衡? A PACELC 与 CAP 无关 B CAP 覆盖所有场景 C CAP 只管分区时 C/A 取舍,PACELC 补充了无分区时 E/L/C 取舍 ✓ 正确答案 D 无分区时无需权衡
# 14. 向量时钟如何检测并发更新与因果关系,相比 Lamport 时钟它多捕获了什么信息? A 向量时钟无法判断因果关系 B 向量时钟与 Lamport 时钟信息相同 C 向量时钟能区分因果与并发,Lamport 时钟无法区分并发 ✓ 正确答案 D 向量时钟开销为 O(1)
# 15. Quorum NWR 模型中 R+W>N 为何能保证读到最新值,R+W<=N 时会丢失什么保证? A NWR 与多数派无关 B R+W>N 导致读写集合不相交 C R+W≤N 仍保证读到最新值 D R+W>N 保证读写集合相交,读到最新值 ✓ 正确答案
# 16. CP 系统与 AP 系统在分区发生时的典型行为差异是什么,各举一类代表系统? A AP 分区时保一致 B CP 分区时保可用 C CP 分区时拒绝请求保一致,AP 分区时正常响应保可用 ✓ 正确答案 D CP 与 AP 行为相同
# 17. Zab 与 Raft 都采用 leader 复制,两者在日志同步阶段(Zab 的 DISCOVER/SYNC vs Raft 的 AppendEntries)上有何差异? A Zab 用 AppendEntries B 两者同步方式完全相同 C Raft 有独立发现阶段 D Zab 用 DISCOVER/SYNC 阶段,Raft 用 AppendEntries 一致性检查统一同步 ✓ 正确答案
# 18. Speculative Replication 的 read-any-replica vs majority-read 的一致性权衡? A majority-read 延迟最低 B read-any-replica 保证最新值 C read-any-replica 低延迟但可能陈旧,majority-read 最新但延迟高 ✓ 正确答案 D 两者一致性相同
# 19. Speculative replication 在 Cosmos DB multi-region writes 的 session consistency 工程价值? A session consistency 需全局强一致 B 结合 speculative replication 提供多区低延迟写与客户端可感知一致 ✓ 正确答案 C 多区写无法提供 session consistency D session consistency 只影响读
# 20. Lamport 时钟只能保证因果有序,为什么无法判断两个事件是否并发?向量时钟如何弥补这一缺陷? A 向量时钟无法判断因果 B Lamport 时钟能判断并发 C Lamport 无法区分并发,向量时钟通过各节点分量判断并发 ✓ 正确答案 D 两者信息量相同
# 21. 混合逻辑时钟(HLC)如何在保留物理时间近似的同时提供因果序?它相对纯 Lamport 时钟的优势是什么? A HLC 与物理时间无关 B HLC 兼有物理时间逼近与因果序,相对 Lamport 多了物理时间参考 ✓ 正确答案 C HLC 不满足因果序 D HLC 与 Lamport 完全相同
# 22. 为什么说 Gossip 的收敛是概率性的?节点失效与网络分区如何影响反熵的最终一致? A 节点失效不会导致数据丢失 B Gossip 收敛是确定性的,与节点选择和分区无关 C 网络分区不影响 Gossip 的最终一致 D 收敛是概率性的,节点失效与网络分区会阻断反熵,分区恢复后才能重新收敛 ✓ 正确答案