| # | title | topic | type | difficulty |
|---|---|---|---|---|
| 1 | Pair sum detection with .some() only | Arrays | Coding | Hard |
| 2 | Matrix validation with .every() | Arrays | Coding | Hard |
| 3 | Function composition with reduceRight | Arrays | Coding | Hard |
| 4 | Take control of ToPrimitive | Type Coercion | Coding | Hard |
| 5 | Group transactions by risk bucket |
| Objects |
| Coding |
| Hard |
| 6 | Labeled break out of nested loops | Loops | Coding | Hard |
| 7 | Write the narrowing a compiler would demand | TypeScript | Coding | Hard |
| 8 | Sum prices to the exact cent | Floating Point | Coding | Hard |
| 9 | Split a payment — never lose a cent | Payments | Coding | Hard |
| 10 | Reconcile a payment ledger | Payments | Coding | Hard |
| 11 | Python-style negative array indexes | Proxy & Reflect | Coding | Hard |
| 12 | Type-enforcing object via set trap | Proxy & Reflect | Coding | Hard |
| 13 | Make a plain object for…of-able | Loops | Coding | Hard |
| 14 | Build bind() yourself (hard binding) | YDKJS Book | Coding | Hard |
| 15 | Rebuild Array.prototype.reduce — holes and all | Arrays | Coding | Hard |
| 16 | Rebuild Array.prototype.with (ES2023) | Arrays | Coding | Hard |
| 17 | take(iterable, n) — lazy, infinite-safe | Loops | Coding | Hard |
| 18 | curry(fn) — collect arguments until arity is met | YDKJS Book | Coding | Hard |
| 19 | Reimplement == from the spec (without using ==) | Type Coercion | Coding | Hard |
| 20 | Rebuild Object.groupBy — null prototype included | Objects | Coding | Hard |
| 21 | deepEqual that survives circular references | Objects | Coding | Hard |
| 22 | memoize(fn) — cache by identity, even undefined | YDKJS Book | Coding | Hard |
| 23 | Quicksort from scratch | Sorting Algorithms | Coding | Hard |
| 24 | Merge sort — prove it's stable | Sorting Algorithms | Coding | Hard |
| 25 | Multi-key sort with a composed comparator | Sorting Algorithms | Coding | Hard |
| 26 | LRU cache with O(1) operations | Interview Classics | Coding | Hard |
| 27 | Build an EventEmitter | Interview Classics | Coding | Hard |
| 28 | Longest substring without repeats (sliding window) | Interview Classics | Coding | Hard |
| 29 | Flatten an object to dot-paths (and holes beware) | Interview Classics | Coding | Hard |
| 30 | Trapping rain water (two pointers) | Interview Classics | Coding | Hard |