# 1. CRDT 在分布式数据库(Couchbase、Riak)的应用 A CRDT 合并会丢失更新 B CRDT 需要锁定副本才能合并 C CRDT 只能用于单副本 D CRDT 让多活副本在分区下无冲突最终一致 ✓ 正确答案
# 2. CRDT 在协同编辑(Yjs、Automerge)的应用 A 文本 CRDT 无法处理并发插入 B 协同编辑必须依赖中心服务器排序 C Yjs/Automerge 用文本 CRDT 实现并发编辑无冲突收敛 ✓ 正确答案 D CRDT 编辑需要上锁
# 3. CRDT 的半格(semilattice)合并语义,即 join、merge A merge 结果依赖合并顺序 B merge 即求 join(最小上界),满足交换、结合、幂等 ✓ 正确答案 C merge 不满足幂等律 D join 半格与收敛无关
# 4. LWW-Register(Last-Writer-Wins Register)的 vector clock 配合 A LWW 丢弃所有并发更新 B vector clock 判断因果,LWW 用时间戳把并发写定为最新者胜出 ✓ 正确答案 C vector clock 提供全序 D LWW 与 vector clock 无法配合
# 5. 2P-Set(two-phase set)如何实现 remove-wins,为什么删除集合只增不减,墓碑膨胀如何清理? A 删除后可以简单撤销 B 元素在 remove-set 中即被删除,remove-set 只增不减保证收敛 ✓ 正确答案 C 墓碑会随 GC 自动清理无需确认 D remove-wins 依赖 add-set 只减
# 6. CRDT 的"拜占庭"扩展 Byzantine-CRDT A 通过签名与验证使 CRDT 在恶意节点下仍收敛 ✓ 正确答案 B 标准 CRDT 已能容忍恶意节点 C Byzantine-CRDT 无需验证 D Byzantine-CRDT 会降低安全性
# 7. δ-state CRDT 的状态差分同步 A delta 合并无法重建完整状态 B 每次同步必须传全量状态 C 只同步状态差分(delta)以降低带宽 ✓ 正确答案 D δ-CRDT 不保证收敛
# 9. CRDT 的"因果一致性"(causal consistency)vs"强一致性" A CRDT 保证因果一致与最终一致,不保证实时线性一致 ✓ 正确答案 B CRDT 提供线性一致性 C 强一致性与 CRDT 的最终一致相同 D CRDT 需共识协调
# 10. G-Counter(Grow-only Counter)的实现 A G-Counter 支持递减 B 每个节点维护只增计数,总值为各节点计数之和,合并取 max ✓ 正确答案 C 合并取各节点最小值 D G-Counter 无法并发递增
# 11. CRDT(Conflict-free Replicated Data Type)的 CmRDT(operation-based)与 CvRDT(state-based)两类 A operation-based 可容忍消息丢失 B 两者都只需同步操作 C state-based 依赖可靠信道 D state-based 同步状态需半格合并,operation-based 同步操作需可靠因果信道 ✓ 正确答案
# 12. OR-Set(Observed-Remove Set)的 add、remove、observe A remove 会删除所有同名元素,无论是否观察过 B remove 只删除自己观察到的 add 的 tag,未观察到的并发 add 被保留,从而收敛一致 ✓ 正确答案 C 元素不需要唯一 ID D 并发 add/remove 必然导致数据丢失
# 13. CRDT 的两种类型,状态 CRDT 与操作 CRDT 的合并语义有何不同? A 两者都需可靠因果信道 B 状态 CRDT 用 join 半格合并,操作 CRDT 用可交换操作应用 ✓ 正确答案 C 状态 CRDT 合并不幂等 D 操作 CRDT 可容忍消息乱序
# 14. 操作型 CRDT 为什么依赖可靠的因果有序信道,消息乱序或丢失时如何破坏收敛性? A 乱序不影响操作型 CRDT B 操作型 CRDT 可容忍消息丢失 C 依赖可靠因果有序信道,乱序/丢失会破坏收敛 ✓ 正确答案 D 操作型 CRDT 与信道无关
# 15. 状态型 CRDT 的 merge 为何要求操作满足幂等、交换、结合(join 半格),不满足时会怎样? A merge 只需满足幂等即可 B merge 需满足幂等、交换、结合,否则合并结果依赖顺序无法收敛 ✓ 正确答案 C 不满足结合律仍能收敛 D merge 的三条律与收敛无关
# 16. PN-Counter(Positive-Negative Counter)的实现 A 由增、减两个 G-Counter 组成,总值为增量减减量 ✓ 正确答案 B PN-Counter 只能递增 C PN-Counter 无法并发更新 D PN-Counter 合并取最小值
# 17. RGA(Replicated Growable Array)的 CRDT 文本协作 A 每个字符带唯一 ID 与前驱引用,并发编辑后收敛 ✓ 正确答案 B RGA 需要中心服务器排序 C RGA 无法处理并发删除 D RGA 与 CRDT 无关
# 18. 最终一致性与冲突解决中,LWW、G-Counter 与墓碑如何配合? A 墓碑无需使用 B LWW 能保留所有并发更新 C LWW 用时间戳、G-Counter 用单调计数、墓碑表达删除,保证收敛 ✓ 正确答案 D G-Counter 依赖时间戳