What to memorize
Do not memorize textbooks or SDS’s full catalog. Memorize language, method, and a few facts you can defend.
Domain recap and vocabulary: Domain. Method: Method. Mocks: Problems.
1. The SDS method — overlearn this
Vague prompt → keywords:
- Verbs → use cases, and what “correct” means
- Nouns → entities, who may write
- Adjectives → constraints; each adjective earns a component
Open every design with: where truth lives, who may see it, what the UI does when we or upstream are behind, what a team can ship in v1 vs what is a platform bet.
2. Four challenges + NFR defaults
SDS “big four.” Pick from the business, not from Twitter.
| NFR | Correctness-heavy default |
|---|---|
| Consistency | Strong on money, entitlements, accept. Eventual OK for “processing” if labeled |
| Availability | Unavailable write > wrong write on submit |
| Latency | Reads feel fast on entitled data; ingest may lag if the UI is honest |
| Scale | Not always 100M users. Pain is often burst at deadline, hot key, multi-tenant leak |
CAP in English: stale answer vs unavailable write. Money / entitlements / submit = CP. Progress dashboard can be AP if it says it is approximate.
Loan-market table: Domain NFRs.
3. Core Lego pieces
SDS building blocks: stateless services + load balancer, replication, partition, queue.
Then when lying is expensive: idempotency, outbox/saga, row-level authz, audit log, DLQ, observability on workers.
SDS master template is “write queue → workers update DB/cache → read cache.” Do not recite that as the record used to pay or vote. Cache is behind as_of / settled / snapshot id.
4. Five primer facts
- Reveal one box at a time so each is forced.
- Consistent hashing remaps ~1/N keys on resize; hash-mod-N remaps almost all.
- On partition, AP still answers (stale); CP refuses on the cut-off side.
- Optimistic lock: version column; loser retries.
- Queues are at-least-once → workers must be idempotent.
5. EM close script (every board)
Team topology → v1 cut → definition of done (authz negative tests, idempotent submit) → SLOs → on-call → exec two-hows.
6. Two stories cold
See proof stories:
- Temelio mapping layer (two ledgers + workshops).
- One Phia story: ingest off the request path or onboarding.
Skip
Framework internals, every vendor SKU, Twitter fan-out, LSM trees, Spark, Lambda/Kappa — unless they ask.