System Design Interview Questions
Practice the exact questions companies are asking right now.
Design a coffee ordering system
System Design: Coffee Ordering System Design a system for a coffee shop (or chain) that supports ordering drinks. Core use cases - Customer browses me...
Design a single-node persistent in-memory cache
Scenario Design a single-machine cache used by a web service to handle read/write requests. The cache should: - Store key/value pairs in memory (fast ...
Design a sandboxed cloud IDE
System design: Sandboxed cloud IDE (Colab-like) Design a multi-tenant, browser-based cloud IDE/notebook that lets users run code in an isolated sandbo...
Design an ads audience targeting system
Problem Design an ads audience targeting system that allows advertisers to upload large user lists and then target (or exclude) those users when servi...
Design a distributed crossword fill solver
Scenario You are building a service that fills a crossword-like grid with words. - The board size is not specified; assume a medium board around 50×50...
4.2 Design a Collaborative Document Editor
Real-time collaborative editing is one of those features that feels magical when it works — and absolutely nightmarish to build from scratch. Google D...
Design centralized log ingestion and query system
Problem Design a system to collect, transmit, store, and query application/data logs from many services/hosts into a central data center database. Req...
Design a distributed web crawler
Problem Design a web crawler that starts from one or more seed URLs and continuously discovers and fetches pages. Requirements - Inputs: One or more s...
Design a donation service for a 3‑day charity
System Design Prompt You are designing an online donation service for a 3-day charity campaign. Requirements - Donors can: - Select a charity campai...
Model data for an ads platform
Problem Design a data model for an online advertising system that supports creating ads and analyzing delivery/performance. Core product needs The sys...
Design a banking system with payments and merging
Design a banking system (progressive requirements) Design the backend for a simplified banking system that supports accounts, money movement, schedule...
Design a rate limiter
Problem: Design a Rate Limiter Design a rate limiting service to protect an API from abuse and to provide fair usage. Requirements - The API gateway (...
Design a real-time chat system with hot groups
Design a real-time chat system (similar to an in-app messaging feature) that supports: - 1:1 and group conversations - Real-time delivery over WebSock...
Design an async API with idempotency
System Design: Asynchronous API Call With Idempotency Design an HTTP API that triggers a long-running operation (seconds to minutes) against downstrea...
Design a food delivery system
Design a food delivery platform (similar to common restaurant delivery apps). Core user stories 1. Customers can browse restaurants/menus, place an or...
Design a payment processing system
Scenario Design a backend payment system for an online product that supports: - One-time charges and refunds. - Idempotent payment APIs (clients may r...
Diagnose why a scaled system became slow
You are on-call for a production service that recently scaled up (more instances, more users/traffic). After the scale-up, users report the system is ...
Design a scalable search service with sharding
Technical Design: Search + Sharding Trade-offs Design a search service that lets users query documents/products with keywords. Functional requirements...
Design an analytics dashboard for an AI chat app
Scenario Design an analytics dashboard for a ChatGPT-like AI chat product. The dashboard is used by Product/Engineering/Support to monitor product hea...
Design a CI/CD system with stuck-job handling
Scenario Design a CI/CD platform similar to GitHub Actions/Jenkins that: - Triggers pipelines on events (e.g., push/PR/merge). - Runs pipelines as a D...