JavaScript bank Machine Coding JavaScript / 27 questions Your progress 0 / 27 done Saved in this browser. Reset All 27 Medium 9 Hard 18 Hide done No questions match those filters. 01 Design and implement an EventEmitter class with `on`, `once`, `off`, and `emit` methods. Medium 02 Implement an LRU Cache with O(1) get/put using a Map and doubly linked list. Hard 03 Implement a deep clone utility handling nested objects, arrays, dates, and circular references. Hard 04 Implement a mini Promise library supporting `then`, `catch`, `finally`, and static `all`/`race`. Hard 05 Implement a basic reactive Observable class with `subscribe` and `unsubscribe`. Hard 06 Implement `debounce` with a `cancel` and `flush` method (lodash-style). Medium 07 Implement `throttle` with leading/trailing edge options. Medium 08 Implement a simple `curry` function that works for any function arity. Hard 09 Implement `compose` and `pipe` functional utilities. Medium 10 Implement a `memoize` function supporting a custom key resolver. Hard 11 Implement `deepEqual(a, b)` for deep structural comparison of two values. Medium 12 Implement a custom `EventTarget`-like pub/sub bus usable across unrelated modules. Medium 13 Implement retry logic with exponential backoff for a flaky async operation. Hard 14 Implement a task scheduler that runs a queue of async tasks with a concurrency limit. Hard 15 Implement a rate limiter (token bucket algorithm) for limiting API calls per second. Hard 16 Implement a Virtual DOM diffing algorithm (simplified) that produces a patch list between two trees. Hard 17 Implement an infinite scroll component that fetches more data as the user approaches the bottom. Hard 18 Implement a typeahead/autocomplete component with debounced search and request cancellation. Hard 19 Implement a Redux-lite store: `getState`, `dispatch`, `subscribe`, with a reducer function. Hard 20 Implement a circuit breaker pattern wrapping a flaky remote call (closed/open/half-open states). Hard 21 Implement a simple client-side templating engine that interpolates `{{variables}}` into a string. Medium 22 Implement a deep-diff utility that outputs the set of changed paths between two objects. Hard 23 Implement `Array.prototype.map/filter/reduce` from scratch as a polyfill suite. Medium 24 Implement a minimal signal-based reactive system using `Proxy` (get/set trap dependency tracking). Hard 25 Implement a drag-and-drop sortable list using native HTML5 drag events (no libraries). Hard 26 Implement a promise pool utility `promiseAllLimit(tasks, limit)` capping concurrent execution. Hard 27 Implement a cache with TTL-based expiry supporting `get`, `set`, and lazy eviction. Medium ← Previous Architecture Next → DSA in JS