190+ JavaScript and TypeScript interview questions, from implementing common library APIs, utility functions, algorithms, to building UI components and more.
DebounceImplement a function to limit how many times a function can be executed by delaying the execution of the function until after a specified time after its last execution attempt
Languages
JSTS
Number of questions
34 questions
Total time
14 hours total
Questions List
CounterWarm Up QuestionBuild a simple counter that increments whenever a button is clicked
Difficulty
Easy
Available frameworks
Users completed
8315 completed
Mortgage CalculatorBuild a calculator that computes the monthly mortgage for a loan
Difficulty
Easy
Available frameworks
Users completed
699 completed
TabsBuild a tabs component that displays a list of tab elements and one associated panel of content at a time
Difficulty
Medium
Available frameworks
Users completed
1203 completed
Todo ListBuild a Todo list that lets users add new tasks and delete existing tasks
Difficulty
Medium
Available frameworks
Users completed
2109 completed
Traffic LightBuild a traffic light where the lights switch from green to yellow to red after predetermined intervals and loop indefinitely
Difficulty
Medium
Available frameworks
Users completed
657 completed
Digital ClockBuild a 7-segment digital clock that shows the current time
Difficulty
Medium
Available frameworks
Users completed
408 completed
Job BoardBuild a job board that displays the latest job postings from Hacker News
Difficulty
Medium
Available frameworks
Users completed
436 completed
AccordionBuild an accordion component that a displays a list of vertically stacked sections with each containing a title and content snippet
Difficulty
Easy
Available frameworks
Users completed
1111 completed
Flight BookerBuild a component that books a flight for specified dates
Difficulty
Easy
Available frameworks
Users completed
517 completed
Generate TableGenerate a table of numbers given the rows and columns
Difficulty
Easy
Available frameworks
Users completed
560 completed
Progress BarBuild a progress bar component that shows the percentage completion of an operation
Difficulty
Easy
Available frameworks
Users completed
1009 completed
Progress BarsBuild a list of progress bars that fill up gradually when they are added to the page
Difficulty
Easy
Available frameworks
Users completed
535 completed
Temperature ConverterBuild a temperature converter widget that converts temperature values between Celsius and Fahrenheit
Difficulty
Easy
Available frameworks
Users completed
864 completed
Accordion IIBuild an accessible accordion component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
232 completed
Accordion IIIBuild a fully accessible accordion component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
114 completed
Analog ClockBuild an analog clock where the hands update and move like a real clock
Difficulty
Medium
Available frameworks
Users completed
181 completed
Grid LightsBuild a grid of lights where the lights deactivate in the reverse order they were activated
Difficulty
Medium
Available frameworks
Users completed
268 completed
Like ButtonBuild a Like button that changes appearance based on the states
Difficulty
Medium
Available frameworks
Users completed
341 completed
Progress Bars IIBuild a list of progress bars that fill up gradually in sequence, one at a time
Difficulty
Medium
Available frameworks
Users completed
180 completed
Star RatingBuild a star rating component that shows a row of star icons for users to select the number of filled stars corresponding to the rating
Difficulty
Medium
Available frameworks
Users completed
733 completed
Tabs IIBuild a semi-accessible tabs component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
113 completed
Tabs IIIBuild a fully accessible tabs component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
69 completed
Progress Bars IIIBuild a list of progress bars that fill up gradually concurrently, up to a limit of 3
Difficulty
Medium
Available frameworks
Users completed
112 completed
Tic-tac-toeBuild a tic-tac-toe game that is playable by two players
Difficulty
Medium
Available frameworks
Users completed
151 completed
Signup FormBuild a signup form that does validation on user details and submits to a back end API
Difficulty
Medium
Available frameworks
Users completed
272 completed
StopwatchBuild a stopwatch widget that can measure how much time has passed
Difficulty
Medium
Available frameworks
Users completed
137 completed
Transfer ListBuild a component that allows transferring of items between two lists
Difficulty
Medium
Available frameworks
Users completed
141 completed
Undoable CounterBuild a counter with a history of the values and ability to undo/redo actions
Difficulty
Medium
Available frameworks
Users completed
119 completed
Whack-A-MoleBuild a popular arcade game where players attempt to hit moles as they pop up from holes in a board
Difficulty
Medium
Available frameworks
Users completed
54 completed
Memory GameBuild a memory game where the player needs to match pairs of cards
Difficulty
Medium
Available frameworks
Users completed
57 completed
Progress Bars IVBuild a list of progress bars that fill up gradually concurrently, up to a limit of 3 and allows for pausing and resuming
Difficulty
Hard
Available frameworks
Users completed
62 completed
Tic-tac-toe IIBuild an N x N tic-tac-toe game that requires M consecutive marks to win
Difficulty
Hard
Available frameworks
Users completed
38 completed
Transfer List IIBuild a component that allows transferring of items between two lists, bulk selection/unselection of items, and adding of new items
Difficulty
Hard
Available frameworks
Users completed
40 completed
WordleBuild Wordle, the word-guessing game that took the world by storm