| # | title | topic | type | difficulty |
|---|---|---|---|---|
| 31 | Edit distance (Levenshtein, full DP) | Interview Classics | Coding | Hard |
| 32 | deepClone that preserves cycles | Interview Classics | Coding | Hard |
| 33 | Add numbers too big for Number | Floating Point | Coding | Hard |
| 34 | All permutations, in order | Interview Classics | Coding | Hard |
| 35 | Group transactions — approach 2: reduce(), no Object.groupBy |
| Objects |
| Coding |
| Hard |
| 36 | Make c == 1 && c == 2 && c == 3 true | Type Coercion | Coding | Hard |
| 37 | The closure-in-a-loop bug, as code | YDKJS Book | Coding | Hard |
| 38 | createSpy — the test-double HOF | YDKJS Book | Coding | Hard |
| 39 | Multi-argument memoize (a Map trie) | YDKJS Book | Coding | Hard |
| 40 | Breadth-first search: shortest path | Algorithms & Recursion | Coding | Hard |
| 41 | Binary search (and where to insert) | Algorithms & Recursion | Coding | Hard |
| 42 | Head recursion vs tail recursion | Algorithms & Recursion | Coding | Hard |
| 43 | Insane Fibonacci: fib(78), recursively, in 2 seconds | Algorithms & Recursion | Coding | Hard |
| 44 | Insane FizzBuzz: no if, no ternary, no switch | Algorithms & Recursion | Coding | Hard |
| 45 | Order-preserving dedupe at scale | Patterns & Performance | Coding | Hard |
| 46 | The lazy singleton pattern | Patterns & Performance | Coding | Hard |
| 47 | Build the DOM's listener brain | DOM Events | Coding | Hard |
| 48 | Build the lifecycle harness itself | Testing Lifecycle | Coding | Hard |