System design interview questions

System design interview questions and what to cover

System design rounds are open-ended on purpose. Start with requirements and rough numbers, sketch the main components, then go deep where the interviewer pushes.

  1. 1.Design a URL shortener.

    What they're checking
    Basics: IDs, storage, caching, read-heavy traffic.
    How to answer
    Generate short IDs (a counter encoded in base62, or hashing with collision checks), store the mapping in a key-value store, cache popular links, and redirect with a 301 or 302 - and explain the difference.
  2. 2.Design a rate limiter.

    What they're checking
    Algorithms and shared state across servers.
    How to answer
    Compare token bucket, fixed window and sliding window. Keep counters in a shared store such as Redis, and decide whether to fail open or closed.
  3. 3.Design a chat application.

    What they're checking
    Real-time connections, ordering and delivery.
    How to answer
    WebSockets for live delivery, a message store partitioned by conversation, per-conversation ordering, delivery receipts, and push notifications for offline users.
  4. 4.Design a news feed.

    What they're checking
    Fan-out trade-offs.
    How to answer
    Fan-out on write (precompute feeds) for most users, fan-out on read for accounts with huge followings. Cache feeds and rank on read.
  5. 5.Design a file storage service.

    What they're checking
    Large objects, metadata and sync.
    How to answer
    Split files into chunks stored in object storage, keep metadata in a database, deduplicate by chunk hash, and sync changes rather than whole files.
  6. 6.Design a notification system.

    What they're checking
    Queues, retries and many channels.
    How to answer
    Producers write to a queue; workers per channel (email, SMS, push) send with retries and backoff; user preferences and rate limits are checked before sending.
  7. 7.Design a ride-hailing service.

    What they're checking
    Location data and matching.
    How to answer
    Drivers send locations every few seconds into a geospatial index (geohash or quadtree); match riders to nearby drivers; keep trip state in a strongly consistent store.
  8. 8.How would you scale a database that is getting slow?

    What they're checking
    Knowing the options in order.
    How to answer
    Indexes and query fixes first, then caching, read replicas, and finally partitioning (sharding) - with the cost of each step.

On a live call, Cuelyte AI hears questions like these and has an answer ready in about a second, built from your resume and notes. System design interviews: how Cuelyte AI helps

More interview questions

Get help with the question you didn't prepare for

Cuelyte AI hears the question on the call and has an answer ready in about a second, on a window hidden from screen sharing.