Why System Design Is Different at Google
Who Gets a System Design Round?
- L3 (new grad): Sometimes skipped, or a lighter version (design a cache, design a key-value store)
- L4/L5 (midβsenior): Always included; the weight of this round increases significantly
- L6+ (staff/principal): Multiple design rounds expected; cross-system and organisational design included
If you're interviewing for an L4+ role, system design is co-equal to coding in the hiring decision.
The Google System Design Framework (45 Minutes)
Phase 1: Requirements Clarification (5 min)
Functional requirements (what it does):
- Who are the users? Consumers? Internal tools? APIs?
- What are the core features for v1? (Scope it aggressively)
- What's out of scope?
- Scale: how many users? Daily active users (DAU)? Queries per second (QPS)?
- Latency: what's acceptable? (< 100ms? < 1s?)
- Consistency vs availability: is stale data acceptable?
- Durability: can we ever lose data?
Phase 2: Back-of-Envelope Estimation (3β5 min)
Useful numbers to memorise:
- 1 million requests/day β 12 req/sec
- 100 million DAU with 10 actions each β 11,500 req/sec (QPS)
- 1 byte photo thumbnail β 10 KB; full photo β 1β3 MB
- 1 year of storage at 1 TB/day β 365 TB β ~0.4 PB
Phase 3: High-Level Design (10 min)
- Client (mobile/web)
- API Gateway / Load Balancer
- Application servers (stateless)
- Database (primary storage)
- Cache layer (Redis/Memcached)
- CDN (for static assets or read-heavy content)
- Message queue (for async processing)
- Object store (S3-equivalent for blobs)
Google Tip: Always start with the simplest architecture that solves the problem. Add complexity only when the interviewer probes for scale.
Phase 4: Deep Dive (15β20 min)
Database design:
- Schema (tables, relationships, indexes)
- SQL vs NoSQL β when and why
- Sharding strategy (by user ID, geography, consistent hashing)
- Read replicas for read-heavy workloads
- What to cache (hot content, computed results, session data)
- Cache invalidation strategies: TTL, write-through, write-behind, cache-aside
- Cache eviction: LRU, LFU
- RESTful endpoints with clear naming
- Pagination (cursor-based vs offset)
- Rate limiting
- What happens when a server dies? (Stateless services + load balancer)
- What happens when the database dies? (Replica failover)
- What happens when a message is processed twice? (Idempotency)
Phase 5: Trade-offs & Bottlenecks (5 min)
- Strong vs eventual consistency β Google Spanner vs Cassandra pattern
- SQL vs NoSQL β relational integrity vs horizontal scale
- Fan-out on write vs fan-out on read β relevant for news feed / notification systems
- Synchronous vs asynchronous processing β latency vs reliability
The 7 Google System Design Topics You Must Know
1. Design Google Search / Typeahead
Key components: Web crawler, inverted index, query processing pipeline, ranking layer, typeahead/autocomplete service (Trie or Elasticsearch). Focus areas: How to build and update the index at web scale; how typeahead serves sub-50ms responses globally (caching popular prefixes).2. Design YouTube / Video Streaming
Key components: Upload service, transcoding pipeline, CDN, video metadata DB, recommendation engine. Focus areas: Chunked upload and resumable uploads; transcoding at scale (multiple resolutions); CDN edge caching for popular videos; adaptive bitrate streaming.3. Design Google Maps / Routing
Key components: Map tile storage, geospatial index (quadtree/geohash), routing engine (Dijkstra/A* with live traffic), ETA service. Focus areas: How to efficiently store and serve map tiles at zoom levels; how real-time traffic data is ingested and factored into routing; geospatial data structures.4. Design a Distributed Cache (Memcached/Redis)
Key components: Consistent hashing for node distribution, eviction policies, replication for durability. Focus areas: Consistent hashing to minimise cache misses when nodes join/leave; hotspot mitigation; write-through vs write-behind vs cache-aside patterns.5. Design a Rate Limiter
Key components: Token bucket or sliding window counter, Redis for distributed state, API gateway integration. Focus areas: Token bucket (smooth bursting) vs sliding window (precise limits); how to implement at distributed scale without a single Redis node becoming a bottleneck; rate limiting per user vs per IP vs per endpoint.6. Design a Notification System
Key components: Event producer (app servers), message queue (Kafka/Pub-Sub), notification service, delivery channels (push/email/SMS), user preference service. Focus areas: At-least-once vs exactly-once delivery; fan-out for users with many followers; respecting user notification preferences; retry logic with exponential backoff.7. Design a Web Crawler
Key components: Seed URLs, URL frontier (priority queue), fetchers, parser, deduplication store, politeness scheduler. Focus areas: URL deduplication at scale (Bloom filters); respecting robots.txt; distributed crawling with work stealing; handling dynamic JavaScript-rendered pages.Common Failure Modes at Google
1. Starting to code or draw without clarifying requirements2. Designing for a single server
3. Not sizing the system
4. Ignoring failure modes
5. Defending your design when wrong
4-Week System Design Study Plan
How Topalupu Helps with System Design
- The AI walks through the full five-phase framework with you
- It probes with exactly the questions Google interviewers ask: *"How does your system handle failures?"*, *"What happens at 10x scale?"*
- At the end, you get a detailed scorecard covering: Requirements Gathering, Architecture Quality, Deep-Dive Depth, and Trade-off Awareness