360+ 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
Questions List
CounterWarm up questionBuild a simple counter that increments whenever a button is clicked
Available frameworks
Mortgage CalculatorBuild a calculator that computes the monthly mortgage for a loan
Available frameworks
TabsBuild a tabs component that displays a list of tab elements and one associated panel of content at a time
Available frameworks
Data TableBuild a users data table with pagination features
Available frameworks
Dice RollerBuild a dice roller app that simulates the results of rolling 6-sided dice
Available frameworks
File ExplorerBuild a file explorer component to navigate files and directories in a tree-like hierarchical viewer
Available frameworks
Modal DialogBuild a reusable modal dialog component that can be opened and closed
Available frameworks
Todo ListBuild a Todo list that lets users add new tasks and delete existing tasks
Available frameworks
Traffic LightBuild a traffic light where the lights switch from green to yellow to red after predetermined intervals and loop indefinitely
Available frameworks
Digital ClockBuild a 7-segment digital clock that shows the current time
Available frameworks
Image CarouselBuild an image carousel that displays a sequence of images
Available frameworks
Job BoardBuild a job board that displays the latest job postings from Hacker News
Available frameworks
AccordionBuild an accordion component that a displays a list of vertically stacked sections with each containing a title and content snippet
Available frameworks
Flight BookerBuild a component that books a flight for specified dates
Available frameworks
Generate TableGenerate a table of numbers given the rows and columns
Available frameworks
Progress BarBuild a progress bar component that shows the percentage completion of an operation
Available frameworks
Progress BarsBuild a list of progress bars that fill up gradually when they are added to the page
Available frameworks
Temperature ConverterBuild a temperature converter widget that converts temperature values between Celsius and Fahrenheit
Available frameworks
Accordion IIBuild an accessible accordion component that has the right ARIA roles, states, and properties
Available frameworks
Accordion IIIBuild a fully accessible accordion component that has keyboard support according to ARIA specifications
Available frameworks
Analog ClockBuild an analog clock where the hands update and move like a real clock
Available frameworks
Data Table IIBuild a users data table with sorting features
Available frameworks
File Explorer IIBuild a semi-accessible file explorer component that has the right ARIA roles, states, and properties
Available frameworks
File Explorer IIIBuild a file explorer component using a flat DOM structure
Available frameworks
Grid LightsBuild a grid of lights where the lights deactivate in the reverse order they were activated
Available frameworks
Like ButtonBuild a Like button that changes appearance based on the states
Available frameworks
Modal Dialog IIBuild a semi-accessible modal dialog component that has the right ARIA roles, states, and properties
Available frameworks
Modal Dialog IIIBuild a moderately-accessible modal dialog component that supports common ways to close the dialog
Available frameworks
Progress Bars IIBuild a list of progress bars that fill up gradually in sequence, one at a time
Available frameworks
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
Available frameworks
Tabs IIBuild a semi-accessible tabs component that has the right ARIA roles, states, and properties
Available frameworks
Tabs IIIBuild a fully accessible tabs component that has keyboard support according to ARIA specifications
Available frameworks
Progress Bars IIIBuild a list of progress bars that fill up gradually concurrently, up to a limit of 3
Available frameworks
Tic-tac-toeBuild a tic-tac-toe game that is playable by two players
Available frameworks
Birth Year HistogramBuild a widget that fetches birth year data from an API and plot it on a histogram
Available frameworks
Connect FourBuild a game for two players who take turns to drop colored discs from the top into a vertically suspended board/grid
Available frameworks
Image Carousel IIBuild an image carousel that smoothly transitions between images
Available frameworks
Pixel ArtBuild a pixel art drawing tool where users can paint pixels with selected colors
Available frameworks
Signup FormBuild a signup form that does validation on user details and submits to a back end API
Available frameworks
StopwatchBuild a stopwatch widget that can measure how much time has passed
Available frameworks
Transfer ListBuild a component that allows transferring of items between two lists
Available frameworks
Undoable CounterBuild a counter with a history of the values and ability to undo/redo actions
Available frameworks
Users DatabaseBuild a UI to filter, create, update, and delete users
Available frameworks
Whack-A-MoleBuild a popular arcade game where players attempt to hit moles as they pop up from holes in a board
Available frameworks
Memory GameBuild a memory game where the player needs to match pairs of cards
Available frameworks
Auth Code InputBuild an auth code input component that allows users to enter a 6-digit authorization code
Available frameworks
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
Available frameworks
Data Table IIIBuild a generalized data table with pagination and sorting features
Available frameworks
Modal Dialog IVBuild a fully-accessible modal dialog component that supports all required keyboard interactions
Available frameworks
Data Table IVBuild a generalized data table with pagination, sorting and filtering features
Available frameworks
Image Carousel IIIBuild an image carousel that smoothly transitions between images that has a minimal DOM footprint
Available frameworks
Nested CheckboxesBuild a nested checkboxes component with parent-child selection logic
Available frameworks
Selectable CellsBuild an interface where users can drag to select multiple cells within a grid
Available frameworks
Tic-tac-toe IIBuild an N x N tic-tac-toe game that requires M consecutive marks to win
Available frameworks
Transfer List IIBuild a component that allows transferring of items between two lists, bulk selection/unselection of items, and adding of new items
Available frameworks
WordleBuild Wordle, the word-guessing game that took the world by storm