Practice library
Frontend coding challenges
Use these frontend coding challenges as part of your interview roadmap: filter by framework, difficulty, and focus area to prepare with intent.
Framework prep path
139 matches
Coding prompt
Selectors & Text: Hero Title + Lead + Emphasis (Interview Warm-up)
Coding prompt
Warm-Up: Basic Structure
Coding prompt
Create a Counter Function
Coding prompt
React Counter (Guarded Decrement)
Framework versionsOpen this challenge in your stack
Coding prompt
Sleep / Delay Promise
Coding prompt
Todo List (Component with Local State)
Framework versionsOpen this challenge in your stack
Coding prompt
Capitalize Words
Coding prompt
Check if an Object or Array is Empty
Coding prompt
Check if Two Arrays Are Equal
Coding prompt
Clamp
Coding prompt
Cleanup Bag (Dispose Subscriptions)
Coding prompt
Count Vowels
Coding prompt
Create Object with Prototype
Coding prompt
Escape HTML for Safe Text
Coding prompt
Falsy Bouncer
Coding prompt
Flatten One Level
Coding prompt
Measure Function Duration (Profiling Wrapper)
Coding prompt
Once (Function Wrapper)
Coding prompt
Shallow Clone (Object or Array)
Coding prompt
Update Array at Index (Immutable)
Coding prompt
Implement arrayForEach (no prototype mutation)
Coding prompt
Box Model: Margin, Padding, Border
Coding prompt
Contact Form with Proper Labels
Coding prompt
Data Helper 1: Get Value by Path
Coding prompt
Display & Centering: Center Inline Content
Coding prompt
Inline vs Block Elements
Coding prompt
Links and Images
Coding prompt
Lists and Navigation
Coding prompt
Positioning: Relative/Absolute Badge
Coding prompt
Querystring Helper 1: Implement `parseQueryString`
Coding prompt
Safe JSON Parse (Fallback on Error)
Coding prompt
Sum of Numbers in an Array
Coding prompt
Validate Username (Rules + Edge Cases)
Coding prompt
Create a Deferred Promise (For Async Tests)
Coding prompt
Create a Spy Function (Test Double)
Coding prompt
Promise.any (First Fulfilled)
Coding prompt
Run With a Performance Budget (Sync or Async)
Coding prompt
Create an LRU Cache (Bounded Memory)
Coding prompt
Fetch JSON with Timeout + Abort
Coding prompt
Implement `instanceof`
Coding prompt
Poll Until (with Timeout + Abort)
Coding prompt
Sanitize href URL (Block javascript: XSS)
Coding prompt
Stream to Text (ReadableStream -> string)
Coding prompt
Take Latest (Abort Previous Requests)
Coding prompt
Flexbox: Responsive Navbar
Coding prompt
Fluid Type & Spacing with clamp()
Coding prompt
Format Date in Time Zone (YYYY-MM-DD)
Coding prompt
Forms & Pseudo-classes: Focus, Invalid, Required, Helper Text
Coding prompt
Forms: Validation and Required Fields
Coding prompt
Grid: Card Gallery (2→4 Columns)
Coding prompt
Resolve package.json Exports (Import vs Require)
Coding prompt
Semantic Page Layout
Coding prompt
SEO: Essential <head> Metadata
Coding prompt
Storage TTL Cache (localStorage/sessionStorage)
Coding prompt
Tables and Accessibility
Coding prompt
Theming with CSS Variables: OS Dark Mode + Manual Override
Coding prompt
Transitions & Transforms: Lift on Hover
Coding prompt
Implement Function.prototype.bind
Coding prompt
Implement the `new` Operator
Coding promptLocked
Add Two Promises
Coding promptLocked
Delegated Event Handler (E)
Coding promptLocked
Image Slider (Dots + Previous/Next)
Framework versionsOpen this challenge in your stack
Coding promptLocked
Implement Array.prototype.filter
Coding promptLocked
Implement Array.prototype.map
Coding promptLocked
React Dynamic Table (Rows × Columns)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Like Button (Toggle + Counter)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Progress Bar (0–100 with Threshold Colors)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Star Rating Widget
Framework versionsOpen this challenge in your stack
Coding promptLocked
Reusable Child Component with @Input/@Output (Two-way Binding)
Coding promptLocked
Tic-Tac-Toe (Component State + Winner Detection)
Framework versionsOpen this challenge in your stack
Coding promptLocked
Reverse a String
Coding promptLocked
Sort Numbers with Array.prototype.sort
Coding promptLocked
Find Maximum Occurring Character
Coding promptLocked
React Tabs / Multi-View Switcher
Framework versionsOpen this challenge in your stack
Coding promptLocked
Remove Duplicates
Coding promptLocked
DOM Tree Walk 1: Collect Text Nodes
Coding promptLocked
Merge Two Sorted Arrays
Coding promptLocked
Selector Polyfill 1: Implement `matchesSimple`
Coding promptLocked
Median of Array
Coding promptLocked
Valid Anagram
Coding promptLocked
Angular Chessboard Click/Highlight (N×N Board)
Coding promptLocked
Custom setTimeout/clearTimeout Timer Manager
Coding promptLocked
Debug: Component Renders Twice on Every Update
Coding promptLocked
Delegated Event Handler (M)
Coding promptLocked
Event Emitter (Mini Implementation)
Coding promptLocked
Implement Array.prototype.reduce
Coding promptLocked
Implement Promise.all
Coding promptLocked
Invite Chips Input (Tags + Autocomplete)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Accordion / FAQ Component
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Chessboard Click/Highlight (N×N Board)
Coding promptLocked
React Dynamic Counter Buttons (Grow-on-Click)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Nested Checkbox Tree (Parent–Child Sync)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Nested Comments (Infinite Replies, Single Active Reply Input)
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Transfer List (Select + Move Between Two Lists)
Framework versionsOpen this challenge in your stack
Coding promptLocked
Debounce Function
Coding promptLocked
Throttle Function
Coding promptLocked
Vue Chessboard Click/Highlight (N×N Board)
Coding promptLocked
Autocomplete Search Bar (Hooks)
Framework versionsOpen this challenge in your stack
Coding promptLocked
Build a DOM Renderer from a Nested Object
Coding promptLocked
Clear All Timers + Render DOM Elements
Coding promptLocked
Contact Form (Component + HTTP)
Framework versionsOpen this challenge in your stack
Coding promptLocked
DOM Tree Walk 2: Find Closest Ancestor
Coding promptLocked
Find a Node in a DOM Tree (DFS/BFS)
Coding promptLocked
Find the Corresponding Node in Twin DOM Trees
Coding promptLocked
Memoization
Coding promptLocked
Multi-step Signup Form
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Filterable / Searchable User List
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Paginated Data Table
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Theme Toggle with Persisted Light/Dark Mode
Framework versionsOpen this challenge in your stack
Coding promptLocked
Selector Polyfill 2: Implement `closestSimple`
Coding promptLocked
Add Large Integers as Strings
Coding promptLocked
Check if a String Is a Palindrome
Coding promptLocked
Compose Function
Coding promptLocked
Data Helper 2: Set Value by Path
Coding promptLocked
Flatten with Depth
Coding promptLocked
Group By
Coding promptLocked
Implement lodash.get
Coding promptLocked
Implement Stack and Queue in JavaScript
Coding promptLocked
Maze Traversal (Find a Path in a Grid)
Coding promptLocked
Querystring Helper 2: Implement `stringifyQueryString`
Coding promptLocked
Recover a BST with Two Swapped Nodes
Coding promptLocked
useEffectOnce: Run an Effect Only Once
Coding promptLocked
Abortable Helpers (Timeout + Composed Abort)
Coding promptLocked
Chat UI with Streaming Response
Coding promptLocked
Concurrency-Limited Map (order-preserving)
Coding promptLocked
Delegated Event Handler (H)
Coding promptLocked
React Debounced Search with Fake API
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Shopping Cart Mini
Framework versionsOpen this challenge in your stack
Coding promptLocked
React Snake Game (Grid + Food + Collision)
Framework versionsOpen this challenge in your stack
Coding promptLocked
Curry Function
Coding promptLocked
DOM Tree Walk 3: Basic Selector Engine (Hard)
Coding promptLocked
3Sum (find unique triplets that sum to zero)
Coding promptLocked
Data Helper 3: Deep Clone with Cycles
Coding promptLocked
Deep Clone
Coding promptLocked
Deep Equal
Coding promptLocked
Modal: Native <dialog> Confirm (Accessible Naming)
Coding promptLocked
Querystring Helper 3: Implement `parseQueryStringAdvanced`
Coding promptLocked
Selector Polyfill 3: Implement `queryAllSimple` (Hard)
Coding promptLocked
Streaming NDJSON Parser (Web Streams)