Google Software Engineer System Design Interview Questions
Master your tech interview with our curated database of real questions from top companies.
Design a key-value store
System Design: Scalable Key–Value Store with Range Scans You are asked to design a distributed key–value (KV) store that supports the following operat...
Design distributed log storage service
Design a Distributed Append-Only Log Storage System You are asked to design the storage layer of a distributed, partitioned, replicated append-only lo...
Design at-least-once notification delivery
System Design: At-Least-Once Notification System Context Design a multi-channel notification platform (email, SMS, push, in-app) that guarantees at-le...
Design executable notebook service APIs
Design: Collaborative Notebook with Executable User Functions (JAR Upload) Context Design a collaborative, browser-based code notebook service. The sy...
Design an elevator control system
Elevator Control System Design (N floors, M elevators) Context You are designing a multi-elevator control system for a building with N floors (1..N) a...
Design school-to-guardian messaging with acknowledgments
System Design: Guardian Acknowledgement Messaging Platform Context Design a system that enables school staff to send messages to students' guardians, ...
Design relational-to-NoSQL migration pipeline
System Design: Migrate From Relational DB to a NoSQL Key-Value Store with Snapshot + CDC Context You need to migrate data from an OLTP relational data...
Make algorithm code production-ready
Productionizing a Sliding-Window String Algorithm Context: You have implemented a correct sliding-window algorithm for a classic string task (e.g., lo...
Diagnose distributed database inconsistency
Distributed Database Incident: Inconsistent Replicas You are on-call for a distributed database that serves production traffic. Dashboards show data i...
Design distributed transactions protocol
System Design: Distributed Transactions Across Multiple Services Context You must design a distributed transactions protocol to coordinate updates acr...
Design high-throughput event subscription system
Design an Event Ingestion and Subscription System Context You are asked to design a horizontally scalable platform where producers send high-volume ev...
Design distributed message queue service
Design a Distributed Message Queue for High Throughput and Large Payloads Context You are asked to design a distributed message queue system that supp...
Design key management service
Design a Key Management Service (KMS) You are asked to design a production-grade, multi-tenant Key Management Service. A client provides a key identif...
Design a distributed rate limiter
Design a Rate Limiter with Burst Allowance and Distributed Coordination Context You are designing a rate limiter for an API gateway that serves high Q...
Design quota enforcement for high concurrency
System Design: Quota Enforcement Service at Very High QPS Context You are designing a multi-tenant quota and rate-limiting service used by many backen...
Design viewing history and resume service
Design: Watched-Video and Resume Playback Service Context Design a backend service that records each user’s watched video list and lets them resume an...
Design deduplicated file storage on filesystem
System Design Task: Filesystem-Only, Multi-tenant, Deduplicated File Storage You are asked to design a multi-tenant file storage service with the foll...
Design task scheduler with dependencies
Design a Distributed Task Scheduling Infrastructure Context Design a distributed task scheduling and orchestration system that can run at scale, suppo...
Design line-preserving file chunker pipeline
System Design: Pack Text Lines into Exact 100 MB Output Files Design a data pipeline that reads many text files of varying sizes and emits output file...
设计广告投放管理面板
设计题:广告投放管理面板(前端系统设计 + 端到端一致性) 背景与目标 为广告运营团队设计并实现一个 Web 管理面板,用于查看与操作广告活动(Campaign)及其广告组(Ad Group)。 基础功能 1. 展示广告活动列表(包含名称、状态、预算)。 2. 按状态筛选(running、pause...