~/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.
Practical systems
Iterators & parsers
Lazy sequences, tokenizers and tiny interpreters.
18 problems
Practical systems
Iterators & parsers Lazy sequences, tokenizers and tiny interpreters.
Iterators and generators
- Basics: an iterator class that yields chunks basics easy
- Collapse repeated sensor readings easy
- OA: Weighted data batcher with checkpointing 3 levels Anthropic medium
- Merge K sorted streams 2 levels Citadel medium
- OA: Resumable iterators (list, 2D, 3D, file) 4 levels OpenAI medium
- OA: Flatten a 2D array, with remove 2 levels Airbnb py · c++ · java easy
- Interleave Iterator with Cycle Coinbase py · c++ · java medium
- Iterator with Filter Coinbase easy
- Range Iterator Coinbase py · c++ · java easy
- OA: Snapshot Set Iterator 2 levels Databricks hard
Parsers and interpreters
- Basics: tokenize an arithmetic expression basics easy
- Parse a label printer's key=value line easy
- ML config loader: inherit, override, interpolate, validate 4 levels Anthropic medium
- Toy language type inference 3 levels OpenAI medium
- Validate edge pairs and print the S-expression Optiver py · c++ · java medium
- URL Query Parameter Parsing Airbnb easy
- Evaluate String Expression GoogleUber py · c++ · java medium
- OA: Subword tokenizer: train, encode, decode 3 levels py · c++ · java medium