🌍 System Design · subject

System Design System Design Interview Practice Syllabus

Every chapter and topic of System Design Interview Practice examined in System Design — 7 chapters, 23 topics, plus 50 flashcards written against it.

7Chapters
23Topics
0Sub-topics
~15hEst. first pass
18%Of System Design
50Flashcards

System Design Interview Practice syllabus — full chapter and topic list

Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for System Design Interview Practice in System Design, not a summary of it.

  1. The Interview Framework

    4 topics
    • Clarifying Requirements and Scope
    • Functional and Non-Functional Requirements
    • High-Level Design and API Contracts
    • Deep Dive, Bottlenecks, and Trade-offs
  2. Designing Social and Feed Systems

    3 topics
    • Design a News Feed (Facebook, Twitter)
    • Design a Social Network Graph
    • Design Instagram
  3. Designing Communication Systems

    3 topics
    • Design a Chat System (WhatsApp, Messenger)
    • Design a Notification Service
    • Design a Video Conferencing System
  4. Designing Storage and Sharing Systems

    3 topics
    • Design a URL Shortener (TinyURL)
    • Design a Pastebin
    • Design a File Storage Service (Dropbox, Google Drive)
  5. Designing Media and Streaming Systems

    3 topics
    • Design a Video Streaming Platform (YouTube, Netflix)
    • Design a Web Crawler
    • Design a Search Autocomplete System
  6. Designing Location and Marketplace Systems

    3 topics
    • Design a Ride-Sharing Service (Uber, Lyft)
    • Design a Proximity Service (Yelp, Nearby)
    • Design a Hotel or Ticket Booking System
  7. Designing High-Throughput Systems

    4 topics
    • Design a Rate Limiter
    • Design a Distributed Job Scheduler
    • Design an Ad Click Aggregator
    • Design a Payment System

System Design Interview Practice flashcards for System Design

23 of 50 cards from the System Design Interview Practice deck — real questions with worked answers.

  1. What are the four main phases of a typical system design interview?

    1) Clarify requirements and scope, 2) Estimate scale (back-of-envelope) and define functional/non-functional requirements, 3) High-level design with API contracts and data model, 4) Deep dive into components, bottlenecks, and trade-offs.

  2. In the requirements-clarification phase, what is the difference between functional and non-functional requirements?

    Functional requirements describe WHAT the system does (features, behaviors, e.g. 'user can post a tweet'). Non-functional requirements describe HOW WELL it does it (scalability, availability, latency, consistency, durability, cost).

  3. List the key non-functional requirements (NFRs) a candidate should always consider.

    Scalability, availability, latency/performance, consistency, durability, reliability/fault-tolerance, security, and cost/maintainability.

  4. Give the standard capacity-estimation formula for converting a daily active user count to average requests per second (QPS).

    $$\text{QPS}_{\text{avg}} = \frac{\text{DAU} \times \text{actions per user per day}}{86400}$$ since one day has $86400$ seconds.

  5. How do you estimate peak QPS from average QPS in capacity planning?

    Multiply by a peak factor, commonly $2\times$ to $10\times$: $$\text{QPS}_{\text{peak}} \approx (2\text{ to }10) \times \text{QPS}_{\text{avg}}$$

  6. State the CAP theorem and its practical implication for distributed system design.

    CAP theorem: a distributed system can guarantee at most two of Consistency, Availability, and Partition tolerance. Since network partitions are unavoidable, in practice you choose between CP (consistency) and AP (availability) during a partition.

  7. What is the difference between strong consistency and eventual consistency?

    Strong consistency: every read returns the most recent write (all replicas agree immediately). Eventual consistency: replicas may diverge temporarily but converge to the same value if no new writes occur; reads may return stale data.

  8. Define latency vs. throughput and give their typical units.

    Latency is the time to service a single request (units: ms). Throughput is the number of requests processed per unit time (units: QPS or requests/s). Optimizing one can trade off the other.

  9. What are the two main content-delivery strategies for a news feed, and their trade-off?

    Fan-out on write (push): precompute each user's feed at post time — fast reads, expensive writes for high-follower users. Fan-out on read (pull): assemble feed at read time — cheap writes, slower reads. Hybrid: push for normal users, pull for celebrities.

  10. In a news feed, why is a pure fan-out-on-write model problematic for celebrity accounts (the 'hotkey' problem)?

    A celebrity with millions of followers triggers millions of feed writes per post, causing write amplification and hotspots. The hybrid solution pushes to normal followers but pulls celebrity posts at read time.

  11. What data structure and store are commonly used to hold a user's precomputed news feed for fast retrieval?

    A Redis (in-memory) list or sorted set keyed by user ID, storing recent post IDs (not full posts), typically capped to a fixed length (e.g. the latest ~500-800 IDs).

  12. How is a social network's friendship/follow relationship best modeled and stored at scale?

    As a graph: nodes = users, edges = relationships. Stored in adjacency-list form (followers and following lists), often in a wide-column store or a dedicated graph database; sharded by user ID. Edges may be directed (follow) or undirected (friendship).

  13. For a social graph, how do you compute 'friends of friends' or degrees of separation efficiently?

    Use breadth-first search (BFS) over the adjacency lists. Degree of separation = BFS depth. For large graphs, bidirectional BFS from both endpoints reduces the search space from $O(b^d)$ to roughly $O(b^{d/2})$.

  14. In Instagram's design, why are images stored in object/blob storage rather than a relational database?

    Blob/object stores (e.g. S3) are optimized for large binary files, offer cheap durable storage and CDN integration, while the database stores only metadata (photo ID, URL, owner, captions). This separates heavy media from queryable metadata.

  15. What is the role of a CDN in serving photos/videos, and what metric does it optimize?

    A CDN caches static media at edge locations close to users, reducing latency and origin load. It optimizes read latency and offloads bandwidth from origin servers, improving cache-hit ratio for popular content.

  16. In Instagram, how do you generate globally unique, roughly time-sortable photo IDs across shards?

    Use a distributed ID generator like Snowflake: a 64-bit ID composed of a timestamp, a machine/worker ID, and a per-ms sequence number. This yields unique, monotonically increasing (time-sortable) IDs without a central bottleneck.

  17. What protocol is typically used to maintain a persistent connection for real-time chat message delivery?

    WebSocket (a full-duplex, persistent TCP connection). It allows the server to push messages to online clients without polling; long-polling is a fallback.

  18. In a chat system, how are messages delivered to an offline recipient?

    They are stored in a persistent message/inbox store (message queue or DB per user). When the recipient reconnects, the server pushes queued messages; a sync/pull retrieves anything missed. Delivery/read receipts track state.

  19. What database characteristics suit a chat system's message storage, and why?

    A write-heavy, horizontally scalable store like a wide-column DB (e.g. Cassandra/HBase) partitioned by (user or channel ID) with messages ordered by timestamp/message ID. It supports high write throughput and range scans of recent messages.

  20. How does a service track which server holds a user's active WebSocket connection in a distributed chat system?

    A presence/session service maps user ID → connection-server ID (stored in a fast store like Redis). To route a message, the sender's server looks up the recipient's server and forwards the message, often via a message queue or pub/sub.

  21. What are the core components of a notification service supporting push, SMS, and email?

    1) Notification producers/API, 2) a message queue for buffering and decoupling, 3) notification workers/dispatchers, 4) third-party channel adapters (APNs/FCM for push, SMS gateway, email/SMTP provider), plus a template service and rate limiter.

  22. Why is a message queue essential in a notification service?

    It decouples producers from senders, absorbs traffic spikes (buffering), enables retries with backoff for failed deliveries, and allows independent scaling of workers. It also supports at-least-once delivery with idempotency keys to avoid duplicates.

  23. How do you prevent sending duplicate notifications when using at-least-once delivery?

    Attach a unique idempotency/dedup key to each notification and store recently sent keys (e.g. in a cache/DB). Before sending, check whether the key was already processed; skip if so.

See more System Design Interview Practice flashcards →

Planning System Design Interview Practice for System Design

System Design Interview Practice is about 18% of the System Design syllabus by topic count — 23 of 130 topics, spread over 7 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 15 hours.

The heaviest chapters are The Interview Framework (4 topics), Designing High-Throughput Systems (4 topics), Designing Social and Feed Systems (3 topics) . Front-load those while your energy is high; the short chapters are better revision filler later.

Work top-down: read the chapter, then tick topics off individually rather than marking the whole chapter done. Sub-topics are where silent gaps hide.

System Design Interview Practice (System Design) FAQ

What is in the System Design System Design Interview Practice syllabus?

System Design Interview Practice is split into 7 chapters — The Interview Framework, Designing Social and Feed Systems, Designing Communication Systems, Designing Storage and Sharing Systems, Designing Media and Streaming Systems and Designing Location and Marketplace Systems, and 1 more, containing 23 topics and 0 sub-topics in total.

How many chapters are there in System Design Interview Practice for System Design?

7 chapters. System Design Interview Practice accounts for about 18% of the topics in the whole System Design syllabus (23 of 130).

How long should I spend on System Design Interview Practice for System Design?

Budget around 15 hours for a first pass through System Design Interview Practice — about 45 minutes per topic plus 12 minutes per sub-topic across its 23 topics. Add revision cycles on top.

Are there flashcards for System Design System Design Interview Practice?

Yes — a 50-card System Design Interview Practice deck. Sample cards are printed on this page, and the full deck is free in the Examius app with spaced repetition scheduling.