SYSTEM DESIGNDesign Google Search AutocompleteGoogleLinkedInTwitter
TRAFFIC LEVEL
—/4
CONSTRAINTS
Max latency (p99)< 50ms
Peak query RPS100,000
Dictionary size~10 million terms
Trie size (in RAM)~10 GB per node
Trending window1-hour sliding
Trie rebuild frequencyNightly (2am)
Compute & Network
Load BalancerDistribute traffic
API GatewayEntry point / auth
API ServerBusiness logic
Worker NodeAsync processing
CDN EdgeGlobal cache
WebSocket GatewayPersistent connections
Data Stores
PostgreSQLRelational DB
MySQLRelational DB
CassandraWide-Column DB
DynamoDBNoSQL / Managed
S3 BucketObject storage
Queues & Cache
Redis CacheIn-memory store
KafkaEvent stream
ZookeeperCoordination
Specialized
Bloom FilterProbabilistic set
Rate LimiterThrottling
Geohash ServiceGeospatial index
Trie ServerPrefix search
APNS / FCMPush notifications
AggregatorBatch / roll-up
Drag to canvas · Hover node for × to delete · Draw from handle to connect
Design your architecture
Drag components from the left panel · Connect them by drawing from a node handle · Hit Start Simulation to validate
🚨 INCIDENT
GoogleLinkedInTwitter

It's Super Bowl Sunday. Patrick Mahomes just threw a 65-yard TD at halftime. 100 million people simultaneously open Google and type 'Super Bowl score'. Your autocomplete is returning zero results for the most searched phrase in the country. The Trie was last rebuilt at 2am. 'Super Bowl score' had only 1,200 searches yesterday. It didn't make the top-5 cutoff. Your pager fired 47 seconds ago.

📥 Assigned to:You — Senior Engineer
YOUR TASK

Design an autocomplete system that returns the top-5 suggestions for any prefix in under 50ms, handles 100,000 requests/second at peak, and reflects trending searches in near-real-time — even if they weren't in last night's Trie build.

SCALE LEVELS
1
1,000 RPS
Target: <50ms
2
50,000 RPS
Target: <50ms
3
100,000 RPS
Target: <50ms
4
100,000 RPS
Target: <50ms
GLOBAL SUCCESS RATE
100.0%
P99 LATENCY
45ms
Target: < 200ms
TOTAL RPS INGESTED0 / 11,000
EngPrep — Real Engineering. Real Interviews.