Module 46 / 46 · ◈ TRACK FINALE · Intermediate · 80 min

Interview
toolkit.

The Intermediate track finale. Where the 46 modules compress into a working framework for the system-design interview — the specific skill that turns "I know these technologies" into "I can design a system live under time pressure with the right framing." Pattern recognition + four-phase structure + capacity math + tradeoff articulation — this is what senior engineers do naturally and what junior engineers can learn deliberately. Ends with the Intermediate track completion banner.

// What you'll know by the end

  • SCOPE → CAPACITY → ARCHITECTURE → REFINEMENT
  • Eight problem archetypes and their patterns
  • Back-of-envelope capacity math
  • Framing tradeoffs at L4 · L5 · L6 seniority
§ 01 — The 46 modules become one toolkit

Every system-
design interview
is pattern
recognition.

The Intermediate track was 46 modules of specific technologies, architectures, and tradeoffs — but the interview isn't a test of technology knowledge. It's a test of pattern recognition applied under time pressure. "Design Twitter" is a fan-out problem — you recognize it from M.24 (queues) and M.44 (K-V stores) and immediately reach for timeline fan-out patterns. "Design a distributed cache" is a consistent-hashing problem — you recognize it from M.44 and immediately reach for the ring, replication, and eviction. "Design a real-time analytics platform" is a composition problem — you recognize it from M.45 and immediately reach for the five-tier reference architecture. The interview measures how quickly you recognize which problem shape you're being asked about and how coherently you can walk through the design. This module distills the 46 modules into that recognition-and-articulation framework.

// THE COMPRESSION · 46 MODULES → ONE FRAMEWORK
46 MODULES → INTERVIEW FRAMEWORK · WHAT THE COMPRESSION LOOKS LIKE 46 INTERMEDIATE MODULES Phases E · F · G · H · I phase E · F · G · H · I capstones 50+ hours of study 100+ specific tradeoffs 40+ named patterns COMPRESS the interview INTERVIEW TOOLKIT what you use in a 45-minute session 01 SCOPE what am I designing? · functional + non-functional 02 CAPACITY users × QPS × bytes/req · storage · fan-out 03 ARCHITECTURE draw · name components · defend choices 04 REFINEMENT tradeoffs · failure modes · extend to scale 45 minutes to design any system
The specific compression: 46 modules of technology knowledge become a 4-phase framework that runs the interview itself. The knowledge is table stakes — you can't design a system without it — but the framework is what makes the knowledge usable in real time. Every senior engineer who does well in system-design interviews has some version of this framework internalized; the difference between "I know Kafka" and "I can design a real-time platform in 45 minutes" is the framework, not more Kafka knowledge. This module makes the framework explicit and demonstrates it against three problem types at three seniority levels in §04.

The specific difficulty of the system-design interview is that it's not a knowledge test — it's a coherence test under time pressure. The interviewer can tell within 10 minutes whether you have a framework or you're improvising. Candidates who improvise sound competent for the first 15 minutes and lost by minute 30 — they've drawn boxes but can't defend the choices; they've named technologies but can't calculate capacity; they've handwaved failure modes because they're out of time. Candidates who have a framework spend the first 5 minutes scoping (the interviewer relaxes because they know where this is going), the next 5 minutes on capacity (numbers unlock which tools fit), the next 20 minutes on architecture (drawing, naming, defending), and the last 15 minutes on refinement (tradeoffs, extensions, failure modes). Same 45 minutes, wildly different signal. The framework isn't a magic incantation; it's the structure that lets the knowledge from 46 modules be applied coherently.

// FOUR APPROACHES TO SYSTEM-DESIGN INTERVIEW PREP · WHAT EACH GETS WRONG
Attempt 1: memorize architecture diagrams// study Alex Xu, memorize System Design Interview
"Read the popular prep books. Memorize the canonical architecture for each problem — Twitter, YouTube, Uber. Recite the diagram in the interview." Works if the interviewer asks exactly the memorized problem, breaks completely on any novel variation. Interviewers know the popular problems and deliberately vary them — "Design Twitter but for images" or "Design Uber but for medical appointments" — to test whether you're applying patterns or reciting solutions. The specific failure mode is being unable to justify choices: "why Cassandra?" gets "because that's what Twitter uses" instead of "because we have 100K writes/sec and need eventual consistency, and Cassandra is the canonical tool for write-heavy leaderless." The reasoning matters more than the tool name.// FAIL MODE: brittle to variation · can't justify · sounds recited
CAN'T
JUSTIFY
Attempt 2: learn every technology deeply// study Kafka, Cassandra, Redis, Postgres source code
"If I know every technology deeply, I can design any system." True but incomplete — deep tool knowledge is necessary but not sufficient. Candidates who know Kafka deeply but have no interview framework spend 20 minutes discussing partition strategies before realizing they haven't scoped the problem or done capacity math. The 45-minute interview rewards coherent walk-throughs, not depth on individual components. If you go deep on Kafka but never draw the full architecture, the interviewer doesn't get to evaluate your design skills — only your Kafka knowledge, which most senior candidates have anyway. Deep tool knowledge is table stakes; framing is the differentiator.// FAIL MODE: rabbit-holing · no coverage · no framework
NO
COVERAGE
Attempt 3: practice interview questions// do 50 mock interviews with Pramp/Interviewing.io
"Repetition builds intuition. Do 50 mock interviews and I'll see the patterns." Works partially — mocks build fluency and expose gaps — but hits a ceiling because most people practice without an explicit framework. Their 50th interview is only marginally better than their 10th because they're not learning the meta-skill of framing. Practice with an explicit framework (like the four-phase model in §02) makes each mock reinforce the structure; practice without a framework just reinforces whatever ad-hoc structure emerged. Deliberate practice with a framework beats undeliberate volume. This is the L4-to-L5 transition point for many candidates.// FAIL MODE: undeliberate volume · no meta-skill · practice plateau
PRACTICE
PLATEAU
Attempt 4: framework + patterns + capacity math + tradeoff articulation// the composite skill
"Learn the four-phase framework (SCOPE → CAPACITY → ARCHITECTURE → REFINEMENT — §02). Learn the eight common problem archetypes (§03). Practice back-of-envelope capacity math until it's automatic. Learn to articulate tradeoffs at the appropriate seniority level (§04)." The composite skill that separates strong system-design candidates from average ones. Each piece is teachable; combining them is what turns 46 modules of technology knowledge into interview performance. The specific insight: interview performance is a function of framework fluency × pattern-recognition × articulation, not raw knowledge. §02-04 teach each piece; §04 lets you feel how the composite works across 9 problem×seniority combinations. This is what the module builds.// FIT: framework + patterns + math + articulation
COMPOSITE
SKILL
// THE COMPOSITE SKILL

Each earlier attempt overfits to one dimension of interview prep — memorizing solutions is brittle to variation, deep tool knowledge lacks coverage, undeliberate practice hits a plateau. The composite — framework + patterns + math + articulation — is what actually works because each piece complements the others: the framework gives structure, patterns give shortcuts, math grounds the choices, articulation communicates the reasoning. Senior engineers who do well in system-design interviews have some version of this composite internalized; they might not name it as a framework, but their walk-throughs follow the shape. This module makes the framework explicit so you can practice it deliberately.

The historical arc of the system-design interview is worth naming because the format itself is relatively young and rapidly standardized. Pre-2000: Google, Microsoft, and Amazon focused on algorithm interviews (Cracking the Coding Interview territory). System design was assessed through informal conversation and past-project deep dives. 2005-2010: As FANG companies (Facebook, Amazon, Netflix, Google) scaled their engineering orgs, they needed to assess "can this senior candidate design distributed systems?" more systematically. Google and Facebook formalized the system-design interview as a distinct 45-minute session with rubrics. 2015-2020: Prep books explode — Alex Xu's System Design Interview (2020), the Grokking series, Educative courses. Interview format globally standardizes: 45 minutes, canonical problems (Twitter, YouTube, Uber, chat), specific rubric dimensions (scoping, capacity, architecture, tradeoffs, communication). 2020-present: The format is now the de facto senior-engineer assessment across the industry — startups adopt it, mid-tier companies adopt it, non-FANG hires require it. The framework in §02 is a distillation of what interviewers across the industry are looking for. Understanding what the interview is measuring is the first step to preparing for it deliberately; ad-hoc study without knowing the target is exactly the "practice plateau" antipattern (Attempt 3).

The interview measures pattern recognition, framing, and communication — not raw knowledge. Your 46 modules of Intermediate content are table stakes. The framework is what makes them usable in 45 minutes.
§ 02 — The four-phase framework

SCOPE →
CAPACITY →
ARCHITECTURE →
REFINEMENT.

Every strong system-design interview walk-through has the same four-phase structure, even when the candidate hasn't named it consciously. The phases give the interview a predictable rhythm — the interviewer knows what to expect, the candidate knows what comes next, and both parties can spend cognitive budget on the design instead of on the meta-question "what should I be doing right now?" The four phases roughly consume 5 / 5 / 20 / 15 minutes of a 45-minute interview; adjust proportionally for shorter or longer sessions. This section walks through each phase with the specific moves the strong candidate makes.

// THE FOUR-PHASE FRAMEWORK · TIME BUDGET AND KEY MOVES

45-MINUTE INTERVIEW · FOUR PHASES · KEY MOVES AND FAILURE MODES 0min 5min 10min 30min 45min 01 SCOPE ~5 min MOVES: → functional reqs → non-functional (SLA, scale) → constraints → out-of-scope FAIL: jump to arch 02 CAPACITY ~5 min MOVES: → users · QPS → read:write ratio → bytes / request → storage / year → peak vs avg FAIL: skip the math 03 ARCHITECTURE ~20 min MOVES: → draw components → name (not brand) → data flow → defend choices → APIs/schemas FAIL: boxes without why 04 REFINE ~15 min MOVES: → tradeoffs → bottlenecks → failure modes → 10× scale → monitoring FAIL: run out of time → each phase enables the next · skipping any phase visibly damages the walk-through
The four-phase rhythm. Phase 1 (SCOPE) prevents you from designing the wrong thing. Phase 2 (CAPACITY) lets the numbers pick the tools — 100 QPS wants Postgres, 100K QPS wants Cassandra, 10M QPS wants sharded Cassandra with a Redis front-tier. Phase 3 (ARCHITECTURE) draws the picture and defends the choices. Phase 4 (REFINEMENT) demonstrates depth by identifying tradeoffs and failure modes. Each phase's failure mode is visible to the interviewer: jumping past scoping ("I'll design Twitter, easy") makes you look junior; skipping capacity math makes your tool choices arbitrary; drawing boxes without defending them looks recited; running out of time before refinement means the interviewer never sees your senior thinking. The framework's job is to keep you moving through all four phases with appropriate time budget.
01
SCOPE. What am I designing?

Ask questions to bound the problem before drawing anything. Functional requirements: what does the system do? Non-functional: latency SLAs, availability targets, scale (users, QPS). Constraints: budget, existing tech stack, geographic scope. Explicitly out-of-scope items you'll skip. The strong candidate spends 3-5 minutes here even though they want to draw. Signals to interviewer: "I don't design what you didn't ask for."

02
CAPACITY. Numbers pick the tools.

Back-of-envelope math grounds every downstream choice. users × active% × QPS × bytes/req = throughput. throughput × retention = storage. peak vs average determines burst-capacity sizing. Numbers unlock or eliminate whole classes of solutions — 100 QPS doesn't need Cassandra; 100M QPS doesn't fit in Postgres. Signals to interviewer: "I make tool choices based on requirements, not preference."

03
ARCHITECTURE. Draw. Name. Defend.

Draw the system top-down. Start with client → API gateway → services → data stores. Name components generically first ("K-V store"), then specifically ("Cassandra with N=3, R=W=quorum") once you've defended the generic choice. Show data flow. Sketch key APIs and data schemas for critical paths. Defense matters more than depth: don't rabbit-hole one component; cover the system, revisit for depth. Signals: "I can design end-to-end, not just describe pieces."

04
REFINEMENT. Where would this break?

Identify tradeoffs and failure modes explicitly. "This design favors consistency over availability; if we needed the opposite, we'd swap Postgres for Dynamo." Bottlenecks: where does the system saturate first? Failure modes: what happens when the primary DB dies? Scale extensions: how does this handle 10× or 100×? Monitoring: what SLIs would you track? This is where senior candidates separate from junior — the design isn't defended by depth of one component, but by breadth of failure-mode reasoning.

The time budget matters because interviewers evaluate coverage across all four phases. A candidate who spends 25 minutes on scoping and capacity and then rushes through architecture in 15 minutes signals bad time management. A candidate who spends 5 minutes on scoping and 40 minutes on architecture (skipping capacity entirely) signals they don't ground decisions in requirements. The ideal rhythm is roughly 5 / 5 / 20 / 15 with slight shifts based on problem complexity. Practice the rhythm in mocks — spend 5 minutes on each of the first two phases, resist the urge to draw before you've done capacity math. This is what "framework fluency" means operationally: knowing when to move on from one phase to the next.

The capacity math (Phase 2) deserves specific emphasis because it's the phase most candidates skip and the one that most differentiates strong from weak walk-throughs. Consider "Design a URL shortener." Weak candidate: "We'll use Cassandra." Strong candidate: "100M new URLs/day = ~1200 QPS write average, maybe 5000 QPS peak. Read:write is roughly 100:1 for shorteners, so 120K QPS reads average, 600K peak. Each URL entry is maybe 500 bytes; 100M/day × 365 days × 5 years × 500 bytes = ~90TB retention. QPS fits in Postgres if we cache aggressively; 90TB doesn't fit on one Postgres primary. Sharded Postgres by hash of short-code works, or Cassandra if we're okay with eventual consistency for the read path." Same problem, but the numbers made the choice defensible. This is what capacity math looks like in practice — 30-60 seconds of arithmetic that changes the entire downstream conversation.

Numbers pick the tools. Without capacity math, tool choice is a preference; with capacity math, it's an argument. The interviewer notices.
§ 03 — Eight problem archetypes

Every interview
question maps to a
pattern.

System-design interview questions look different on the surface but cluster into eight recurring archetypes. Recognizing the archetype in the first 2 minutes gives you the entire architectural skeleton — you know which components will be involved, which tradeoffs the interviewer wants you to discuss, which failure modes to prepare for. This is pattern recognition, and it's the specific skill that separates candidates who "sound like they know their stuff" from candidates who can design any system in 45 minutes. The eight archetypes below cover 90%+ of the questions asked at major companies. Each ships with signature moves — the things the strong candidate reaches for immediately.

// SIGNAL: "many-to-many · timeline · social feed"
i. Timeline fan-out

Design Twitter / Instagram feed / Facebook News Feed / LinkedIn feed. The core tradeoff: write-time fan-out (push to followers on post — fast reads, expensive writes for celebrities) vs read-time fan-out (query followees on read — slow reads, cheap writes) vs hybrid (push for normal users, pull for celebrities). Key components: user graph store, post store (K-V), timeline cache (Redis), fan-out worker (Kafka consumers). Signature move: "Given celebrities have 100M followers, write fan-out is prohibitive for them — hybrid model."

// SIGNAL: "billions of items · lookup by ID · low latency"
ii. K-V store with hot keys

Design URL shortener / Distributed cache / Session store / User profile service. The core problem: many items, simple key-based access, low latency (single-digit ms). Key components: consistent hashing (M.44), replication (N=3 typical), quorum (R+W>N), Redis/Memcached for hot cache. Signature moves: "Consistent hashing so we can add nodes without full reshuffle. Hot keys go through a Redis front-tier." Watch for hot-key handling (celebrity URLs get 1000× traffic — random-suffix sharding or dedicated cache).

// SIGNAL: "distributed cache · replication · eviction"
iii. Distributed cache

Design a distributed cache / Web cache / DNS cache. Very close to K-V but with strong eviction semantics. Key components: consistent hashing, LRU/LFU eviction, replication for availability, TTL for freshness. Signature moves: "Consistent hashing for placement, LRU per node for eviction, TTL for freshness." Discuss cache invalidation (write-through vs write-around vs write-back) and stampede prevention (probabilistic early expiration, request coalescing).

// SIGNAL: "persistent connections · presence · ordering"
iv. Real-time chat

Design WhatsApp / Slack / Discord / Messenger. The specific challenges: persistent WebSocket connections at scale, message ordering per conversation, delivery guarantees, presence, offline delivery. Key components: WebSocket gateway (sticky sessions), message store (Cassandra or DynamoDB), presence service (Redis with TTL). Signature moves: "Sticky sessions to a specific WebSocket gateway that holds the connection; messages routed via consistent-hashed chat_id; message store partitioned by conversation."

// SIGNAL: "throttling · fairness · burst tolerance"
v. Rate limiter

Design a rate limiter / API throttling / DDoS protection. The core algorithms: token bucket, sliding window log, sliding window counter. Distributed version: Redis with INCR + EXPIRE, or centralized rate limit service. Signature moves: "Token bucket for burst tolerance, sliding window log for exact accuracy. Distributed enforcement via Redis with atomic INCR; local counters with periodic sync for lower latency." Discuss trade-offs: exactness vs speed, per-user vs per-endpoint.

// SIGNAL: "streaming · dashboards · continuous"
vi. Real-time analytics platform

Design analytics dashboards / fraud detection / recommendation platform. M.45 territory. Key components: CDC (Debezium), Kafka, Flink, Materialize/Pinot/Druid, dashboards. Signature moves: "Five-tier composition. CDC from operational DB via Debezium; Kafka for transport; Flink for windowed processing; Materialize for JOIN-heavy dashboards or Pinot for high-cardinality; Grafana on top." Tune per requirement profile — freshness-first vs cost-first vs correctness-first.

// SIGNAL: "money · audit · exactly-once"
vii. Payment / transaction system

Design Stripe / a payment gateway / bank transaction system. Correctness-first workload — exactly-once, audit trails, reconciliation. Key components: idempotency keys, outbox pattern, two-phase commit, Postgres for source of truth. Signature moves: "Every payment request has an idempotency key; the payment service writes atomically to Postgres via outbox pattern; downstream ledger updates via CDC + Kafka with exactly-once semantics; audit table for reconciliation." Discuss double-charge prevention and eventual consistency across services.

// SIGNAL: "large files · metadata · replication"
viii. Distributed file storage

Design Google Drive / Dropbox / S3. Two problems combined: metadata (small, transactional) and content (large, replicated). Key components: metadata store (sharded Postgres or Spanner), content store (chunked with replication, S3-style), CDN for reads. Signature moves: "Metadata and content are separate tiers. Metadata in a strongly-consistent store (transactions for renames, permissions). Content chunked into 4MB blocks, replicated 3× across zones, referenced by content-hash. CDN in front for read scale."

The value of the archetype taxonomy is that 90% of what you need to design a specific question is already in the archetype's signature moves. When the interviewer says "Design Twitter," you don't start from zero — you start from "timeline fan-out archetype, so hybrid push/pull for celebrities, timeline cache in Redis, fan-out workers on Kafka" and then customize for the specific twist. When they say "Design a distributed cache with cross-region replication," you start from "K-V + distributed cache archetype, extended with cross-region async replication and conflict resolution." The archetypes give you the skeleton; the customization is what fills in the flesh. Recognition-first, then design.

The pattern matching happens explicitly in the first two minutes: "This is a timeline fan-out problem" — you say it out loud, the interviewer nods (confirming or redirecting), and you have a shared frame for the next 40 minutes. This is a specific technique senior candidates use: naming the archetype invites the interviewer to correct you if you've misread the problem, which is much better than discovering 20 minutes in that you were designing the wrong thing. Interviewers appreciate the framing move — it shows meta-level thinking about the problem itself, not just tunneling into implementation.

Every interview question looks unique in the moment. In the taxonomy, every question maps to one of eight archetypes. Recognition first, design second.
§ 04 — Interview frame explorer

Three problems.
Three seniority levels.

Below: each of three canonical interview problems (Design Twitter timeline · Design a distributed cache · Design real-time chat) evaluated at three seniority levels (L4 Junior · L5 Senior · L6 Staff). Watch how the same question produces different expected answers at each level — not because the technology differs, but because the depth of tradeoff articulation, the breadth of failure-mode reasoning, and the sophistication of the framing differ. The 9 cells show what the interviewer is looking for at each level and where the specific level-up moves are.

INTERVIEW.SIM // m.46 lab
Interview question →
// EXPECTED WALK-THROUGH · at this seniority level
// RUBRIC · what interviewer scores
Scoping depth-
Capacity math-
Architecture breadth-
Tradeoff articulation-
Failure mode reasoning-
Level-appropriate signal-
// LEVEL-UP MOVES
Loading...
...
§ 05 — Where interview walk-throughs decay

Five interview
anti-patterns.

The failure modes of system-design interviews are the reason "I know Kafka" doesn't translate directly to "I get a senior offer." The interview is a performance under time pressure, and specific patterns produce specific negative signals. Every one of these is what a strong candidate has been coached out of, and what a weak candidate does without realizing. Recognizing them in your own mocks is the first step to eliminating them.

// FIVE INTERVIEW ANTI-PATTERNS

i
The skipped scoping
"Interviewer says 'Design Twitter.' Candidate immediately draws load balancer → API gateway → services → database. Interviewer says 'wait, is this for 100 users or 100 million users?' Candidate has to restart."

Jumping to architecture before scoping is the most common interview mistake and the fastest way to signal junior-level thinking. The interviewer's first evaluation is "does this candidate design the right thing?" — and if you don't scope, you can't possibly know what the right thing is. The fix: enforce a personal rule of "no drawing before 3 minutes of questions." Ask about scale (users, QPS), non-functional requirements (latency, availability), and explicit out-of-scope items. It feels slow but it's the fastest way to converge on the right problem. The general principle: interviewers want to see that you think before you design, not that you can draw fast. Skipping scoping optimizes for the wrong signal.

ii
The skipped capacity math
"Interviewer asks 'why did you pick Cassandra?' Candidate: 'Because it scales.' Interviewer: 'What scale are we talking about?' Candidate: 'Um... a lot?' Interviewer marks 'no capacity reasoning' on the rubric."

Every architectural choice should be defensible with numbers. "Cassandra because 100K writes/sec exceeds a single Postgres primary's ceiling and we need write-heavy scaling" is a defensible answer. "Cassandra because it scales" is not — it signals you're pattern-matching without grounding. The fix: after scoping, spend 3-5 minutes on back-of-envelope math. Users × active% × QPS × bytes = throughput. throughput × retention = storage. Peak vs average. The general principle: numbers make choices defensible; without them, tool selection looks like preference or memorization. Interviewers can tell the difference within 30 seconds. Anti-pattern §05.ii is the specific behavior that keeps L4 candidates from clearing the L5 bar.

iii
The brand-name components
"Candidate: 'We'll use Kafka.' Interviewer: 'Why not RabbitMQ?' Candidate: 'Because Kafka is better.' Interviewer notes: 'Names tools, can't compare them.'"

Strong candidates name components generically first ("durable message queue with ordered delivery"), then specifically ("Kafka") with a defense of why. Weak candidates name brands and can't articulate why-that-brand — because they memorized the popular answer without understanding what problem it solves. The fix: when introducing a component, first say what it does (the abstract role), then name a specific tool that fills that role, then explain why that tool over alternatives. "We need a durable ordered log — Kafka fits because of its high throughput, exactly-once semantics, and Kafka Streams integration. RabbitMQ works but has lower throughput and a different consistency model." The general principle: name-then-defend, not brand-then-hope.

iv
The ignored failure modes
"Candidate finishes drawing a system with Postgres primary + read replicas. Interviewer: 'What happens if the primary dies?' Candidate: 'Uh, we'd promote a replica.' Interviewer: 'How long does that take? What's the failover latency? What about writes during that window?' Candidate: 'Um.'"

Every architectural choice has failure modes; senior candidates identify them proactively, junior candidates only when pushed. The specific signal is who names the failure modes first: if the interviewer has to ask "what if X dies?" for every component, that's a junior signal. If the candidate volunteers "Postgres primary is an SPOF; failover takes 30 seconds via Patroni; writes during failover fail and need retry" — that's senior. The fix: for every major component you draw, immediately state its failure mode and how the system responds. "Postgres primary: SPOF, ~30s failover, mitigated by fast-failover tooling. Redis cache: acceptable to lose (rebuild from source). Kafka: durable, no data loss on broker death." The general principle: senior engineers reason about failure by default. Anti-pattern §05.iv keeps candidates from clearing the L6 bar.

v
The over-engineered first pass
"Interviewer says 'Design a URL shortener for internal use.' Candidate immediately draws Cassandra with cross-region replication, Kafka event bus, Materialize CDC pipeline, Kubernetes multi-region deployment. Interviewer: 'How many users?' Candidate: '100.' Interviewer: 'So... Postgres?' Candidate: 'Oh.'"

Over-engineering the first pass shows the candidate doesn't scale complexity to requirements. A URL shortener for 100 internal users is a Postgres table with a REST endpoint; drawing Cassandra with cross-region replication signals "I know these tools exist but not when to use them." The fix: always start with the simplest architecture that satisfies the scoped requirements, then extend for scale/resilience as needed. "Start with Postgres + Flask. If we needed 10K QPS, we'd add Redis caching. If we needed 100K QPS globally, we'd shard by hash of short-code. If we needed 100% uptime, we'd do multi-region." The general principle: complexity should match requirements, not showcase knowledge. Senior engineers use less technology, not more, to solve the same problem. Anti-pattern §05.v is what makes L4 candidates look junior even when they know sophisticated tools.

The composite pattern across all five is that interview performance is a coherence signal, not a knowledge signal. Knowing sophisticated technologies doesn't help if you can't apply them at the right time (§05.v), defend them with numbers (§05.ii), or reason about their failures (§05.iv). Junior candidates over-optimize for depth on tools; senior candidates over-optimize for coherence of the walk-through. Every strong candidate has been coached out of these anti-patterns through deliberate practice. The framework in §02 combined with the archetypes in §03 gives you the structure to avoid them; §04's lab shows what the level-appropriate walk-through looks like.

The interview measures coherence under pressure. Anti-patterns aren't about knowledge — they're about performance. Deliberate practice eliminates them.
§ 06 — Eight words for the interview conversation

Vocabulary,
for the toolkit.

The terms that show up in every system-design interview post-mortem, every "why didn't I get an offer?" review, every "how do I level up?" mentoring session.

Scoping
/ˈskoʊpɪŋ/
Phase 1 of the interview framework: asking questions to bound the problem before designing. Functional requirements, non-functional (SLA, scale), constraints, explicitly out-of-scope items. Prevents the "designing the wrong thing" failure. Weak signal if skipped; strong signal if done deliberately in 3-5 minutes.
Back-of-Envelope
/ˈɛnvəloʊp/
Rough arithmetic that grounds architectural choices in numbers. users × active% × QPS × bytes = throughput. throughput × retention = storage. Peak vs average. 30-60 seconds of math that changes every downstream decision. Anti-pattern §05.ii is skipping this and picking tools by preference.
Archetype
/ˈɑːrkətaɪp/
Recurring problem shape that dictates architectural skeleton. Eight archetypes cover 90% of interviews: timeline fan-out, K-V with hot keys, distributed cache, chat, rate limiter, real-time analytics, payments, distributed file storage. Recognition-first gives the interview a shared frame.
Fan-out
/fæn aʊt/
Distribution pattern where one input produces many outputs (or vice versa). Twitter timeline fan-out at write time = expensive for celebrities. Read-time fan-out = expensive for reads. Hybrid model is the standard senior answer. Also: cache fan-out, event fan-out, notification fan-out.
Hot Key
/hɒt kiː/
Key with disproportionately high traffic relative to average. Celebrity user profile, viral URL, trending product. Breaks consistent-hashing's assumption of uniform load. Mitigation: random-suffix sharding, dedicated cache tier, sloppy quorum with expanded replication. Anti-pattern §05.iv in M.44 territory.
Idempotency
/ˌaɪdemˈpɒtənsi/
Property that applying an operation multiple times produces the same result as applying it once. Critical for payment systems (retries can't double-charge). Implemented via idempotency keys — client sends a UUID with the request; server checks if it's been seen and returns the cached result.
Sticky Session
/ˈstɪki ˈsɛʃən/
Load balancer routing decision that pins a client to a specific backend for the duration of a session. Required for stateful protocols (WebSocket for chat). Implemented via cookie-based routing or IP hashing. Tradeoff: worse load distribution, but stateful protocols need it.
Level-Up
/ˈlɛvəl ʌp/
Specific move that separates one seniority level from the next. L4 → L5: capacity math before tools. L5 → L6: failure modes before prompted. Reasoning about ambiguity, reasoning about org-level tradeoffs. Explicit in §04's lab — same problem, different depth of articulation.
§ 07 — Knowledge check

Five questions.
The interview intuition.

Test the framework. Click an answer; explanation drops in instantly.

QUESTION 1 OF 5
Loading question...
Score: 0 / 5
5 / 5

Toolkit earned.

Perfect. Four-phase framework, eight archetypes, capacity math, tradeoff articulation, level-appropriate framing — the composite that turns 46 modules into interview performance. Below: the Intermediate track completion banner.

§ 08 — The recap

Three ideas to
carry into
every interview.

The composite discipline that makes 46 modules of Intermediate content usable in a 45-minute system-design session.

i

Framework beats knowledge

The four-phase structure — SCOPE → CAPACITY → ARCHITECTURE → REFINEMENT — is what makes technology knowledge usable in the interview. Junior candidates with deep tool knowledge lose to senior candidates with framework fluency because the framework gives the walk-through coherence. Time budget matters: roughly 5/5/20/15 minutes. Each phase enables the next; skipping any phase produces a visibly weaker interview signal.

ii

Recognition, then design

Eight archetypes cover 90% of interview questions — timeline fan-out, K-V with hot keys, distributed cache, chat, rate limiter, real-time analytics, payments, distributed file storage. Naming the archetype in the first 2 minutes gives the interview a shared frame and unlocks the signature moves for that problem shape. The 46 modules provide the vocabulary; the archetypes provide the shortcuts.

iii

Level-appropriate articulation

Same problem, different expected answers at L4/L5/L6. L4 shows fluency in components. L5 shows fluency in tradeoffs (capacity math, tool selection with defense). L6 shows fluency in ambiguity (proactive failure modes, org-level extensions, cost/complexity awareness). Practicing at the right level means articulating tradeoffs the interviewer expects for that role — not more sophisticated, not less.

SystemDesign · Intermediate Track · 46 / 46 modules complete

Intermediate
Track.
Complete.

Every module of the Intermediate track has been earned. Twenty-six modules were beginner — the foundations. Forty-six modules were intermediate — the specific technologies, architectures, tradeoffs, and composition disciplines that turn "I know software" into "I can design distributed systems at senior engineering scale." This is the specific graduation that unlocks the interview toolkit, the platform architect role, the staff-level design responsibilities.

// FIVE PHASES · WHAT EACH BUILT
PHASE E
Distributed systems foundations
M.20–M.25 · 6 modules · CAP, consensus, replication, sharding
PHASE F
Data at scale
M.26–M.32 · 7 modules · OLTP, OLAP, indexes, NoSQL, caching
PHASE G
Services and communication
M.33–M.38 · 6 modules · APIs, gateways, messaging, service mesh
PHASE H
Streams and data pipelines
M.39–M.43 · 5 modules · batch/stream, windows, state, CDC, RT analytics
PHASE I
Capstones · composition
M.44–M.46 · 3 modules · distributed K-V, RT platform, interview toolkit

// THE ARC · WHAT THE 46 MODULES BUILT TOGETHER

The track opened with distributed-systems primitives — CAP theorem, consensus, replication topologies — the vocabulary that lets you reason about correctness under partial failure. Phase F extended that into data storage at scale: OLTP vs OLAP separation, index structures, NoSQL topology choices, caching layers. Phase G moved outward into service-level architecture: API design, gateways, messaging patterns, service mesh. Phase H built the streaming data platform: batch vs stream semantics, windowing, stateful stream operators, change data capture, real-time analytics stores. Phase I composed everything into the capstone patterns: the distributed K-V store synthesis, the five-tier real-time analytics platform, and this — the interview toolkit that makes all 46 modules deployable in 45 minutes.

The specific skill that emerges from the composite is not any single technology — it's the pattern-recognition-plus-composition discipline. When you see "design Twitter" you don't reach for one tool; you recognize timeline fan-out archetype, reach for the four-phase framework, do capacity math, name the components generically then specifically with defense, and articulate the tradeoffs at the right seniority level. This is what senior distributed-systems engineering looks like at design time, and this is what 46 modules of deliberate study builds.

46
modules
5
phases
50+
hours of study
100+
specific tradeoffs
// WHAT'S NEXT
The Expert track opens.
Twenty-six modules of advanced distributed systems, deep infrastructure, and specialized platform architecture — the material that separates senior from staff, staff from principal. Consensus at scale, geo-distribution, formal verification, storage engines, hardware-aware systems, custom protocols.
↓ EXPERT TRACK · COMING SOON

The Expert
track.

Twenty-six modules of advanced distributed systems and platform architecture — consensus protocols in depth, geo-distributed transactions, storage engine internals, hardware-aware system design, formal verification, custom protocols. The material that separates senior from staff engineering. Expert track opens Q4 2026.

Coming soon