</> 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: Six Ways to Break a Flag Platform - Interviewer Deep-Dive Challenges

Executive Summary: This section is the escalation phase. The interviewer stops asking how the design works and starts asking where it bends. We take six challenges, each one the interviewer's actual worry dressed up as a demand: a 5-second kill on mobile, a tenant that must never see previews, two flags that break each other, the platform down during a 2,000-service deploy, a salt changed mid-rollout, and 30,000 flags nobody deletes. Each gets the same shape: what they're really asking, the answer with its mechanism and number, and the senior line, the one sentence that shows you know where the boundary is.

The deep dives are done and the interviewer has stopped nodding. "Fine. Now let's break it." The questions that follow aren't random. Each one goes after a promise the earlier sections made: 5 seconds, contractual safety, local evaluation, determinism. A Senior candidate either agrees to everything or argues with everything. A Staff candidate works out which part of the demand is physics, which is policy, and which is already handled, and says which is which.

Challenge 1: "The kill must reach mobile apps in 5 seconds."

What they're really asking: Do you know the difference between a guarantee and a hope, and can you still stop the damage without one?

You: "I can't promise 5 seconds to a phone. A backgrounded app holds no connection, and the OS decides when it wakes. What I can promise is that the damage stops in 5 seconds, because the damage happens on our servers." The reply chips in the mobile app call the reply-suggestion API in mail-compose. Killing smart-reply-v2 at 14:07:00 reaches 99% of the 100,000 server instances by 14:07:04, so every chip tap after that gets the old suggestions. The client flag smart-reply-chips catches up on the next fetch, within 5 minutes, and a silent push is sent as a best-effort nudge. Web clients on SSE converge within 10 seconds.

The senior line: "Design every client feature so a server-side flag can neuter it. The client flag controls the pixels, the server flag controls the harm."

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.