~/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
Simulation & OOP design
Model the rules precisely, keep it extensible.
49 problems
Practical systems
Simulation & OOP design Model the rules precisely, keep it extensible.
Simulation
- Basics: robot on a walled grid (state + step loop) basics easy
- Rain barrel log py · c++ · java easy
- Game of Life: in place, then on an infinite board 2 levels Citadel medium
- Walking Robot Simulation py · c++ · java easy
- Spiral Matrix py · c++ · java easy
- 2048 moves and a 64-bit board encoding 2 levels Citadel medium
- OA: Connect-N on an unbounded board 2 levels Jane Street py · c++ · java medium
- Days between two dates (no datetime) Optiver py · c++ · java easy
- Multicore overheat prevention controller Optiver py · c++ · java hard
- Text box formatter Airbnb py · c++ · java medium
- Tetris block drop Databricks py · c++ · java medium
- Popping bubbles until the board settles eBayPinterest py · c++ · java medium
- Riding scooters down the street Pinterest py · c++ · java easy
- Word search in a straight line Uber py · c++ · java medium
- Data labeling task scheduler 3 levels OpenAI medium
- Wrap articles for a narrow screen Airbnb py · c++ · java medium
- Pick the elevator that answers a call Pinterest py · c++ · java easy
- Design Snake Game py · c++ · java easy
Object-oriented design and extensible simulations
- Basics: a bank account class with invariants basics easy
- Greenhouse watering rota easy
- OA: Recipe manager with versions 4 levels Anthropic medium
- OA: Task manager with quotas and history 5 levels Anthropic py · c++ · java medium
- OA: Dasher pay from an event stream 3 levels DoorDash medium
- OA: Debug the dasher picker, then hash-ring it 2 levels DoorDash medium
- Chat bot system refactor 4 levels OpenAI medium
- Monster team battle 3 levels OpenAI easy
- Hot-air balloon festival stability tracker Optiver py · c++ · java medium
- News subscriptions with rate limits Optiver hard
- PowerBank racks and cells 3 levels Optiver py · c++ · java hard
- Squirrel nut storage tracker 3 levels Optiver medium
- OA: Retriable function 3 levels Airbnb medium
- OA: Crypto trading system 2 levels Coinbase medium
- OA: Crypto order management system 2 levels Coinbase py · c++ · java medium
- OA: Transaction query filters and pagination 3 levels CoinbaseLyft medium
- OA: Food delivery system 2 levels Coinbase easy
- OA: Dual circuit breakers 2 levels Databricks medium
- OA: Lazy array with deferred maps 2 levels Databricks medium
- OA: Referral Credit Tracker 2 levels DatabricksUber py · c++ · java medium
- OA: K-in-a-row with validation and undo 2 levels Databricks medium
- OA: Object Field Offset Manager 3 levels Jane Street medium
- Note-taking system with timestamps and search 2 levels easy
- OA: Deal, sort and play tricks 2 levels OpenAIScale AI medium
- OA: Three-card game 2 levels OpenAI easy
- OA: Design access system 2 levels Pinterest py · c++ · java medium
- Follow graph with snapshots and recommendations 4 levels OpenAI medium
- OA: Text editor with a clipboard, undo and several documents 4 levels py · c++ · java hard
- OA: File finder with saved, combinable search rules 4 levels py · c++ · java medium
- OA: Parking garage with fees and reservations 3 levels py · c++ · java medium
- OA: Shop inventory with timed holds and backorders 4 levels py · c++ · java hard