Module Quiz
Complete this quiz after finishing all concept and practice pages. Save your answers before opening separate quiz calibration.
Current Module Questions
Question 1: The Fallacies in Action
You are told the network between two services "has 5ms latency and is basically reliable." Which two fallacies of distributed computing does this statement commit, and what concrete design review question would you ask to check whether the dependent code respects reality?
Question 2: Partial Failure Reasoning
A client calls POST /charge on a payments service. TCP reports the connection reset after 4 seconds. Write down, as an enumeration, every distinct post-condition the system could be in, and what the client must do in each.
Question 3: Clocks
Why can a millisecond of NTP-synchronized wall-clock time not be trusted to order two events on different hosts? Give two distinct physical reasons and one algorithmic reason.
Question 4: Lamport and Concurrency
If L(a) = 5 and L(b) = 7, can you conclude a -> b? Why or why not, and what can you conclude?
Question 5: Vector Clock Comparison
Vector clock V1 = [3, 1, 4] on process P1, V2 = [2, 2, 4] on process P2. Is V1 < V2, V2 < V1, equal, or concurrent?
Question 6: Heartbeat Tuning - What Goes Wrong
A team sets heartbeat interval = 100ms, timeout = 150ms for a Raft cluster. GC pauses on the JVM can reach 500ms. What goes wrong, and how does phi-accrual improve the situation?
Question 7: Byzantine vs Crash
Your system runs on AWS with managed hardware and your own code running on it. Do you need Byzantine fault tolerance? What specific assumption must hold to safely assume only crash-stop?
Question 8: Why Consensus is Hard
Explain in one paragraph why leader election reduces to consensus, and why consensus reduces to atomic commit.
Question 9: Paxos Safety
In Paxos, why must a proposer, during Phase 2, propose the value with the highest-numbered accepted proposal it saw in Phase 1 (rather than its own preferred value)?
Question 10: A Simple Raft Question
Raft's leader crashes after replicating entry e at term T to a minority of followers (e is not committed). A new leader is elected at term T+1. Is the new leader allowed to overwrite e? Cite the specific Raft rule.
Question 11: What Goes Wrong - Split Brain
Two datacenters run a 4-node Raft cluster (2 nodes each). The link between them fails for 30 seconds. What happens, and which specific design choice would have prevented the outage?
Question 12: What Goes Wrong - Bad Retry
A client wrote "if timeout, retry up to 3 times with exponential backoff" on top of a non-idempotent POST /transfer endpoint. A network blip causes the first two attempts to time out although the server processed them. The third succeeds and returns 200. Describe the user-visible bug and the minimal fix.
Question 13: Lease and Fencing
A lock service grants a 30-second lease to client A. A GC pause of 45 seconds on A makes the lease expire. B acquires the lease, reads and writes. Then A wakes up, still believing it holds the lease, and issues a write to the storage backend. What mechanism must the storage backend have, and what does it do with A's write?
Question 14: Coordination Service Choice
You need service discovery and leader election for a 50-node internal service. You are deciding between ZooKeeper, etcd, and Consul. What is the deciding factor, and which would you pick?
Question 15: End-to-End Argument
Why is transport-level reliability (TCP, at-least-once message queues) insufficient to guarantee "the user's intent was executed exactly once"?
Interleaved Review Questions
Prior Module Question 1 (S6 Module 4: Linearizability)
What is the difference between linearizability and serializability, and why does consensus buy you linearizability but not serializability?
Prior Module Question 2 (S6 Module 3: Replication)
Why does a synchronous replication design not automatically give you consensus?
Prior Module Question 3 (S6 Module 2: LSM Trees)
How does a coordination service like etcd use an LSM-tree or B-tree internally, and why does it matter for its operational characteristics?
Prior Module Question 4 (S5 Module 4: Networking)
TCP's retransmit timer and Raft's election timer are both "wait then react" mechanisms. Why is it safe to tune TCP's RTO aggressively but dangerous to tune Raft's election timeout below a few hundred milliseconds on the JVM?
Prior Module Question 5 (S5 Module 3: OS Memory)
GC pauses affect distributed-systems correctness in a way memory management on a single machine does not. Explain the gap.
Self-Assessment and Remediation
Mastery Level (90-100% correct):
- Ready for Module 6 (scalable data systems) and the capstone with confidence.
- Your instinct should now be: when you see a distributed bug, mentally map it onto fallacies, failure model, clocks, or consensus invariants.
Proficient Level (75-89% correct):
- Review missed concepts. Most gaps are in the causal-reasoning questions (2, 11, 12) -- those reward fluency, not memorization.
- Redo Practice 2 (Failure Model Workshop) and one Kata from Practice 4.
Developing Level (60-74% correct):
- Rework Cluster 1 (Inescapable Reality) end to end. Most failures here are "still thinking single-machine."
- Redo Practice 1 (Time and Ordering Lab) by hand.
- Re-read DDIA Chapter 8 start to finish; it will re-anchor your intuition.
Insufficient Level (<60% correct):
- The module has not landed. Restart from the module
index.mddiagnostic questions. Identify which three concepts you cannot state in one sentence, and read the concept page plus its first "Read This Only If Stuck" link for each. Do not proceed to Module 6 until you can pass this quiz above 75%.
Progression boundary
Quiz performance calibrates retrieval and reasoning. It does not replace runnable work, changed-case transfer, the module assessment or required semester evidence. Consult practice calibration for the additional independent cases.