Design Facebook Likes with Live Updates (Including Celebrities) - System Design
Tapping “Like” is the smallest interaction Facebook has. It is one bit: you either like a post or you do not. It looks like a toggle on a …
Read MoreDesign Live Comments on Facebook - System Design
Live comments look like a solved problem until you put a number on it. A celebrity goes live, a million people are watching, and comments …
Read MoreDesign Live Page Viewer Count (Booking.com) - System Design
“23 people are looking at this hotel right now.” It is one line of text, a soft nudge that the room might not be here tomorrow. It looks …
Read MoreDesign a Wire Transfer API - System Design
A wire transfer looks like the wallet transfer’s twin, and interviewers love it because it is not. In a wallet, “move 500 from Alice to Bob” …
Read MoreDesign Distributed Tracing (Jaeger / Dapper) - System Design
One request hits your API gateway, which calls auth, which calls the user service, which calls three downstream services, two of which hit a …
Read MoreDesign Price Alert System (Stock / Amazon) - System Design
“Notify me when AAPL hits $250” or “tell me when this Amazon item drops below Rs 1,999” sounds like a WHERE price >= target query. Then you …
Read MoreThe Management Track Is Not a Promotion - Why Engineers Choose Wrong
The single most expensive career mistake I see senior engineers make is treating the management track as a promotion. It is not a promotion. …
Read MoreDesign A/B Testing System (Optimizely) - System Design
An A/B testing platform is deceptively easy to describe and brutal to get right. “Show half the users the blue button and half the green …
Read MoreDesign ETA Service & Live Location Sharing (Uber) - System Design
Once a rider is matched to a driver, the interesting problem is not “who is my driver” - it is the little car crawling across the map toward …
Read MoreDesign Netflix Screen Limit - System Design
Everyone thinks the screen limit is a counter. “Each plan allows N streams, keep an integer per account, increment when a play starts, …
Read MoreDesign Sort 1TB Dataset on Commodity Hardware - System Design
The whole problem is one sentence: the data does not fit in memory. You have 1TB to sort and 16GB of RAM per machine, so the data is roughly …
Read MoreDesign Surge Pricing System (Uber) - System Design
Surge pricing looks like a multiplication. Base fare times some number, show it to the rider, done. The interviewer lets that sit for about …
Read MoreDesign Top K Elements at Scale (App Store Rankings) - System Design
Everyone thinks App Store rankings are a SELECT app_id, COUNT(*) FROM downloads GROUP BY app_id ORDER BY count DESC LIMIT 100. Count the …
Read MoreRate Limiting Is Not Just a Redis INCR Call
Ask most engineers to build a rate limiter and you get the same answer: INCR a Redis key, set a 60 second TTL, reject when the count crosses …
Read MoreDesign Distributed Queue (RabbitMQ-like) - System Design
There are two completely different things people call “a message queue,” and confusing them is the fastest way to fail this interview. One …
Read MoreDesign Google Analytics Pipeline - System Design
Everyone thinks Google Analytics is a counter with a chart on top. “Drop a snippet on every page, count the pageviews, draw a line graph, …
Read MoreDesign Google Calendar - System Design
“Design Google Calendar” sounds like a CRUD app: a user creates an event, it shows up in a grid, the phone syncs it. The interviewer lets …
Read MoreZero-Downtime Deployments Are Hard - Especially When the Database Changes
Most “zero-downtime deployment” tutorials show you two identical stacks, a load balancer, and a switch you flip from blue to green. Traffic …
Read MoreDesign Distributed Stream Processing System (Kafka-like) - System Design
“Stream processing” sounds like a for loop over a queue: read a message, do a thing, write a result. That mental model dies the moment the …
Read MoreDesign Top K Most Shared Articles in Time Windows - System Design
Everyone thinks top-K is a SELECT article_id, COUNT(*) FROM shares GROUP BY article_id ORDER BY count DESC LIMIT 100. Store every share, …
Read More