Frontend interview practice
Frontend Interview Questions & Coding Practice
Practice 685 real-world questions covering JavaScript, algorithms, React, and UI components. Find a challenge by skill and difficulty, or follow a guided preparation plan for your next frontend interview.
Frontend interview practice questions
- JavaScriptCoding exercise
Memoize III
MEDIUMExtend memoize with a custom key resolver and cache controls (.clear() and .delete(key)).
25 minPremium questionPractice - JavaScriptCoding exercise
Mini Jotai Atoms
MEDIUMBuild atom-based state with primitive and derived atoms that recompute and notify subscribers on change.
25 minPractice - JavaScriptCoding exercise
Mini Redux
MEDIUMBuild a Redux core with createStore, combineReducers, and applyMiddleware over a subscribe/dispatch loop.
25 minPractice - JavaScriptCoding exercise
negate / overEvery
MEDIUMImplement negate, overEvery, and overSome — build new predicates by combining existing ones.
25 minPremium questionPractice - JavaScriptCoding exercise
partial
MEDIUMImplement partial and partialRight — pre-fill some of a function's arguments, with placeholder support.
25 minPremium questionPractice - JavaScriptCoding exercise
Promise Merge
MEDIUMImplement a function that combines the results of two promises into a single value using a merger function.
25 minPractice - JavaScriptCoding exercise
Promise Timeout
MEDIUMImplement a function that races a promise against a timer and rejects if the promise doesn't settle in time.
25 minPractice - JavaScriptCoding exercise
Promisify
MEDIUMImplement a function that wraps a Node-style error-first callback function so it returns a promise.
25 minAmazon · MicrosoftPractice - JavaScriptCoding exercise
Promisify II
MEDIUMExtend promisify so the wrapped function can override the resolved value via a custom override hook.
25 minPremium questionAmazonPractice - JavaScriptCoding exercise
Rate Limiter
MEDIUMImplement a sliding-window rate limiter that decides which task timestamps fit within the allowed quota.
25 minAnthropic · Stripe · UberPractice - JavaScriptCoding exercise
Redux Middleware (Thunk + Logger)
MEDIUMImplement the curried Redux middleware chain with working thunk and logger middleware.
25 minPractice - JavaScriptCoding exercise
Reselect Selectors
MEDIUMBuild memoized selectors that recompute only when their input selections change by reference.
25 minPractice - JavaScriptCoding exercise
Resilient Fetch Wrapper
MEDIUMWrap an async call with retries, backoff, and a per-attempt timeout so transient failures recover.
25 minPractice - JavaScriptCoding exercise
Resumable Interval
MEDIUMImplement an interval helper that exposes start, pause, and resume controls while preserving elapsed progress.
25 minPractice - JavaScriptCoding exercise
Schema Validator
MEDIUMImplement a small schema library that validates primitives and flat object shapes with composable rules.
25 minPremium questionPractice - JavaScriptCoding exercise
Schema Validator II
MEDIUMBuild a tiny schema validation library that supports chainable min and max rules on primitive types.
25 minPremium questionPractice - AlgorithmsCoding exercise
Segment Words
MEDIUMImplement a function that decides whether a string can be broken into a sequence of words from a given dictionary.
25 minAmazon · Google · Meta +1Practice - JavaScriptCoding exercise
Signals (signal / computed / effect)
MEDIUMBuild reactive signals with automatic dependency tracking so computed values and effects update on change.
25 minPractice - JavaScriptCoding exercise
Singleton
MEDIUMImplement a Singleton class that always hands back the same instance no matter how many times you construct it.
25 minPremium questionPractice - JavaScriptCoding exercise
Stale-While-Revalidate Cache
MEDIUMReturn cached data instantly, serving stale values while revalidating them in the background.
25 minPractice - JavaScriptCoding exercise
Sum
MEDIUMImplement a curried sum function that accepts numbers one call at a time and returns the running total when invoked with none.
25 minAmazonPractice - JavaScriptCoding exercise
Test Runner II
MEDIUMBuild a small test runner that supports nested describe suites and reports tests with their full spec names.
25 minPremium questionMetaPractice - JavaScriptCoding exercise
Test Runner III
MEDIUMExtend a tiny test runner with beforeEach and afterEach hooks that are inherited from outer suites.
25 minPremium questionMetaPractice - JavaScriptCoding exercise
Throttle II
MEDIUMExtend throttle with cancel and flush methods plus leading and trailing edge options.
25 minPremium questionPractice - JavaScriptCoding exercise
Form Validation Engine
MEDIUMBuild a schema-driven form validator with composable per-field rules, cross-field checks, and async validators that report all errors.
30 minAirbnb · Atlassian · StripePractice - JavaScriptCoding exercise
Curry IV
MEDIUMExtend curry with placeholder support, so arguments can be supplied in any position across calls.
40 minPremium questionPractice - JavaScriptCoding exercise
Cooperative Scheduler
HARDRun a queue of tasks in time slices, yielding control between them so the main thread stays responsive.
40 minPremium questionPractice - JavaScriptCoding exercise
Curry III
HARDImplement a curry helper that turns a variadic function into one that can be called repeatedly with any number of arguments.
40 minPremium questionQualcommPractice - JavaScriptCoding exercise
Drizzle Query Builder
HARDBuild an in-memory query builder inspired by Drizzle with table helpers, filters, sorting, and pagination.
40 minPremium questionPractice - JavaScriptCoding exercise
Drizzle Query Builder II
HARDExtend an in-memory query builder inspired by Drizzle with select projections and column aliases.
40 minPremium questionPractice - JavaScriptCoding exercise
Map Async Limit
HARDImplement an async map that processes an array with a bounded number of in-flight tasks.
40 minAdobe · Anthropic · Apple +7Practice - JavaScriptCoding exercise
Middlewares
HARDImplement an async middleware composer that chains functions Koa-style, threading a shared context through next.
40 minByteDance · TikTokPractice - AlgorithmsCoding exercise
Array Product Excluding Current
MEDIUMReturn an array where each entry is the product of every element except the one at that index, without division and in O(n).
25 minAmazon · Apple · Meta +1Practice - JavaScriptCoding exercise
Array.prototype.concat
MEDIUMImplement Array.prototype.myConcat — merge arrays and values into a new array, spreading nested arrays one level deep.
25 minApplePractice - JavaScriptCoding exercise
Array.prototype.find
MEDIUMImplement Array.prototype.find and findLast — return the first or last element matching a predicate, or undefined.
25 minPractice - JavaScriptCoding exercise
Array.prototype.flatMap
MEDIUMImplement Array.prototype.flatMap — map each element, then flatten the mapped results by one level.
25 minPractice - JavaScriptCoding exercise
Array.prototype.map
MEDIUMImplement Array.prototype.myMap — return a new array with the callback applied to each element, skipping holes.
25 minAmazon · Apple · ByteDance +2Practice - JavaScriptCoding exercise
Array.prototype.reduce
MEDIUMImplement Array.prototype.myReduce — fold an array down to one value, handling sparse arrays and missing initial values.
25 minAdobe · Amazon · Apple +4Practice - JavaScriptCoding exercise
Array.prototype.reduceRight
MEDIUMImplement Array.prototype.reduceRight — fold an array right-to-left, throwing on an empty array with no initial value.
25 minPractice - JavaScriptCoding exercise
Array.prototype.splice
MEDIUMImplement Array.prototype.splice — remove and insert elements in place, returning the removed ones, with clamped indices.
25 minPractice