Practice JavaScript interview questions in your browser
The same workbench as the Practice Pad desktop app: a real code editor, the tests each question has to pass, three difficulty levels and a progress log. Debounce, throttle, Promise.all are free to practise straight away; Pro unlocks all 24 and the AI panel.
- Implement debounce in JavaScript closures, timers, higher-order functions · 9 tests · free
- Implement throttle in JavaScript closures, timers, higher-order functions · 9 tests · free
- Implement Promise.all in JavaScript promises, async coordination, error handling · 4 tests · free
- Implement JSON.stringify in JavaScript recursion, type checking, serialization · 2 tests · Pro
- Implement curry in JavaScript closures, partial application, higher-order functions · 2 tests · Pro
- Flatten an array without flat() in JavaScript recursion, nested arrays · 8 tests · free
- Implement Array.prototype.reduce in JavaScript array iteration, accumulator pattern, prototype methods · 6 tests · Pro
- Deep clone an object in JavaScript recursion, object references · 2 tests · free
- Implement Array.prototype.filter in JavaScript array iteration, this binding, prototype methods · 4 tests · Pro
- Implement an event emitter in JavaScript classes, observer pattern, closures · 2 tests · Pro
- Implement memoize in JavaScript closures, caching, higher-order functions · 6 tests · Pro
- Implement Function.prototype.call in JavaScript this binding, prototype methods, rest arguments · 5 tests · Pro
- Implement deep equal in JavaScript recursion, deep comparison · 5 tests · Pro
- Implement promisify in JavaScript promises, callbacks, this binding · 5 tests · Pro
- Implement classnames in JavaScript recursion, truthy/falsy checks · 3 tests · Pro
- Flatten a nested object in JavaScript recursion, object flattening · 2 tests · Pro
- Group and merge an array of objects in JavaScript array grouping, object immutability · 4 tests · Pro
- Limit promise concurrency in JavaScript async/await, promises, concurrency control · 7 tests · Pro
- Type checking in JavaScript type checking, prototypes · 3 tests · Pro
- Implement Promise.any in JavaScript promises, error aggregation · 4 tests · Pro
- Deep omit keys from an object in JavaScript recursion, object/array traversal, immutability · 2 tests · Pro
- Implement getElementsByTagName in JavaScript recursion, tree traversal · 2 tests · Pro
- Format a list with commas 'and' in JavaScript array methods, string formatting · 3 tests · Pro
- Filter an array of objects in JavaScript array filtering, objects · 5 tests · Pro
Loading the editor…