Pick a task
Each one is a concrete situation with numbers. There is no single right answer — your design is judged against the stated requirements, and anything extra counts against you.
- warm-upThree servers and a load balancer
One app, three servers, nothing clever. Four components are the whole answer.
- asyncPhoto recognition behind a slow vendor
A vendor that takes three to seven minutes, offers no callback, and fails two per cent of the time.
- consistencyTwo hundred seats, five thousand buyers
Two hundred seats, five thousand buyers in the same two seconds, and a payment provider that takes its time.
- reliabilityWebhooks that will not stop arriving
Two seconds to answer, five retries, and the same event arriving twice.
The service is new and the pool is small on purpose — more get added as they are written. A task earns its place only once its failure modes can be named in a phrase, which takes a while. Check back for new ones.