Front End Engineer · Web Developer · Full Stack Engineer

Interview Practice Question Bank

Practice 190+ common front end interview questions across every major front end framework. Reference answers from ex-interviewers at FAANG.

HTML Questions

40+ HTML interview questions, including quiz-style knowledge questions and HTML coding questions.

Questions List

  • CounterWarm Up Question

    Build a simple counter which increments whenever a button is clicked
    Difficulty
    Easy
    Available Frameworks
  • Contact FormFree

    Build a contact form which submits user feedback and contact details to a back end API
    Difficulty
    Easy
    Available Frameworks
  • Holy GrailFree

    Build the famous holy grail layout consisting of a header, 3 columns, and a footer
    Difficulty
    Easy
    Available Frameworks
  • Todo ListFree

    Build a Todo list that lets users add new tasks and delete existing tasks
    Difficulty
    Medium
    Available Frameworks
  • AccordionPremium

    Build an accordion component that a displays a list of vertically stacked sections that each contain a title and content snippet
    Difficulty
    Easy
    Available Frameworks
  • Generate TablePremium

    Generate a table of numbers given the rows and columns
    Difficulty
    Easy
    Available Frameworks
  • jQuery.cssPremium

    Implement a jQuery-like function that sets the style of a DOM element
    Difficulty
    Easy
    Languages
    HTMLCSSJS
  • Progress BarPremium

    Build a progress bar component which shows the percentage completion of an operation
    Difficulty
    Easy
    Available Frameworks
  • Progress BarsPremium

    Build a list of progress bars which fill up gradually when they are added to the page
    Difficulty
    Easy
    Available Frameworks
  • Temperature ConverterPremium

    Build a temperature converter widget that converts temperature values between Celsius and Fahrenheit
    Difficulty
    Easy
    Available Frameworks
  • TweetPremium

    Build a component that resembles a Tweet from Twitter
    Difficulty
    Easy
    Available Frameworks
  • TabsPremium

    Build a tabs component that a displays a list of tab elements and one associated panel of content at a time
    Difficulty
    Medium
    Available Frameworks
  • Accordion IIPremium

    Build an accessible accordion component that has the right ARIA roles, states, and properties
    Difficulty
    Medium
    Available Frameworks
  • Accordion IIIPremium

    Build a fully accessible accordion component that has keyboard support according to ARIA specifications
    Difficulty
    Medium
    Available Frameworks
  • Analog ClockPremium

    Build an analog clock where the hands update and move like a real clock
    Difficulty
    Medium
    Available Frameworks
  • getElementsByTagNamePremium

    Implement a function to get all DOM elements which match a tag
    Difficulty
    Medium
    Languages
    HTMLJS
  • Grid LightsPremium

    Build a grid of lights where the lights deactivate in the reverse order they were activated
    Difficulty
    Medium
    Available Frameworks
  • HTML SerializerPremium

    Implement a function to serialize an object into a HTML string with indentation
    Difficulty
    Medium
    Languages
    HTMLJS
  • Identical DOM TreesPremium

    Implement a function to determine if two DOM trees are the same
    Difficulty
    Medium
    Languages
    HTMLJS
  • jQuery Class ManipulationPremium

    Implement a set of jQuery-like functions that manipulates classes on a DOM element
    Difficulty
    Medium
    Languages
    HTMLCSSJS
  • Like ButtonPremium

    Build a Like button that changes appearance based on the states
    Difficulty
    Medium
    Available Frameworks
  • Progress Bars IIPremium

    Build a list of progress bars which fill up gradually in sequence, one at a time
    Difficulty
    Medium
    Available Frameworks
  • Star RatingPremium

    Build 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
  • Tabs IIPremium

    Build a semi-accessible tabs component that has the right ARIA roles, states, and properties
    Difficulty
    Medium
    Available Frameworks
  • Tabs IIIPremium

    Build a fully accessible tabs component that has keyboard support according to ARIA specifications
    Difficulty
    Medium
    Available Frameworks
  • Text SearchPremium

    Implement a function to highlight text if a searched term appears within it
    Difficulty
    Medium
    Languages
    HTMLJS
  • Traffic LightPremium

    Build a traffic light where the lights switch from green to yellow to red after predetermined intervals and loop indefinitely
    Difficulty
    Medium
    Available Frameworks
  • Digital ClockPremium

    Build a 7-segment digital clock which shows the current time
    Difficulty
    Medium
    Available Frameworks
  • getElementsByClassNamePremium

    Implement a function to get all DOM elements that contain the specified classes
    Difficulty
    Medium
    Languages
    HTMLCSSJS
  • Progress Bars IIIPremium

    Build a list of progress bars which fill up gradually concurrently, up to a limit of 3
    Difficulty
    Medium
    Available Frameworks
  • Text Search IIPremium

    Implement a function to highlight text if searched terms appear within it
    Difficulty
    Medium
    Languages
    HTMLJS
  • Signup FormPremium

    Build a signup form that does validation on user details and submits to a back end API
    Difficulty
    Medium
    Available Frameworks
  • StopwatchPremium

    Build a stopwatch widget which can measure how much time has passed
    Difficulty
    Medium
    Available Frameworks
  • Progress Bars IVPremium

    Build a list of progress bars which fill up gradually concurrently, up to a limit of 3 and allows for pausing and resuming
    Difficulty
    Hard
    Available Frameworks
  • Table of ContentsPremium

    Implement a function to construct a table of contents from a HTML document
    Difficulty
    Hard
    Languages
    HTMLJS
Logos provided by Clearbit