JavaScript · Live coding roadmap

Implement the contract—not just the happy path.

Ten guided tasks for practicing closures, identity, object graphs, events, asynchronous coordination, caching, and the trade-offs expected in senior frontend interviews.

10planned walkthroughs
25–55minute interview scope
4skill groups
The solution method

Contract. Invariants. Baseline. Edge cases. Explain.

Each walkthrough will begin with a finishable implementation, then add correctness and production requirements without hiding the language mechanics behind a library.

Practice roadmap

Ten tasks that reveal JavaScript reasoning

The roadmap progresses from function wrappers and structural data to asynchronous orchestration and stateful data structures. Articles will become clickable as they are published.

Your progress0 of 2 articles · 0%
0%
01Available

Debounce with cancel and flush

Build debounce from its closure and timer model, then preserve arguments, dynamic this, cancellation, and explicit flush behavior.

  • Closures
  • Timers
  • Function APIs
Intermediate25–40 min
Read the walkthrough →
02Available

Throttle with leading and trailing calls

Limit execution frequency while retaining the latest call and making leading, trailing, and cancellation semantics explicit.

  • Scheduling
  • Closures
  • Time windows
Advanced30–45 min
Read the walkthrough →
03Article planned

Memoize with configurable cache keys

Cache results without confusing falsy values, argument identity, serialization, promise failures, or invalidation policy.

  • Maps
  • Identity
  • Caching
Intermediate25–40 min
04Article planned

Deep clone

Clone recursive data while handling circular references and explaining prototypes, descriptors, built-ins, and structuredClone.

  • Recursion
  • WeakMap
  • Object model
Advanced35–50 min
05Article planned

Deep equality

Compare nested values with deliberate primitive semantics, own-key handling, circular-pair tracking, and clear scope boundaries.

  • Equality
  • Recursion
  • Graph pairs
Advanced35–50 min
06Article planned

Event emitter

Design on, off, once, and emit while preserving listener order and defining mutation, errors, and reentrancy during emission.

  • Callbacks
  • Maps
  • Reentrancy
Intermediate30–45 min
07Article planned

Implement Promise.all

Coordinate an iterable of values and promises while preserving input order, handling empty input, and rejecting predictably.

  • Promises
  • Iterables
  • Ordering
Intermediate25–40 min
08Article planned

Concurrency-limited promise pool

Schedule asynchronous task functions under a strict concurrency limit with ordered results and an explicit failure policy.

  • Queues
  • Concurrency
  • Backpressure
Advanced40–55 min
09Article planned

Retry with backoff and cancellation

Retry only eligible asynchronous failures with bounded delays, cancellation, deadlines, jitter, and idempotency reasoning.

  • Async flow
  • AbortSignal
  • Resilience
Advanced35–50 min
10Article planned

LRU cache

Maintain recency and fixed capacity with efficient reads, updates, and eviction using Map or a hash map plus linked list.

  • Map
  • Linked list
  • Invariants
Advanced35–50 min