On this page

The Library at a Glance

How to Use This Index

  1. Start Here: Roadmaps, Prep Plans & Complete Guides
  1. System Design Fundamentals: The Core Concepts
  1. Databases & Data Storage
  1. Scalability, Availability & Performance
  1. Networking, APIs & Communication
  1. Microservices, Architecture Patterns & Design Principles
  1. Distributed Systems Deep Dives
  1. System Design Case Studies: "Design X" Questions
  1. Company-Specific Interview Prep (FAANG and Beyond)
  1. Coding Interview Prep & Patterns
  1. Behavioral Interviews, Soft Skills & Career

How to Actually Use This Library

Frequently Asked Questions About the System Design Interview

Final Thoughts

Related Reading

System Design Interview Questions & Case Studies: The Complete Library

Image
Arslan Ahmad
A categorized library of 185+ system design interview guides, questions, and case studies. Pairs with our step-by-step System Design Interview Guide.
Image

The Library at a Glance

How to Use This Index

  1. Start Here: Roadmaps, Prep Plans & Complete Guides
  1. System Design Fundamentals: The Core Concepts
  1. Databases & Data Storage
  1. Scalability, Availability & Performance
  1. Networking, APIs & Communication
  1. Microservices, Architecture Patterns & Design Principles
  1. Distributed Systems Deep Dives
  1. System Design Case Studies: "Design X" Questions
  1. Company-Specific Interview Prep (FAANG and Beyond)
  1. Coding Interview Prep & Patterns
  1. Behavioral Interviews, Soft Skills & Career

How to Actually Use This Library

Frequently Asked Questions About the System Design Interview

Final Thoughts

Related Reading

Preparing for a system design interview and not sure where to start or in what order to learn everything? You are in the right place. This is the complete system design interview library: more than 185 in-depth guides I have written on the subject, sorted into eleven categories so you can prepare in a logical sequence instead of drowning in scattered blog posts, videos, and half-finished courses.

I have spent the last several years writing about the system design interview from every angle: fundamentals, databases, scalability, distributed systems, "design X" case studies, company-specific questions, trade-offs, cheat sheets, and day-by-day prep plans. Engineers working through this material have cleared the bar at Google, Meta, Amazon, Microsoft, Netflix, OpenAI, Tesla, and more. The one problem was that the articles lived on different pages with no single home. This page is that home.

Whether you are a junior engineer meeting CAP theorem for the first time, a mid-level engineer trying to design a news feed without hand-waving, a senior or staff engineer preparing for an L6 loop, or an engineering manager walking into a bar-raiser, the categories below meet you exactly where you are. Every entry has a one-line description so you know what you are opening before you click. Bookmark this page: it is the single starting point I would hand any engineer preparing for a system design interview today.

Want one structured walkthrough instead of an index? Start with our complete System Design Interview Guide: it covers the four-step framework, the core concepts interviewers test, and exactly what they grade. Think of that guide as the map and this library as the territory, the full set of deep dives you turn to once you know what to study.

Let's dive in.

The Library at a Glance

Use this table to jump to the part of the library that matches your current gap. Most engineers should read top to bottom, but if you are short on time, start with the row that describes your weakest area.

#CategoryBest forWhat it covers
1Start HerePicking a study pathRoadmaps, prep plans, complete guides
2FundamentalsBuilding core vocabularyCaching, load balancing, consistency, hashing
3DatabasesThe storage layerSQL vs NoSQL, sharding, replication, indexing
4ScalabilityFast, available systemsScaling, high availability, latency, trade-offs
5Networking & APIsService communicationHTTP, REST, gRPC, message brokers
6MicroservicesArchitecture vocabularyMicroservices, patterns, SOLID, containers
7Distributed SystemsGoing a layer deeperCoordination, consensus, ZooKeeper
8Case StudiesPracticing "design X"Instagram, Uber, URL shortener, chat
9Company PrepTuning to a targetGoogle, Amazon, Meta, Netflix, and more
10Coding InterviewThe other half of the loopCoding patterns, LeetCode strategy
11Behavioral & CareerThe round that decides offersBehavioral stories, soft skills, career

How to Use This Index

Before we get to the list, a quick word on how to navigate it based on where you are in your career.

If you're a junior engineer (0 to 3 years of experience), start with the Start Here section and then work through System Design Fundamentals. Don't skip to case studies yet. You need the vocabulary (load balancer, CDN, cache, sharding, consistency) before the case studies will make sense.

If you're a mid-level engineer (3 to 7 years), skim the fundamentals to fill gaps, then spend most of your time on Case Studies and Distributed Systems Deep Dives. Your weakness is almost certainly structured communication, not knowledge, so also read the Start Here strategy posts.

If you're senior or staff (7+ years), you already know most of the concepts. Your job is to practice trade-off conversations and company-specific rubrics. Go straight to Scalability & Trade-offs, Company-Specific Interviews, and the senior engineer cheat sheet.

If you're an engineering manager, the behavioral and company-specific manager posts are written for you. Don't underestimate the system design round just because you haven't coded in two years. It is often the deciding signal for EM loops.

OK, on to the library.

1. Start Here: Roadmaps, Prep Plans & Complete Guides

If you read nothing else, read these. They are the strategic scaffolding that makes every other article on this list make sense. This section answers the two questions I hear most often: "what do I study, and in what order?" and "how do I actually behave in the room?" Start with a roadmap to see the whole map of topics, then pick a prep plan that fits your timeline, whether that is twelve weeks out or one panicked evening before an onsite. If you are completely new, the beginner guides define every term from scratch. If you are returning to prep after a few years, the cheat sheets and FAQ posts will get you oriented fast. Read one roadmap and one prep plan from this section before you touch anything below it.


2. System Design Fundamentals: The Core Concepts

These are the non-negotiable building blocks. If any term in this section is fuzzy to you, stop and read the linked post before doing anything else. Almost every senior candidate who fails a design round fails here: not because they cannot draw boxes, but because they cannot explain why they chose a cache over a read replica, or what actually breaks when a partition goes down. This section covers the vocabulary interviewers expect you to use without hesitation: caching and cache invalidation, load balancing, CDNs, consistency models, consistent hashing, rate limiting, idempotency, and back-of-the-envelope estimation. Read these until you can define each concept in one sentence and name a real trade-off it introduces. That fluency is what separates a memorized answer from a real conversation.

3. Databases & Data Storage

Every system design interview eventually comes down to "where does the data live, and how does it stay consistent?" These posts cover the storage layer end to end. Choosing the right database, and defending that choice, is one of the highest-signal moments in the entire interview. This section walks through the decisions that matter: SQL versus NoSQL and when each is the honest answer, why relational databases resist horizontal scaling, how sharding and replication actually work, the index structures behind fast queries, and the guarantees ACID transactions give you. Get comfortable here and you will stop reaching for "I'll just use a database" and start saying "I'll use a partitioned key-value store because the access pattern is a single-key lookup at high write volume."

4. Scalability, Availability & Performance

Once you've got data figured out, the next question is: how do you make it fast, available, and able to handle growth? This is where interviews separate people who have read about scale from people who can reason about it out loud. The posts here build the mental models you need to talk about scaling strategies, high availability, autoscaling, latency (including the p99 tail that quietly ruins user experience), and leader election. Just as important, this section covers trade-offs, which is the single most repeated theme in senior and staff loops. Interviewers rarely want the "best" answer; they want to hear you weigh consistency against availability, cost against latency, and build against buy, and then commit to a choice with reasons.

5. Networking, APIs & Communication

The glue between services. Every senior interview I've run has touched at least one of these topics, and vague answers here are a common reason strong candidates stall. This section covers how services actually talk to each other: the HTTP versions and what changed between them, TCP versus UDP and when each is non-negotiable, session management, and the API paradigms you will be expected to compare on demand (REST, GraphQL, and gRPC). It also covers the boxes that get drawn on nearly every whiteboard, load balancers, reverse proxies, and API gateways, plus the message brokers (Kafka, RabbitMQ, ActiveMQ) that power asynchronous, event-driven architectures. Know the difference between these components cold, because interviewers use them as quick probes into how deeply you understand a system.

6. Microservices, Architecture Patterns & Design Principles

The architectural vocabulary that senior interviewers expect you to speak fluently. When an interviewer asks "how would you structure this?" they are listening for whether you understand the trade-offs of an architecture, not whether you can recite that microservices are good. This section covers the major styles (monolith, SOA, and microservices) and, just as importantly, when a monolith is the correct and mature choice. It also covers the software architecture patterns worth recognizing by name, the microservices patterns and anti-patterns that come up in real designs, the SOLID principles behind clean service boundaries, and the container and orchestration layer (Kubernetes, VMs versus containers) that modern systems run on. Speak this vocabulary naturally and you will sound like someone who has built systems, not just studied them.

7. Distributed Systems Deep Dives

These go a layer deeper than the fundamentals. Read them once you're comfortable with the basics. Distributed systems are where the hardest interview questions come from, because they force you to reason about failure: what happens when a node dies mid-write, when the network splits, or when two replicas disagree about the truth. This section builds distributed-systems intuition from a friendly on-ramp up through coordination and consensus, the role of a coordinator like ZooKeeper, and how consistent hashing is used live in a real design. If you are targeting senior or staff roles, this is the material that lets you go one question deeper than the interviewer expects, which is exactly the signal that pushes a "hire" toward a "strong hire."

8. System Design Case Studies: "Design X" Questions

The classic "design Instagram / Uber / Dropbox" questions. Work through these one at a time, and do not just read them. Case studies are where all the fundamentals come together, and they are what most interviews actually consist of. The right way to use this section is active, not passive: read a walkthrough once to see the shape of a good answer, then close the tab and design the same system from a blank page, out loud, start to finish. These posts span the most frequently asked prompts (news feeds, URL shorteners, chat, ride-sharing, video, cloud storage, e-commerce, ticketing) plus curated question lists to practice against. If you can confidently design six or seven of these end to end, you can handle almost anything an interviewer throws at you.

9. Company-Specific Interview Prep (FAANG and Beyond)

Every company has its own rubric, its own favorite questions, and its own idea of what "good" looks like. These posts are where you tune your prep to a specific target. Google weights scalability and algorithmic depth; Amazon threads its Leadership Principles through every round; Meta runs a distinct product architecture interview alongside classic system design. Once you have the fundamentals and a few case studies under your belt, this is the highest-leverage section, because it tells you what your specific interviewers are trained to look for. Find your target company below, read its guide a week or two before the loop, and adjust your default approach to match its rubric rather than a generic template.

10. Coding Interview Prep & Patterns

The system design interview is only half the loop. You still have to clear coding rounds, and the right approach is patterns, not grinding. Solving 500 random LeetCode problems teaches you 500 problems; learning the underlying patterns teaches you how to recognize the next thousand. This section covers the pattern-based approach that lets you map an unfamiliar problem to a technique you already know (sliding window, two pointers, BFS/DFS, and the rest), plus company-specific coding guides, the mistakes that quietly sink otherwise-strong candidates, and structured prep plans and bootcamps. If your onsite includes both coding and design rounds, split your prep time deliberately and use these guides to make the coding half efficient instead of endless.

11. Behavioral Interviews, Soft Skills & Career

The round that decides most offers isn't technical, it's behavioral. These posts will save your loop. I have watched more engineers fail FAANG interviews on the behavioral round than on system design, especially at senior-plus levels where "can this person lead and collaborate?" carries as much weight as raw technical skill. This section covers what interviewers are really listening for behind questions about conflict and failure, how to build a bank of compelling stories using a repeatable structure, how to demonstrate culture fit without sounding rehearsed, and the soft skills and career moves that compound over time. Do not treat these posts as optional just because they feel softer than sharding strategies. For many loops, this is the round that flips the decision.

How to Actually Use This Library

A quick word on strategy before I let you go.

The worst thing you can do with a list like this is open thirty tabs and skim them all in a weekend. That's how prep fatigue happens. Instead, I want you to do three things.

First, pick your starting point honestly. If you can't explain the difference between strong and eventual consistency in one sentence, you're not ready for case studies yet, so go back to fundamentals. If you can explain every fundamental but freeze when asked to design WhatsApp on a whiteboard, the gap is practice, not knowledge. Be honest about which one you are.

Second, pair reading with practice. Every case study you read should be followed by a mock interview where you design that same system from scratch without looking at the article. Reading without practicing is how engineers end up knowing everything and passing nothing. If you don't have a mock partner, design the system out loud and record yourself. You'll be shocked at how much clearer your weaknesses become when you hear them played back.

Third, respect the behavioral round. I've seen more engineers fail FAANG loops on behavioral questions than on system design. If you're at senior-plus level, the behavioral round is often the deciding signal. Don't skip those posts just because they feel "softer."

Frequently Asked Questions About the System Design Interview

How long does it take to prepare for a system design interview? For most working engineers, four to eight weeks of consistent study is enough to go from shaky to confident. If you are brand new to distributed systems, plan for two to three months. The variable that matters most is not calendar time but whether you pair reading with active practice. A structured prep plan keeps you from wasting weeks on the wrong topics.

What topics are covered in a system design interview? A typical interview touches requirements gathering, high-level architecture, data storage choices, scaling strategies, caching, load balancing, and trade-off discussion. Senior loops add distributed systems concepts like consistency, replication, and partitioning. The 25 fundamental concepts guide covers the full checklist interviewers expect you to know.

How many system design questions should I practice? Depth beats breadth. If you can design six to eight common systems end to end without notes (a news feed, a URL shortener, a chat app, a ride-sharing service, and a couple of storage-heavy systems), you can handle most variations you will be asked. Work through the case studies actively rather than reading dozens passively.

What is the difference between high-level design (HLD) and low-level design (LLD)? High-level design is about the overall architecture: the services, data stores, and how components communicate at scale. Low-level design zooms into a single component: its classes, APIs, and data structures. Most FAANG system design rounds are HLD-focused, while LLD shows up in object-oriented design questions like the parking lot.

Do entry-level or junior engineers get system design interviews? Increasingly, yes, though the bar is lower. Junior candidates are usually asked to reason about a simple design and show they understand core concepts, not to architect a billion-user system. If you are early in your career, start with the beginner's guide and focus on fundamentals before case studies.

How is a system design interview scored? Interviewers grade a structured conversation, not a single correct diagram. They look for whether you clarify requirements, make reasonable estimates, justify your choices, surface trade-offs, and adapt when constraints change. Strong candidates drive the discussion and reason out loud. The scoring rubric breakdown explains exactly what each signal looks like.

What is the best way to practice system design interviews? Read one walkthrough to see the shape of a good answer, then design the same system from a blank page out loud, ideally with a mock partner or a recording. Reviewing your own explanation reveals gaps that silent reading hides. Mock interviews that mirror a real company loop, like this Amazon mock guide, are the fastest way to improve.

Are system design interviews the same at every company? The fundamentals are the same, but the emphasis differs. Google leans on scalability and algorithmic depth, Amazon threads its Leadership Principles through the round, and Meta runs a distinct product architecture interview. Read the company-specific guide for your target before the loop and tune your approach to its rubric.

Final Thoughts

The system design interview has a reputation for being mysterious, unfair, and unknowable. It isn't. It's a structured conversation with a clear rubric, and like any structured conversation, you can prepare for it systematically. Everything in this library, the roadmaps, the fundamentals, the case studies, the company-specific guides, exists because I've seen the same patterns show up in hundreds of candidate debriefs, and I've watched engineers go from "I have no idea where to start" to "I just accepted the offer" by working through this material in the right order.

If you read one post from this list, make it the system design roadmap. If you read two, add the 25 fundamental concepts post. From there, let the categories above guide you based on your level and your target company.

And if you're interviewing soon, I mean this genuinely, good luck. You've got this. The fact that you're reading a full index of system design articles already puts you ahead of most of the candidates you'll be competing against.

Bookmark this page. Share it with a friend who's prepping. And when you land the offer, come back and tell me about it. Those stories are the reason I keep writing.

System Design Interview
System Design Fundamentals

What our users say

Ashley Pean

Check out Grokking the Coding Interview. Instead of trying out random Algos, they break down the patterns you need to solve them. Helps immensely with retention!

Steven Zhang

Just wanted to say thanks for your Grokking the system design interview resource (https://lnkd.in/g4Wii9r7) - it helped me immensely when I was interviewing from Tableau (very little system design exp) and helped me land 18 FAANG+ jobs!

Nathan Thomas

My newest course recommendation for all of you is to check out Grokking the System Design Interview on designgurus.io. I'm working through it this month, and I'd highly recommend it.

More From Designgurus
Annual Subscription
Get instant access to all current and upcoming courses for one year.

Access to 50+ courses

New content added monthly

Certificate of completion

$31.08

/month

Billed Annually

Recommended Course
Grokking the Object Oriented Design Interview

Grokking the Object Oriented Design Interview

60,269+ students

4.2

Learn how to prepare for object oriented design interviews and practice common object oriented design interview questions. Master low level design interview.

View Course
Join our Newsletter

Get the latest system design articles and interview tips delivered to your inbox.

Read More

Top 10 System Design Interview Questions — With Detailed Answers and Frameworks

Arslan Ahmad

Arslan Ahmad

Virtual Machines vs Containers – The Complete Beginner’s Guide

Arslan Ahmad

Arslan Ahmad

Scaling SQL Databases: 8 Challenges of Horizontally Scaling SQL Databases

Arslan Ahmad

Arslan Ahmad

Your 7-Day System Design Interview Prep Plan

Arslan Ahmad

Arslan Ahmad

Design Gurus logo
One-Stop Portal For Tech Interviews.
Copyright © 2026 Design Gurus, LLC. All rights reserved.