~/problems
Problems
Basics first, then the classics, then company-style assessments. Every problem has tests you run right here; multi-level ones unlock as you go. See the roadmap.
AI infrastructure
The plumbing around models: request batching, streaming responses, prompt caches, sampling, token limits and eval harnesses.
Main path: 7 problems, about 5 hours.
Notes
What these rounds test. Small, real systems with exact rules, built level by level, where a later level changes an earlier rule. Read every level's rules before you design level 1.
- Batching: group by count, then by time, then by a token budget.
- Streaming: input arrives in arbitrary chunks; keep a buffer and only act on complete lines.
- Caches: evict by cost (tokens), not by entry count.
- Sampling: temperature, top-k, top-p, applied in a fixed order with a seeded random source.
- Limits: sliding windows over both requests and tokens.
7 problems
Practical systems
AI infrastructure Batchers, streaming parsers, prompt caches, sampling and token limits.
- Play first: The Napkin 1-minute game Back-of-the-envelope estimates
- Napkin math code the boss 3 levels py · c++ · java easy
- Streaming response parser assessment 4 levels py · c++ · java medium
- Dynamic request batcher assessment 4 levels py · c++ · java medium
- Eval harness assessment 4 levels py · c++ · java medium
- Tokens-per-minute limiter assessment 4 levels py · c++ · java medium
- Next-token sampler assessment 4 levels py · c++ · java medium
- Prompt prefix cache assessment 4 levels py · c++ · java hard