</> MAANG.io
system design · 301

Advanced

Master system design interviews with scalable architecture patterns, distributed systems, and real-world design challenges.

0/480 solved 0% complete

Section 10: Pulling on Every Thread - Interviewer Deep-Dive Challenges

Executive Summary: The design works on paper. Now the interviewer tries to break it, with seven escalations: a hot release, a refund that crosses a phone swap, a CDN going dark, a government takedown, review fraud, malware slipping out at 1%, and a retry storm after an outage. Each gets the same shape: what they're really asking, a model answer built on Section 3's numbers, and the senior line. None adds a box to the serving path; every answer is a lever the design already has.

Section 9 ended with Trailhead's 4.3.1 climbing the ladder. The trap now is answering every probe with new machinery; the strong move is showing the problem was already priced in.

Key Insight: Three decisions do most of the work here: device-pull update checks with server-dictated intervals, immutable content-addressed files, and staged rollouts on deterministic cohorts. Name which one each challenge leans on and you've passed most of them.

Challenge 1 - The Hot Release at 9 a.m.

"An app with 500 million installs ships a release at 9 a.m. What melts?"

What they're really asking: Did your bandwidth numbers ever meet time? 5 PB is a fact. Whether it hurts depends on how many hours it gets spread across.

Model answer: Section 3 already priced this: 5 PB of deltas, which would be 11 Tbps on top of the 14.4 Tbps peak if it all went out in one hour, and about 1.4% of daily egress once the ladder spreads it. The 1% step's 50 TB is under 5 Gbps across its 24-hour hold. What I'd add is how the other layers stack on the ladder. Jittered nextCheckAfterSec means devices don't hear about the release together; they find it over a check cycle of about 6 hours. Device policy (Wi-Fi only, charging, idle) pushes many downloads into the night. Immutable files are fetched from origin once per shield, then served from edges.

Interviewer: The developer skips the ladder and goes straight to 100%.

You: They're allowed to, unless they're a new developer or the submission tripped a risky-change cool-down. Jitter still spreads discovery over the 6-hour cycle: 5 PB over 6 hours is about 1.9 Tbps, roughly 13% of peak. If that's still too much, I lengthen nextCheckAfterSec for that package. The only thing I'd pre-warm is the shield, with the release's first few dozen files.

The senior line: "Staged rollout is a safety feature that happens to work as a traffic shaper. Jitter is a traffic shaper that happens to cost nothing."

Flowchart of a hot release: 500M installs x 10 MB = 5 PB owed (11 Tbps if all in one hour) shaped by four layers: the staged rollout ladder (1 percent step = 50 TB, under 5 Gbps over 24 h), jittered nextCheckAfterSec that spreads discovery over about 6 hours and can be stretched under load as a load-shedding lever, device policy that drifts downloads off-peak, and CDN edges whose misses go to a pre-warmed origin shield that fetches each object once from the object-store origin

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.