Curated interview checklist
Frontend 99
99 essential coding problems across algorithms, JavaScript, and React / UI. Build a reusable approach for each pattern, then test it on the next problem.
Your progress
Loading progress…
Algorithms
40 problemsHashing and array scans
Choose the information to retain before optimizing the scan.
Two pointers and windows
Identify what lets a pointer move without losing a valid answer.
Stacks and binary search
Maintain an invariant that makes each next decision local.
Intervals and linked lists
Reason about ordering, overlap, and pointer ownership.
Tree traversal
Choose traversal order from the information each node needs.
Graphs and dependencies
Separate visited state, frontier order, and dependency constraints.
Heaps and stateful structures
Compare maintaining an ordered frontier with repeatedly sorting.
Backtracking and dynamic programming
Define the state and the choices before writing a recurrence.
JavaScript
40 problemsIteration and closures
Define callback behavior and the state that must survive a call.
Functions and invocation
Reason about arguments, composition, and receiver identity.
Objects and nested data
Make shape, identity, and missing-value behavior explicit.
Timers and events
Decide who owns scheduled work and how listeners are released.
Promise coordination
Track result order separately from completion order and failure.
Async control
Bound in-flight work and define timeout, retry, and cancellation behavior.
Browser utilities
Treat the DOM and serialization formats as explicit contracts.
React / UI
19 problemsComponent interaction
Start with state ownership, keyboard behavior, and a working core.
Forms and local state
Keep derived values separate from the source of truth.
Time and async UI
Define loading, failure, stale-response, and cleanup behavior.
Nested state
Make parent-child relationships and updates predictable.
Data-heavy interfaces
Separate data transformations from rendering and interaction costs.