System design + LLD practice

Learn from real stories and interview-style code

System design scenarios show what broke in production. LLD challenges hand you real-looking code and ask you to spot inefficiencies and explain a better approach — with feedback in minutes.

Start first scenario

~20 min · Learn: N+1 queries · fetch in a loop

Fix the broken code

Fix the broken code

Interview-style code reviews for 0–2 years — spot inefficient patterns and explain your fix.

Fix the architecture

Fix the architecture

Real production stories — study flawed designs and explain how you would rebuild them.

Best place to start
Live
System DesignArchitecture auditDesign review

Big Billion Days traffic overloaded Flipkart’s notification path, pushing the database to full CPU, delaying alerts up to 28 minutes, and sending some shoppers the same message more than once.

Flash-Sale Notifications: The System That Broke Under Traffic

Traffic surge

Learn: what breaks first

When Big Billion Days traffic hit, messages arrived 20–30 minutes late. · Some shoppers got the same notification two or three times.

Medium–Hard~20 minReal-world scenario
Scenario #2
Live
System DesignArchitecture auditDesign review

During Amazon India’s Great Indian Festival, an accidental cache clear sent almost every request to the database, filling connection pools, maxing out database CPU, and slowing the slowest requests to 30 seconds.

Cache Stampede: The Cache That Took Down Our API

Cache stampede

Learn: immediate triage

After the cache was cleared, about 95% of requests missed the cache for roughly 8 minutes. · API servers ran out of database connections — 480 of 500 slots were in use.

Medium~35 minReal-world scenario
Scenario #3
Live
System DesignArchitecture auditDesign review

During a Diwali sale week on Razorpay checkout, shoppers who saw Payment failed and tapped Retry were charged twice for the same order — about 2% of checkouts — and support tickets jumped about 4×.

Payment Double-Charge: The Service That Charged Customers Twice

Idempotency

Learn: double charge

The payment provider timed out with no clear success or failure on the first attempt. · Checkout showed Payment failed and offered Retry; shoppers who retried were often charged twice.

Hard~45 minReal-world scenario
Scenario #4
Live
System DesignArchitecture auditDesign review

On Razorpay’s shared API gateways, one misconfigured enterprise key used about 80% of capacity for 45 minutes, starving other merchants with about 22% too-many-requests errors.

Rate Limiter Gap: The Config That Let One Tenant DDoS the API

Noisy neighbor

Learn: fairness

For 45 minutes one API key used about 80% of shared gateway capacity. · Other merchants were starved — about 22% of their requests hit too-many-requests errors.

Medium~35 minReal-world scenario
Scenario #5
Live
System DesignArchitecture auditDesign review

On Instagram, a celebrity post to about 40 million followers overloaded one timeline shard at 100% CPU, slowing some feeds to about 45 seconds and leaving about 2.1 million fan-out writes waiting.

Hot Partition: The Feed That Melted When a Celebrity Posted

Hot partition

Learn: skew

A celebrity with about 40 million followers posted during peak hours. · One timeline shard hit 100% CPU while others stayed under 30%.

Medium~40 minReal-world scenario
Scenario #6
Live
System DesignArchitecture auditDesign review

On WhatsApp, a mobile network blip triggered a reconnect storm, duplicating about 12% of messages and pushing WebSocket gateway CPU to about 92%.

Duplicate Chat Sends: The System That Sent Messages Twice

At-least-once

Learn: reconnect

A mobile network blip disconnected millions of users at once. · On reconnect, clients retried every message that had not been acknowledged yet.

Medium–Hard~40 minReal-world scenario
Scenario #7
Live
System DesignArchitecture auditDesign review

During a cricket World Cup campaign on bit.ly, one viral short link drove about 50× traffic, causing about 95% cache misses, redirect waits up to about 8 seconds, and saturated database replicas.

Broken Short Links: The Redirect That Sent Users Nowhere

Read path

Learn: cache miss storm

A viral marketing link drove about 50× normal traffic to a single short code. · Cache miss rate for that code hit about 95%.

Easy~30 minReal-world scenario
Scenario #8
Live
System DesignArchitecture auditDesign review

During Swiggy’s dinner rush, a slow inventory service blocked shared gateway threads, returning bad-gateway errors on about 48% of requests for about 22 minutes while health checks still looked fine.

Gateway Overload: The API Gateway That Dropped Half of Traffic

Backpressure

Learn: cascade

The inventory service slowed down — responses took up to about 12 seconds at worst. · The gateway returned bad-gateway errors for about 48% of requests over about 22 minutes.

Medium~40 minReal-world scenario
Scenario #9
Live
System DesignArchitecture auditDesign review

During Flipkart Big Billion Days prep, a deploy slowed workers to about 40% speed while producers kept publishing — consumer lag grew unnoticed for about six hours and the oldest jobs waited over four hours.

Silent Queue Backlog: The Job Queue That Grew for Six Hours

Observability

Learn: silent lag

After a deploy, workers slowed to about 40% of normal throughput. · Producers kept publishing at full speed.

Medium–Hard~40 minReal-world scenario
Scenario #10
Live
FrontendArchitecture auditDesign review

On Nykaa’s beauty-sale launch day, server HTML and browser JavaScript disagreed on cart state — hydration errors hit about 18% of sessions, and about 8% of users saw a white screen.

Hydration Crash: The Product Page That Broke on Launch Day

Hydration

Learn: SSR/client split

Launch traffic drove about 4× visits to the new product pages. · Hydration errors hit about 18% of sessions within 20 minutes.

Medium~35 minReal-world scenario
Scenario #11
Live
FrontendArchitecture auditDesign review

During Myntra’s End of Reason Sale, a 4.2MB JavaScript checkout bundle pushed time-to-interactive to about 14 seconds on mid-tier phones and raised abandonment about 31% while the payment API stayed healthy.

Checkout Bundle Bloat: The Page That Froze on Black Friday

TTI

Learn: main-thread blocking

Checkout traffic rose from about 800 to about 2,400 requests per minute. · The main JavaScript bundle grew to about 4.2MB transferred.

Medium–Hard~40 minReal-world scenario
Scenario #12
Live
FrontendArchitecture auditDesign review

During a Dream11 IPL ad blitz, a landing page without reserved space for hero, fonts, and ads hit a layout shift score of about 0.48, jumped about 400 pixels, and cut conversion about 22%.

Layout Shift Ads: The Landing Page That Jumped During the Ad Blitz

CLS

Learn: visual stability

Paid traffic jumped from about 400 to about 6,200 requests per minute. · Layout shift score hit about 0.48 (good is under 0.1).

Easy~30 minReal-world scenario

Complete the arc

Learn from the failure, then design it right

Each pairing starts with a real production scenario, then continues with a greenfield system design prompt.

9 scenario + design pairings

Design a new system

Design new systems from scratch

Interview-style greenfield prompts — sketch requirements, APIs, and architecture, then get AI feedback. Browse featured starters here, or open the full problem library for filters and progress tracking.

Loading problems…