Skip to main content

How to use System Design School

Source: primer, study guide, NFRs, problems list.

Use SDS for vocabulary and method. Do not binge their problem list. After the primer, run mocks by difficulty: webhook (easy), rate-limiter (medium), payment-system / robinhood (harder). Domain-shaped boards: voting, vrm, ingest.

The SDS failure mode is a cookie-cutter Kafka+Redis diagram that dies under “what if the feed is late?”


Do / re-read until you can teach it standing up​


Skim in one sitting, do not drill​


Closest SDS analogs (drill these, not news feeds)​

We picked SDS problems that match a correctness / external-books / multi-tenant bar, not consumer fan-out:

SDS problemDifficultyWhy it transfersMock
Design WebhookEasyExternal push. Ack vs apply, duplicates, HMAC.webhook
Design a Distributed Rate LimiterMediumTenants, protect upstream APIs, fail-open vs closed, hot key.rate-limiter
Design a Payment SystemHardProvider cannot join your txn. Idempotency, ledger, in-doubt.payment-system
Design RobinhoodHardLossy live quotes vs exactly-once ledger.robinhood

Patterns underneath: multi-system sync, saga, rate limiting. Not news feeds. Method: Method. Domain mapping: Domain.

Optional extra: Ticketmaster (deadline hotspot — already covered by voting). Job scheduler is SDS hard — skip unless you have time.