</> 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 9: Making Your Sunday Worse - Interviewer Deep-Dive Challenges

Executive Summary: The design works, so the interviewer starts breaking it. You face six escalations: Dating Sunday at twice the normal peak, a hot Manhattan geoshard, a profile that would draw 5,000 likes a day, a lost home region, a deleted user still sitting in precomputed decks, and a user who signed up five minutes ago. Each one comes with what the interviewer is really testing, an answer with numbers, and a senior line. Every answer relies on a decision Sections 5 through 8 already made.

Priya's match with Marco has fired. The interviewer smiles: "Good. Now let's make your Sunday worse."

Challenge 1: Dating Sunday

Interviewer: "It's the first Sunday of January, the busiest day of the year for dating apps. Twice your normal peak. What breaks first?"

What they're really testing: whether you know your headroom as a number, and have decided in advance what to sacrifice.

You: "That's ~140K swipes/s. Cassandra was sized by storage: ~36 nodes for ~70 TB, while normal-peak writes need ~27 (about 90K rows/s, swipes plus likes_received, × RF 3 ≈ 270K replica writes/s at a conservative 10K per node). At double, we need ~54, about 18 more than we have. The date is on the calendar, so we add them over the preceding week and let them stream data in.

"Second, we pre-warm decks. Refills run async and a queue lives 24 hours, so in the afternoon we refill everyone who was active last Sunday evening. At 8:40, nothing is ranked on the user path, and serve-time re-validation still drops anyone banned since. If we're still overloaded, we shed load in a fixed order."

Dating Sunday load shedding: pass batches shed first, deck refills second, deck fetches third, while likes and matches are never shed and keep p99 under 200 ms with exactly one match

"Passes go first. They already wait in a queue on the phone (D3) and make up 70% of swipe rows. One catch: a deferred pass isn't in the Bloom filter yet. Refills also exclude Priya's served set (every profile served to her in the last 48 hours), so that profile doesn't come back, and the phone's own recent-swipe set is a second guard. Priya's like on Marco still gets its 200 ms answer. Her pass batches land a few minutes late, and she never notices."

The senior line: "Dating Sunday is a calendar entry, not an incident. Buy capacity for likes in advance, and let passes wait."

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.