Skip to content

improve(ch10): replace implausible MCQ distractors with plausible alternatives - #33

Merged
calmcoconut merged 1 commit into
mainfrom
improve/ch10-mcq-distractors
Jun 30, 2026
Merged

calmcoconut merged 1 commit into
mainfrom
improve/ch10-mcq-distractors

Conversation

@calmcoconut

Copy link
Copy Markdown
Owner

Summary

This PR addresses a quality audit of all 18 multiple-choice questions in Chapter 10 (Consistency & Consensus). The audit found that 14 of 18 questions had at least one distractor that was trivially eliminable — either nonsensical, factually absurd, or directly contradicting common knowledge — allowing students to guess the correct answer through elimination rather than genuine understanding.

Problem

Weak distractors undermine the quiz's pedagogical purpose. When a student can eliminate 2 of 4 options immediately (e.g., "ML algorithm that predicts latency" or "once per calendar day"), the question becomes a 50/50 guess rather than a test of knowledge.

Changes

All replaced distractors use real-but-wrong alternatives drawn from concepts in the chapter or adjacent systems:

Question Issue Fix
Q1 — Linearizability definition D was vague nonsense ("transaction leases") Replaced with a monotonic-reads description that mimics the correct answer
Q2 — Stale replica cause B blamed client device clock skew Replaced with server-side NTP skew, a real plausible cause
Q5 — Linearizability + Serializability A was "weak eventual consistency" (opposite); D was unrelated 2PC Replaced with causal consistency and snapshot isolation (real models)
Q8 — NOT linearizable method D was "single-node database" (trivially correct) Replaced with leaderless quorum w+r>n — forces precise understanding of why multi-leader fails categorically
Q10 — ID ordering without coordinator Correct answer was "None of the above" (anti-pattern) Reframed question; Snowflake-style IDs are now the correct answer with nuanced explanation
Q11 — What logical clocks count B (CPU cycles) and D (active nodes) were absurd Replaced with "messages sent/received" and "version of most recent write"
Q13 — Lamport timestamps & uniqueness A falsely claimed Lamport timestamps have no node IDs Replaced with plausible network reordering argument
Q14 — HLC advantage A was UUID (completely unrelated) Replaced with GPS/atomic clock option that conflates HLC with Spanner TrueTime
Q16 — Timestamp oracle definition A was "ML algorithm for latency" Replaced with stateless UUID generator service
Q17 — Spanner's approach C was "single master in NA"; D was "abandons linearizability" Replaced with Paxos-based timestamp service and MVCC-only options
Q19 — FLP impossibility C was "eventual consistency is impossible" (obviously false) Replaced with a near-miss restatement about arbitrary delays
Q21 — State machine replication C (heterogeneous OS kernels) and D (random routing) were absurd Replaced with snapshotting and unordered fan-out — real replication patterns
Q23 — Consensus split-brain prevention C (shared disk) and D (manual operators) were implausible Replaced with lease-based and pre-vote protocol options
Q24 — Unclean leader election D described serializability/disk space (unrelated) Replaced with description of clean leader election — the exact opposite, a perfect trap
Q26 — ZooKeeper/etcd use case A (petabytes of clickstream) and D (image storage) were absurd Replaced with distributed cache and cross-shard transaction coordination
Q28 — etcd linearizable reads D was "throttled to once per calendar day" (absurd) Replaced with TiKV-style read-index protocol — a real alternative implementation

Not Changed

  • Q7 (CAP Consistency definition) — Already excellent. All four options (ACID consistency, eventual consistency, linearizability, monotonic reads) are real, credible models a student could plausibly confuse.
  • Q4 (Linearizability vs. Serializability) — Option A is the mirror-flip of the correct answer, already a strong trap.
  • All write (open-ended) questions, flashcards, and misconception explanations are unchanged.

Testing

No logic changes — all correct index values are preserved where the correct answer position was unchanged, and updated where the correct answer moved (Q10, Q28). Please verify answer indices match the new option ordering.

…ernatives

Audited all 18 MCQs in Chapter 10 (Consistency & Consensus). Fixed 14 questions
where at least one distractor was trivially eliminable (nonsensical, factually
absurd, or directly contradicting common knowledge). Key changes:

- Q1: Replace vague "transaction leases" D option with a real eventual
  consistency description that mimics C, forcing precision.
- Q2: Replace client-device clock skew B option with server-side NTP skew,
  a real and plausible cause.
- Q5: Replace "weak eventual consistency" A option and unrelated 2PC D with
  real consistency model names (causal consistency, snapshot isolation).
- Q8: Replace trivially correct "single-node" D with leaderless quorum
  (w+r>n), which students must carefully differentiate from multi-leader.
- Q10: Replace "None of the above" correct answer (anti-pattern) with
  Snowflake-style IDs; reframe question to ask for strongest guarantee.
- Q11: Replace CPU-cycles B and active-nodes D with real logical clock
  adjacent concepts.
- Q13: Replace factually wrong A (claims no node IDs in Lamport) with
  plausible network reordering argument.
- Q14: Replace UUID A with GPS/atomic clock option that conflates HLC
  with Spanner TrueTime.
- Q16: Replace ML-latency A with stateless UUID-generator service.
- Q17: Replace "single master in North America" C and "abandons
  linearizability" D with Paxos-based timestamp service and MVCC options.
- Q19: Replace obviously-false "eventual consistency impossible" C with
  a near-miss FLP misstatement about arbitrary delays.
- Q21: Replace heterogeneous OS kernel C and random routing D with real
  replication patterns (fan-out parallel writes, periodic snapshotting).
- Q23: Replace shared-disk C and manual operator D with lease-based and
  pre-vote protocol options.
- Q24: Replace unrelated serializability/disk-space D with a description
  of clean leader election (exact opposite of unclean), a perfect trap.
- Q26: Replace petabyte clickstream A and image storage D with distributed
  cache and cross-shard transaction coordination options.
- Q28: Replace "once per calendar day" D with TiKV-style read-index
  protocol description, a genuinely hard distractor.
@calmcoconut
calmcoconut merged commit f4e18b8 into main Jun 30, 2026
1 check passed
@calmcoconut
calmcoconut deleted the improve/ch10-mcq-distractors branch June 30, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant