Practice. Ship. Repeat.
Hand-picked problems across 6 languages — banking, e-commerce, analytics, system design. Run them right in your browser; ask AI when stuck.
FizzBuzz (Marketing Dashboard)
Print 1..n. Replace multiples of 3 with 'Fizz', multiples of 5 with 'Buzz', both with 'FizzBuzz'.
Implement Debounce
Write `debounce(fn, ms)` that returns a function which, when called repeatedly, will fire `fn` only once `ms` milliseconds have passed since the last call. This is the pattern behind 'search-as-you-type' that doesn't hammer the server.
Flatten Nested Array to Depth N
Implement `flat(arr, depth)` without using the built-in `Array.prototype.flat`.
Implement Promise.all
Write `myAll(promises)` that returns a promise resolving to the array of results in input order, OR rejects with the first rejection. Without using Promise.all.
Build an EventEmitter
Implement a Node-style EventEmitter with `on`, `off`, `emit`, and `once`. Foundation of every pub/sub system.
