← All companies

Google

53 design problems known to be asked at Google.

Easy6
Medium37

Design a URL Shortener

The canonical system-design interview, built end to end: how tiny.co/aB3xK9 becomes a database lookup in single-digit milliseconds — base62, key generation, the read-heavy cache, and the scale math that makes 7 characters last a century.

Asked at Amazon, Google, Microsoft +2
·20 min read
Hard10

Design a Chat System

WhatsApp-scale messaging, built end to end: persistent WebSocket gateways, a user→server registry, store-and-forward for offline devices, the one-tick / two-tick / blue-tick delivery state machine, message ordering, and group fan-out. Drive the delivery protocol yourself, then take it apart.

Asked at Meta, WhatsApp, Slack +3
·14 min read

Design a Distributed Rate Limiter

Picking token bucket vs sliding window is the easy part. The real interview is what happens when the limiter runs on fifty machines: where the counter lives, why 'local counters' quietly lets 50× your limit through, and how to enforce one global cap without a round-trip on every request.

Asked at Stripe, Cloudflare, GitHub +2
·17 min read

Design a News Feed

The Twitter/Instagram timeline, worked end to end. The whole system pivots on one decision — do you build a follower's feed when someone posts (push), or when they open the app (pull)? Toggle between them, watch the write and read cost flip, and see why one celebrity breaks the naive answer.

Asked at Meta, Twitter, Instagram +3
·13 min read

Storage Engines: LSM-Trees vs B-Trees

Every database makes one foundational choice — how to lay bytes on disk. B-trees update in place; LSM-trees never overwrite, they append and compact. That single decision sets your write throughput, read latency, and space usage. Drive an LSM write path — memtable, flush, compaction — and see the tradeoff for yourself.

Asked at Google, Meta, Amazon +3
·14 min read