Question Library

General

Curated system design questions available for realistic interview practice.

Denoising System for Audio

Design a system that removes noise from audio streams and audio files. The system should support both real-time low-latency use cases (e.g., video calls) and high-quality batch processing (e.g., post-processing of uploaded videos). Consider accuracy, latency, throughput, model deployment, monitoring, and upgrade paths.

MEDIUM

Design a Distributed LRU Cache

Design a distributed Least-Recently-Used cache that supports low-latency reads and writes across multiple cache servers while preserving clearly defined eviction semantics through scaling and failures.

MEDIUM

Design A Live Polling System

Design a live voting service that can handle high-volume, real-time voting during major events like the Super Bowl. The service should allow viewers to cast votes (e.g., predicting which team will win) and display the results in real-time.

EASY

Design a Parking Garage Booking System

Design a reservation and payment system for a parking garage that allows users to reserve parking spots in advance and pay for them online.

EASY

Design a Payment Gateway

Design a payment gateway system similar to Stripe or PayPal that allows businesses to process online payments securely and reliably.

HARD

Design AWS S3

Design a distributed storage system similar to AWS S3 or Azure Blob Storage that allows users to store and retrieve files of any size in the cloud with high durability and availability.

HARD

Design Distributed Database

Design a distributed database system that can scale beyond the capacity of a single machine. You have a SQL database with a single table that is growing beyond what one machine can handle, and you need to design a solution to distribute this data across multiple machines.

HARD

Design Dropbox / Google Drive

Design a system like Dropbox, iCloud, or Google Drive that allows users to upload, download, and synchronize files across multiple devices. The system should be reliable, user-friendly, and able to handle a large number of users and files.

EASY

Design GitHub Code Hosting

Design a GitHub-like code-hosting platform. Users should be able to create repositories, push and fetch Git objects, manage branches, review and merge pull requests, and collaborate safely on repositories ranging from small projects to very large monorepos.

MEDIUM

Design Google Docs

Design a collaborative text editor similar to Google Docs that allows multiple users to edit the same document simultaneously in real-time.

HARD

Design Google Search

Design a web search engine that allows users to search for relevant websites across the internet, similar to Google.

HARD

Design Notification System

Design a notification service that can deliver real-time notifications to users across multiple devices while ensuring scalability and reliability.

MEDIUM

Design Simple E-commerce Website

Design an e-commerce platform like Amazon. Focus on the core functionalities that enable users to search for products, add items to a cart, and place orders.

EASY

Design Task Management System

Design a Trello-like task management application. The app should allow users to create, organize, and track tasks using cards and lists, similar to Trello. The application should support a single user with multiple devices, and changes made on one device should sync to other devices in real-time.

EASY

Design TikTok

Design a backend system for a short-video mobile app (TikTok-like). The system should allow users to upload short videos (<= 1 min + caption), view a vertically-scrolling feed (personalized + follow feed), and interact with videos (likes, follows, comments). Focus primarily on backend architecture, data model, API design, and scaling to ~1M daily active users (DAU) with high read volume.

HARD

Design YouTube: scalable video upload & streaming

Design a video streaming platform similar to YouTube that allows users to upload and watch videos.

HARD

Detect Weapon Ads with ML

Design an end-to-end machine learning system to detect ads that are selling weapons. The system should ingest ads from Web and Mobile, process text, images, and video (video details skipped for storage estimates), support multiple languages, and prioritize minimizing false negatives (i.e., high recall for weapon-selling ads). It must be updatable (retrain/deploy/validate), achieve ~99.9% availability with cost awareness, and scale to roughly 100K ads/day.

HARD

Distributed Metrics Logging & Aggregation

Design a telemetry platform used by engineering teams to collect logs and numerical metrics from a large fleet of services. Teams need recent data quickly enough to investigate incidents, while also retaining selected data for historical analysis. Producers can be bursty, schemas evolve, and parts of the ingestion or storage path may fail without warning. Define the product's query and retention expectations, then explain how the platform remains trustworthy as volume grows.

EASY

Document Processing Pipeline Design

Design a document processing pipeline that ingests documents (PDFs, images, Office files), extracts text and structured fields using OCR and NLP, classifies documents, and saves structured data for search and downstream use. The pipeline should handle high volume, support accuracy monitoring and human-in-the-loop correction, and be scalable and secure.

MEDIUM

Improve YouTube Recommendation Algorithm

Design improvements to YouTube's recommendation algorithm. Focus on boosting relevance and engagement while reducing harmful or low-quality surfacing. Consider signals, model architecture, freshness, diversity, personalization, evaluation metrics, and how to serve recommendations at YouTube scale.

HARD

Log Ordered Messages System Design

Design a system that accepts messages from producers and persists them such that the messages are logged in the exact order they were produced. The system should be durable, highly available, and scalable to large message volumes. Consider trade-offs between strict ordering, throughput, latency, and fault tolerance.

MEDIUM

Next-Word Prediction System Design

Design a next-word prediction system for a mobile keyboard. It should return useful suggestions within the typing latency budget, support multiple languages, learn safely from user behavior, and continue providing a reasonable experience when the network is unavailable.

MEDIUM