</> MAANG.io

Expert

Design landmark systems in depth, from Dynamo, GFS, Bigtable and Kafka to payments and ads pipelines.

0 of 232 solved 0%

Section 13: The Judges' Table - Final Summary & Candidate Scorecard

Executive Summary: This closing section turns the module into a way to grade yourself. We replay the twelve sections as the signal each one recorded, ledger the eleven decisions with what they rejected and what would flip them, lay out a 100-point scorecard in ZooKeeper terms, give score bands with remediation, and list the prompts that are this question in disguise.

The panel never graded the box labeled "ZooKeeper." They listened for whether you heard "two thousand services reinvent leader election" and reached for a lock() call, or whether you asked what the services actually needed and built them something smaller and harder to misuse. And when sch-1 froze for 15 s, they listened for whether you said "the settlement DB rejects its token because it has seen sch-2's higher czxid" or "its session expired, so it stopped."

The Arc, Replayed as Signal

The interview arc as six phases in order, each recording one line: framing in Sections 1-2 records a coordination kernel, not a lock API; estimation in Section 3 records reads at 60 percent, writes at 12 percent; API and data in Sections 4-5 record seven calls, no lock(), versions everywhere; architecture in Section 6 records every server answers, one decides; deep dives in Sections 7-9 record sync(), Zab recovery, fencing by czxid; and failure and growth in Sections 10-12 record 5 s failover, triggers named in advance.

  1. Framing (Sections 1–2): election, config and membership as the real jobs; linearizable writes and FIFO client order stated precisely.
  2. Estimation (Section 3): 600 MB on every server; 120,000 peak reads/s at 60% of 200,000; 2,400 peak writes/s at 12% of a 20,000 ceiling that more voters lower.
  3. API and data (Sections 4–5): seven wait-free calls; Sam's setData(..., 7) becoming version 8; zxid 0x5_0000a3f1 as epoch plus counter.
  4. Architecture (Section 6): local reads on any server; writes turned into idempotent transactions and committed on a quorum of 3.
  5. Deep dives (Sections 7–9): the hidden channel and sync(); 0x5_0000a3f2 truncated when S3 leads epoch 6; one notification per lock release instead of 20 MB.
  6. Failure and growth (Sections 10–12): a 5 s failover inside a 10 s session; zone A lost with quorum intact; observers at 70%, separate ensembles past a few GB.

Key Insight: None of those signals is "knows Zab." The panel tests whether you know which mechanism keeps which promise: Zab's primary order keeps writes in one total order across leader changes, the last-zxid rule keeps a client from going back in time, sync() buys freshness one read at a time, and the czxid token protects the settlement DB when a session can't.

Quick check before moving on:


Sign in to continue reading

The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.

Sign in to read the full lesson

Sign in to MAANG.io

Use your Google or Microsoft account — no password to remember.

Continue with Google Continue with Microsoft

Please accept the terms above to continue.