Skip to main content
← Preparation Guide

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
JavaScript… / 40
React / UI… / 19

Algorithms

40 problems

Hashing and array scans

Choose the information to retain before optimizing the scan.

  1. 1Two Sum - Product Recommendationseasy
  2. 2Contains Duplicate - Duplicate Detectioneasy
  3. 3Valid Anagrameasy
  4. 4Group Anagramsmedium
  5. 5Product of Array Except Self - Recommendation Algorithmmedium
  6. 6Subarray Sum Equals Kmedium

Two pointers and windows

Identify what lets a pointer move without losing a valid answer.

  1. 7Valid Palindromeeasy
  2. 83Summedium
  3. 9Container With Most Watermedium
  4. 10Longest Substring Without Repeating Charactersmedium
  5. 11Minimum Window Substringhard

Stacks and binary search

Maintain an invariant that makes each next decision local.

  1. 12Valid Parentheses - Code Formatter/JSON Validatoreasy
  2. 13Min Stackmedium
  3. 14Daily Temperaturesmedium
  4. 15Binary Search - Efficient Searcheasy
  5. 16Search in Rotated Sorted Arraymedium

Intervals and linked lists

Reason about ordering, overlap, and pointer ownership.

  1. 17Merge Intervals - Calendar Schedulermedium
  2. 18Meeting Rooms II - Min Heapmedium
  3. 19Reverse Linked List - Navigation Historyeasy
  4. 20Linked List Cycleeasy

Tree traversal

Choose traversal order from the information each node needs.

  1. 21Maximum Depth of Binary Treeeasy
  2. 22Invert Binary Treeeasy
  3. 23Binary Tree Level Order Traversalmedium
  4. 24Validate Binary Search Treemedium
  5. 25Lowest Common Ancestor of a Binary Treemedium
  6. 26Serialize/Deserialize Binary Tree - State Persistencehard

Graphs and dependencies

Separate visited state, frontier order, and dependency constraints.

  1. 27Number of Islandsmedium
  2. 28Clone Graphmedium
  3. 29Rotting Orangesmedium
  4. 30Course Schedulemedium
  5. 31Number of Provincesmedium

Heaps and stateful structures

Compare maintaining an ordered frontier with repeatedly sorting.

  1. 32Kth Largest Element in an Arraymedium
  2. 33Top K Frequent Elements - Trending Itemsmedium
  3. 34Merge K Sorted Listshard
  4. 35LRU Cache - Browser Cache Managermedium

Backtracking and dynamic programming

Define the state and the choices before writing a recurrence.

  1. 36Subsetsmedium
  2. 37Combination Summedium
  3. 38House Robbermedium
  4. 39Coin Change - Minimum Coinsmedium
  5. 40Word Breakmedium

JavaScript

40 problems

Iteration and closures

Define callback behavior and the state that must survive a call.

  1. 41Array.prototype.map (Polyfill)easy
  2. 42Array.prototype.filter (Polyfill)easy
  3. 43Array.prototype.reduce (Polyfill)medium
  4. 44Chunk Arrayeasy
  5. 45Counter Function with Closureeasy
  6. 46Once Functioneasy

Functions and invocation

Reason about arguments, composition, and receiver identity.

  1. 47Function.prototype.calleasy
  2. 48Function.prototype.applyeasy
  3. 49Function.prototype.bindmedium
  4. 50Curry Functionmedium
  5. 51Compose Functioneasy
  6. 52Memoizationeasy

Objects and nested data

Make shape, identity, and missing-value behavior explicit.

  1. 53Lodash `get`easy
  2. 54Flatten Nested Arrays to Single Levelmedium
  3. 55Unflatten Objectmedium
  4. 56Deep Cloneeasy
  5. 57Deep Equal (Basics)easy
  6. 58Deep Merge Objectsmedium

Timers and events

Decide who owns scheduled work and how listeners are released.

  1. 59Sleepeasy
  2. 60Debounce Functioneasy
  3. 61Throttle Functioneasy
  4. 62Event Emittermedium
  5. 63setInterval Implementationeasy
  6. 64LocalStorage with Expirationmedium

Promise coordination

Track result order separately from completion order and failure.

  1. 65Promise.all Polyfillmedium
  2. 66Promise.racemedium
  3. 67Promise.allSettledmedium
  4. 68Promise.anymedium
  5. 69Promise.finally Polyfilleasy
  6. 70Promisifyeasy

Async control

Bound in-flight work and define timeout, retry, and cancellation behavior.

  1. 71Promise Limit - K Parallel Tasksmedium
  2. 72Promise Retry with Backoffmedium
  3. 73Promise Timeoutmedium
  4. 74Abortable Fetch Wrappereasy
  5. 75Async Memoizationmedium

Browser utilities

Treat the DOM and serialization formats as explicit contracts.

  1. 76Event Delegationmedium
  2. 77Get DOM Tree Heightmedium
  3. 78Traverse DOM Level by Levelmedium
  4. 79ClassNames / clsxeasy
  5. 80JSON.stringify - Simpleeasy

React / UI

19 problems

Component interaction

Start with state ownership, keyboard behavior, and a working core.

  1. 81Star Ratingeasy
  2. 82Accordioneasy
  3. 83Tabseasy
  4. 84Modaleasy

Forms and local state

Keep derived values separate from the source of truth.

  1. 85Todo Listeasy
  2. 86Auth Code Inputmedium
  3. 87Multi-Select Dropdownmedium
  4. 88Form Buildereasy

Time and async UI

Define loading, failure, stale-response, and cleanup behavior.

  1. 89Stopwatchmedium
  2. 90Progress Bareasy
  3. 91Autocompleteeasy
  4. 92Infinite Scroll Feedmedium

Nested state

Make parent-child relationships and updates predictable.

  1. 93File Explorer Treemedium
  2. 94Nested Checkbox Treemedium
  3. 95Comments Threadmedium

Data-heavy interfaces

Separate data transformations from rendering and interaction costs.

  1. 96Data Table - Sortingeasy
  2. 97Data Table - Paginationmedium
  3. 98Data Table - Row Selectionmedium
  4. 99Data Table - Virtual Scrollinghard