❯ ./playground --break-things– xp · –/6 cleared
Engineering
Playground.
Six tiny games, each about one idea that matters in production. Every one maps to a week of the course, so if you lose, you know what to read.
cache size 3 · request 1/16your hits 0 · clear at 9 · LRU gets 7
incomingGET cart:9thenuser:7feedcart:9feed
Press “next request”. On a miss with a full cache, you pick the victim.
24 keys
3 nodes
3 nodes
Traffic doubled. Add a 4th cache node by clicking a + on the ring. Each key belongs to the next node clockwise.
- n18 keys
- n22 keys
- n314 keys
Busiest node holds 14 keys. One placement: find the spot that brings the busiest node down to 8.
payments → bank-api · tick 0/30score 0 · blocked threads 0
BREAKERCLOSED
BANK-API HEALTHunknown
Start the shift. The bank API will have a bad day at some point.
question 1/5score 0
2 billion users send 50 messages a day. Average messages per second?train 12951 · coach B2 · seats_left = 1
thread A · Ananyalocal = –
- ▶ SELECT seats_left
- IF seats_left > 0
- UPDATE seats_left = local − 1
- charge card ₹1,245
thread B · a botlocal = –
- ▶ SELECT seats_left
- IF seats_left > 0
- UPDATE seats_left = local − 1
- charge card ₹1,245
Two people hit “Book” for the last seat. You are the scheduler: step the threads in any order.
mission 1 (double-book) · · mission 2 (lock holds under a race) ·
page 1/5total MTTR 0 min
PAGERDUTY · SEV-1 · 03:12 AMError rate 12% and p99 tripled, 6 minutes after deploy v2.4.1
- › deploy v2.4.1 finished 03:06
- › 5xx only on /checkout
- › DB and cache metrics normal