Your interview is tomorrow. You don't have time to learn anything new. This page is the minimum you need to revisit so the patterns are top-of-mind.
Almost every system design interview follows this flow. Use it to organize what you say.
What does the system do? What does it NOT do? Get the scope pinned down with the interviewer. Always confirm explicitly.
Latency targets. Availability target. Consistency requirements. Read-heavy vs write-heavy. Global vs single region.
DAU → QPS → storage/yr → bandwidth. Don't skip this. It's how you pick the architecture. Drill it here.
2-4 endpoints. Method, path, request, response. Don't bikeshed REST vs gRPC. Pick one and move on.
Tables / collections / streams. Primary keys. Indexes. Sharding key. SQL vs NoSQL, justify briefly.
Draw the boxes and arrows. Client → CDN → LB → API gateway → services → caches → datastores → queues.
Interviewer picks 1-2 components to drill. Be ready to defend choices: "why Cassandra not Postgres?"
"What if 10x?" "What if Redis dies?" "What about consistency?" This is where you actually score.
Cache aside, read replicas, write-once-read-many.
Precompute timelines, S3 for media, push to follower caches.
Push for normals, pull for celebs, merge at read.
WebSocket gateway tier, Cassandra log, push for offline.
Geohashing, in-memory geo-index, dispatcher per region.
Partitions = scale unit. ISR = durability. Consumer groups = parallelism.
If any of these makes you blank, click the linked concept and re-read it.