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
Event Emitter II
MEDIUMImplement an event emitter where subscribe returns a handle whose release method removes that listener.
25 minAirbnb · ByteDance · Google +7Practice - JavaScriptCoding exercise
Function.prototype.call
MEDIUMImplement Function.prototype.myCall — invoke the function with a given `this` and a list of arguments.
25 minPractice - JavaScriptCoding exercise
Get
MEDIUMImplement a function that safely reads a nested object path and returns a default when any segment is missing.
25 minAmazon · ByteDance · TikTokPractice - JavaScriptCoding exercise
get / set
MEDIUMImplement get and set — read and write a nested value by a path like 'a.b[0].c', creating missing containers on set.
25 minPremium questionPractice - JavaScriptCoding exercise
invert
MEDIUMImplement invert and invertBy — swap an object's keys and values, grouping collisions with invertBy.
25 minPremium questionPractice - JavaScriptCoding exercise
JSON.stringify
MEDIUMImplement a function that converts a JavaScript value into its JSON string representation.
25 minAmazon · Google · Meta +4Practice - JavaScriptCoding exercise
localStorage With Expiry
MEDIUMImplement a localStorage wrapper that stores values with a TTL and returns null once an entry has expired.
25 minAnthropic · ByteDance · Coinbase +2Practice - JavaScriptCoding exercise
mapKeys / mapValues
MEDIUMImplement mapKeys and mapValues — transform an object's keys or values while preserving its structure.
25 minPremium questionPractice - JavaScriptCoding exercise
Mini Object-relational Mapper
MEDIUMBuild a simplified in-memory ORM with model delegates that expose basic CRUD operations.
25 minOpenAIPractice - JavaScriptCoding exercise
Object.assign
MEDIUMImplement Object.assign — copy own enumerable string and symbol properties from sources onto a target, skipping nullish.
25 minPremium questionPractice - JavaScriptCoding exercise
pick / omit
MEDIUMImplement pick, omit, pickBy, and omitBy — build a subset of an object by a key list or by a predicate.
25 minPremium questionPractice - JavaScriptCoding exercise
Squash Object
MEDIUMImplement a function that flattens a nested object into a single-level object using dot-delimited keys.
25 minPractice - JavaScriptCoding exercise
Turtle
MEDIUMBuild a Turtle class that tracks position and heading as you issue movement and turn commands on a 2D plane.
25 minPractice - JavaScriptCoding exercise
Type Utilities II
MEDIUMImplement helpers that accurately identify non-primitive JavaScript values such as arrays, plain objects, dates, and maps.
25 minPremium questionPractice - JavaScriptCoding exercise
Unsquash Object
MEDIUMImplement a function that rebuilds a nested object from a flat map of dot-delimited keys.
25 minPractice - JavaScriptCoding exercise
ES5 Class Inheritance
MEDIUMWire up classical inheritance the pre-class way — link prototypes with Object.create, restore the constructor, and call the superclass constructor.
30 minAmazon · Google · Meta +1Practice - JavaScriptCoding exercise
The new Operator
MEDIUMImplement newOperator — reproduce the four steps the new keyword performs, honoring the object-return override.
30 minPremium questionPractice - JavaScriptCoding exercise
instanceof
MEDIUMImplement an instanceof check — walk the prototype chain to see whether a constructor's prototype appears in it.
40 minPremium questionPractice - JavaScriptCoding exercise
Object.create
MEDIUMImplement Object.create — make a new object with a given prototype and optional property descriptors.
40 minPremium questionPractice - JavaScriptCoding exercise
Backbone Model
HARDImplement a Backbone-style Model class that stores attributes and emits change events per key.
40 minAirbnbPractice - JavaScriptCoding exercise
Deep Clone II
HARDImplement a deep clone that copies nested values and correctly handles circular references using a visited map.
40 minByteDance · TikTokPractice - JavaScriptCoding exercise
Deep Equal
HARDImplement a function that determines whether two values are structurally equal across nested objects and arrays.
40 minGooglePractice - JavaScriptCoding exercise
Mini Object-relational Mapper III
HARDBuild a simplified in-memory ORM with field selection and eagerly included related records.
40 minPremium questionOpenAIPractice - JavaScriptCoding exercise
structuredClone
HARDImplement structuredClone — deep-clone a value including Map, Set, Date, RegExp, typed arrays, and circular references.
40 minPremium questionPractice - JavaScriptCoding exercise
Styled Text Ranges IV
HARDImplement a function that patches shallow style objects over a text range without clobbering unrelated keys.
40 minPremium questionFigmaPractice - AlgorithmsCoding exercise
Balanced Brackets
EASYImplement a function that checks whether a string of brackets is properly opened and closed in order.
15 minPractice - AlgorithmsCoding exercise
Roman to Integer
EASYConvert a Roman numeral string to its integer value, handling subtractive pairs like IV and IX.
15 minAdobe · Amazon · MicrosoftPractice - JavaScriptCoding exercise
String.prototype.padStart
EASYImplement String.prototype.padStart — pad a string to a target length on the left, truncating a multi-char pad.
15 minPractice - JavaScriptCoding exercise
String.prototype.trim
EASYImplement String.prototype.trim — strip leading and trailing whitespace, including Unicode whitespace, from a string.
15 minPractice - JavaScriptCoding exercise
Base Converter
MEDIUMConvert a number's string representation between any two bases from 2 to 36 — parse the digits in the source base, then re-emit them in the target base.
25 minPremium questionPractice - JavaScriptCoding exercise
BigInt String Arithmetic
MEDIUMAdd and multiply arbitrarily large non-negative integers given as decimal strings, using digit-by-digit schoolbook arithmetic with carries.
25 minPremium questionPractice - JavaScriptCoding exercise
Caesar Cipher / ROT13
MEDIUMShift each letter by a fixed amount with wraparound, preserving case and passing non-letters through — with ROT13 as the self-inverse case.
25 minPremium questionPractice - AlgorithmsCoding exercise
Decode Message
MEDIUMImplement a function that counts how many ways a digit string can be decoded into letters using a 1 to 26 mapping.
25 minPractice - AlgorithmsCoding exercise
Edit Distance
MEDIUMCompute the minimum number of insertions, deletions, and replacements to turn one string into another — the Levenshtein distance via a 2D dynamic-programming table.
25 minPractice - JavaScriptCoding exercise
Excel Column ↔ Number
MEDIUMConvert between Excel column titles and numbers in both directions — A is 1, Z is 26, AA is 27 — the classic bijective base-26 system with no zero digit.
25 minPremium questionPractice - AlgorithmsCoding exercise
Generate Parentheses
MEDIUMGenerate every well-formed combination of n pairs of parentheses by backtracking — add an open bracket while any remain, and a close bracket only while it stays balanced.
25 minPractice - JavaScriptCoding exercise
i18n Engine
MEDIUMBuild a translation engine with nested key lookup, variable interpolation, pluralization, and locale fallback.
25 minPremium questionPractice - JavaScriptCoding exercise
ICU Message Formatter
MEDIUMParse and format ICU MessageFormat strings with plural, select, and nested argument substitution.
25 minPractice - JavaScriptCoding exercise
IPv4 / IPv6 Validate
MEDIUMValidate IPv4 dotted-quad and IPv6 addresses, handling octet ranges, leading zeros, and :: zero-group compression.
25 minPremium questionPractice - AlgorithmsCoding exercise
Longest Repeating Substring After Replacements
MEDIUMImplement a function that finds the longest substring made of one repeated character allowing up to k swaps.
25 minAmazon · Google · MetaPractice