Review
Come back to what you answered, and practise across every system.
How evidence works
Checked evidence comes from comparing your answer with an authored key: which option you chose and how it is assessed, your verdicts on claims, your sequence, the lines you flagged.
Self-assessed evidence comes from your written reasoning. After seeing the reference, you mark which specific points your answer covered. Nothing grades your writing automatically, so it is only as honest as your marks.
Every exercise trains some of six dimensions (trace, explain, defend, change, break, implement) and touches named concepts. An exercise's signal is its weakest part.
Your data
Everything you answer is stored in this browser's local storage, with no account and no server. Export a copy to move it to another browser or keep a backup. Importing replaces what is here.
Mock interview
Explain a mechanism, make a design call, reason through a failure, and defend a system, ideally one you built. Drawn from what you have studied, with an honest debrief. For a full round on one system, open it and choose Interview.
Set up a session
Project to defend
Without a project, the last question defends a curated design instead. Describe one of yours to be asked about it.
You answer every question first. Feedback, references and self-assessment wait for the debrief, as in a real interview. The clock is a guide, not a penalty.
Past sessions
None yet. Your sessions and their debriefs will be listed here.
Claim check
Statements engineers say in design reviews. Does each hold, fail, or depend on something?
01If requests arrive at 200 per second and each takes 50 ms, about 10 are in flight on average.
Backpressure and capacity02If the provider has no record of a payment we attempted, it is safe to mark it failed immediately.
Reconciliation03Virtual nodes spread a failed node's keys across many survivors instead of one neighbour.
Consistent hashing04Sequential public ids reveal information about your business.
Generating unique identifiers05Making an endpoint asynchronous is an improvement for any operation that takes more than a second.
Asynchronous processing06Pub/sub lets you add a new consumer of an event without changing the publisher.
Publish/subscribe07Switching from client polling to server push removes polling from the system entirely.
Server push: polling, long polling, SSE, WebSockets08Once a worker's lease has expired, the worker has stopped working on the job.
Leases and fencing tokens
0 of 8 answered
Drill a skill
Every exercise that trains one skill, weakest evidence first.
Predicting what happens when a component, message, or network misbehaves.
- Debug: a customer got someone else's linkA URL shortener like bit.ly
- Take down a malicious link everywhereA URL shortener like bit.ly
- New links show as "not found" in a new regionA URL shortener like bit.ly
- How does the system learn the upload finished?A reliable video processing pipeline
- A worker dies 14 minutes inA reliable video processing pipeline
- Two workers, one jobA reliable video processing pipeline
- The video that kills every workerA reliable video processing pipeline
- Deleting a video mid-transcodeA reliable video processing pipeline