TypeScript coding challenges
- Typed Greeting (Easy)
- Typed Addition (Easy)
- Is Adult (Easy)
- Optional Parameter (Easy)
- Default Parameter (Easy)
- Union Types & Narrowing (Easy)
- Count a Character (Easy)
- Format a User (Easy)
- Manhattan Distance (Easy)
- Book Reading Time (Easy)
- Optional Properties (Easy)
- Display Name with ?? (Easy)
- Sort a Readonly Array (Easy)
- Swap a Tuple (Easy)
- Tuple to Sentence (Easy)
- Opposite Direction (Easy)
- Count Finished Tasks (Easy)
- Next Traffic Light (Easy)
- Validate a Size (Easy)
- Move on a Grid (Easy)
- Active Users Only (Easy)
- Order Total from a Price List (Easy)
- Narrowing with Array.isArray (Easy)
- Keep Only Strings (Easy)
- Generic First Item (Easy)
- Last Item or Fallback (Easy)
- Wrap in an Array (Easy)
- Update with Partial (Easy)
- Count by Type (Easy)
- Optional Chaining on Nested Data (Easy)
- Classify JSON with unknown (Medium)
- Format a Table Row (Medium)
- Pick Properties (Medium)
- Omit Properties (Medium)
- Pluck with keyof (Medium)
- Changed Fields with Partial (Medium)
- Stats as a Labeled Tuple (Medium)
- Sorted Frequency Table (Medium)
- Generic uniqueBy (Medium)
- Generic sortBy (Medium)
- Shape Area (Medium)
- Result Type for Safe Division (Medium)
- Summarize UI Events (Medium)
- Permission Bit Flags (Medium)
- Parse a Query String (Medium)
- Merge a Readonly Config (Medium)
- Validate a Signup Form (Medium)
- Door State Machine (Medium)
- Cart Reducer (Medium)
- Generic Stack Class (Medium)
- Bank Account with a Private Balance (Medium)
- Payroll with Interface extends (Medium)
- Abstract Payment Methods (Medium)
- Roman Numerals Both Ways (Medium)
- Deep Merge (Medium)
- Friend Groups with Union-Find (Medium)
- Undo / Redo History (Medium)
- Sliding-Window Rate Limiter (Medium)
- Stable Priority Queue (Medium)
- Generic LRU Cache (Medium)
- Singly Linked List (Hard)
- Get a Value by Path (Hard)
- Sort Semantic Versions (Hard)
- Typed Event Emitter (Hard)
- Typed Memoize with Stats (Hard)
- Evaluate an Expression Tree (Hard)
- Trie with Autocomplete (Hard)
- Build Order with Cycle Detection (Hard)
- Find Free Time Slots (Hard)
- URL Router with Params (Hard)
- Order Pipeline with Result (Hard)
- Decode Messages from unknown (Hard)
- State Machine with Guards (Hard)
- Kanban Board Reducer (Hard)
- Implement allSettled (Hard)
- Retry with Exponential Backoff (Hard)
- Compose Async Middleware (Hard)
- Binary Search Tree with Remove (Hard)
- LFU Cache (Hard)
- Bank Ledger with Rollback (Hard)
- Inventory Commands with Undo (Hard)
- Dependency Injection Container (Hard)
- Matrix Class and Fast Power (Hard)
- Shortest Distances (Dijkstra) (Hard)
- Pack the Backpack (0/1 Knapsack) (Hard)
- Weighted Job Scheduling (Hard)
- Diff Two Objects (Hard)
- Apply Patch Operations (Hard)
- Mini Schema Validator (Hard)
- CSV Parser with Quoted Fields (Hard)
- Parse Command-Line Arguments (Hard)
- Convert Compound Units (Hard)
- Code Bracket Validator (Hard)
- Run an Async Task Graph (Hard)
- Parallel Task Scheduler (Hard)
- Maze with Keys and Doors (Hard)
- Recursive-Descent Calculator (Hard)
- Mini Template Engine (Hard)
- Spreadsheet Formulas (Hard)
- Query Engine with Typed Filters (Hard)