JavaScriptReactAngularVueSvelteCSSHTMLTypeScript

JavaScript Interview Questions

440+ most important JavaScript interview questions, from library APIs and utility functions to algorithms and UI components.
Solved by ex-interviewers
Test cases
Code in browser

Questions List

JavaScript Interview GuidesExplore our starter guides to get a solid grasp of JavaScript interview prep before jumping into practice.
0/5 guides
GUIDES
  • Selection SortImplement a function that performs a selection sort
    Languages
  • StackImplement a stack data structure containing the common stack methods
    Languages
  • Count Set Bits in a Binary NumberImplement a function to find set bits in binary representation of a given integer
    Languages
  • Find Duplicates in ArrayImplement a function to check if there are any duplicate numbers in the array
    Languages
  • Find Missing Number in SequenceImplement a function to find the missing element in a sorted array
    Languages
  • Insertion SortImplement a function that performs an insertion sort
    Languages
  • Optimal Stock TradingImplement a function to find the maximum profit achievable by buying and selling a stock once
    Languages
  • Pair sumImplement a function to find two numbers within an array of integers that add up to a target integer
    Languages
  • String AnagramImplement a function to determine if two strings are anagram of each other
    Languages
  • Binary Tree Maximum DepthImplement a function to find the maximum depth of a binary tree
    Languages
  • Flip Binary TreeImplement a function to flip the nodes in a binary tree
    Languages
  • Staircase Climbing CombinationsImplement a function to find the number of ways to reach at the top of staircase
    Languages
  • Balanced BracketsImplement a function to determine if a string contains balanced brackets
    Languages
  • Binary Tree EqualImplement a function to determine whether two binary trees are equal
    Languages
  • Bit CountingImplement a function to find number of set bits from 0 to n
    Languages
  • Bit ReversalImplement a function to flip the order of the bits in a given number
    Languages
  • Linked List ReversalImplement a function to reverse a linked list
    Languages
  • String PalindromeImplement a function to determine if a string is a palindrome
    Languages
  • Linked List Detect CycleImplement a function to detect if there are cycles in a linked list
    Languages
  • Binary Tree SubtreeImplement a function to check if a binary tree is a subtree of another binary tree
    Languages
  • Linked Lists Combine Two SortedImplement a function to combine two sorted linked list
    Languages
  • Meeting CalendarImplement a function to check if all meetings can be attended
    Languages
  • Array Product Excluding CurrentImplement a function to find the product of elements in an array excluding the current element
    Languages
  • Binary SearchImplement a function that performs binary search on an array of numbers
    Languages
  • Breadth-first SearchImplement a breadth-first search algorithm that traverses a directed graph in a breadth-first manner
    Languages
  • Depth-first SearchImplement a depth-first search algorithm that traverses a directed graph in a depth-first manner
    Languages
  • Heap SortImplement a function that performs a heap sort
    Languages
  • Is the Graph a TreeImplement a function to determine if a graph is a valid tree
    Languages
  • Maximum Water Trapped Between WallsImplement a function to find the maximum water volume between two walls in an array of walls
    Languages
  • QueueImplement a queue data structure containing the common queue methods
    Languages
  • Merge SortImplement a function that performs a recursive merge sort
    Languages
  • Quick SortImplement a function that performs a recursive quick sort
    Languages
  • Topological SortImplement a function that performs a topological sort
    Languages
  • Binary Tree Level Order TraversalImplement a function to find the level order traversal of a binary tree
    Languages
  • Maximum Sum in Contiguous ArrayImplement a function to find the subarray with the maximum sum
    Languages
  • Smallest element in rotated sorted arrayImplement a function to find the smallest element in rotated sorted array
    Languages
  • Find Element in Rotated ArrayImplement a function to find an integer in a rotated sorted array
    Languages
  • Maximum Product in Contiguous ArrayImplement a function to find the subarray which has the largest product
    Languages
  • Binary Search Tree Kth Smallest ElementImplement a function to find the kth smallest node in a BST
    Languages
  • Binary Search Tree Lowest Common AncestorImplement a function to find the LCA in a binary search tree
    Languages
  • Count Islands in a GridImplement a function to count distinct islands in a 2D binary grid
    Languages
  • Delete Nth Node from End of Linked ListImplement a function to delete the nth node from the end of a linked list
    Languages
  • Distinct Paths in GridImplement a function to calculate distinct paths for a robot moving on an m x n grid
    Languages
  • Matrix ZeroingImplement a function to set matrix rows and columns to zero
    Languages
  • Merge Overlapping IntervalsImplement a function to merge overlapping intervals
    Languages
  • Most Common ElementsImplement a function to determine the most common elements in an integer array
    Languages
  • Neighborhood TheftImplement a function to find maximum money to rob without alerting police
    Languages
  • Rearrange Linked ListImplement a function to rearrange the nodes in a linked list
    Languages
  • Sum Without AdditionImplement a function to find the sum of two integers without using + and - operator
    Languages
  • Triplet SumImplement a function to find all unique triplets with distinct indices that sum to 0
    Languages
  • Validate Binary Search TreeImplement a function to validate whether a binary tree is a valid binary search tree
    Languages
  • Combinations for Target SumImplement a function to count combinations that sum to the target
    Languages
  • Course DependencyImplement a function to check if all courses can be completed given prerequisites
    Languages
  • Decode MessageImplement a function to count ways to decode a numeric string
    Languages
  • Longest Consecutive Number SequenceImplement a function to find the length of the longest consecutive number sequence
    Languages
  • Longest Increasing SubsequenceImplement a function to find the length of the longest increasing subsequence
    Languages
  • Minimum Coins for ChangeImplement a function to return minimum coins needed to make the given amount
    Languages
  • Palindromic SubstringsImplement a function to count all palindromic substrings in a string
    Languages
  • Segment WordsImplement a function to check whether a string be formed from dictionary words
    Languages
  • String Anagram GroupsImplement a function to group an array of strings into anagrams
    Languages
  • Task CoordinationImplement a function to find minimum intervals for tasks with cooldown
    Languages
  • Trie (Prefix Tree)Implement a trie-prefix-tree with insert, search, and starts with functionality
    Languages
  • Binary Tree Rebuilding from Preorder and Inorder TraversalsImplement a function to construct a binary tree from preorder and inorder traversals
    Languages
  • Disjoint IntervalsImplement a function to determine the minimum amount of removals to get non-overlapping intervals
    Languages
  • End of Array ReachableImplement a function to determine if the end of the array is reachable
    Languages
  • Find the Longest Palindromic SubstringImplement a function to find the longest palindromic substring
    Languages
  • Find Word in GridImplement a function to check the existence of a word in a grid
    Languages
  • Graph Count Connected ComponentsImplement a function to count connected components in a graph
    Languages
  • Longest Common SubsequenceImplement a function to find the longest common subsequence in two strings
    Languages
  • Longest Non-repeating SubstringImplement a function to find the length of longest substring with unique characters
    Languages
  • Longest Repeating Substring After ReplacementsImplement a function to find the longest uniform substring after up to k replacements
    Languages
  • Matrix RotationImplement a function to rotate the given matrix by 90 degrees
    Languages
  • Matrix Spiral TraversalImplement a function to traverse the matrix in spiral order
    Languages
  • Merge New IntervalImplement a function to insert a new interval in the given intervals
    Languages
  • Neighborhood Theft (Circular)Implement a function to find maximum money to rob in circular houses without alerting police
    Languages
  • Ocean FlowImplement a function returning cells with water flow to both oceans
    Languages
  • Word FinderImplement a data structure where words can be added and support wildcard searching
    Languages
  • Graph CloneImplement a function to deeply clone a connected and undirected graph
    Languages
  • Minimum Meeting Rooms NeededImplement a function to find the minimum number of required conference rooms
    Languages
  • Binary Tree Serialization and DeserializationImplement a function to serialize and deserialize a binary tree
    Languages
  • Binary Tree Maximum Total PathImplement a function to find the maximum total of nodes in a binary tree path
    Languages
  • Find Words in GridImplement a function to find all the words present in the grid
    Languages
  • Linked Lists Combine K SortedImplement a function to combine k sorted linked lists
    Languages
  • Shortest Substring Containing CharactersImplement a function to return the smallest substring of a string containing all characters from another string
    Languages
  • Extraterrestrial LanguageImplement a function to verify and return an extraterrestrial language's alphabet order
    Languages
  • Number Stream MedianImplement a function to find the median of a dynamic stream of integers
    Languages

JavaScript Interview Questions and Answers

Tired of sifting through poor-quality resources for JavaScript interview preparation? Our comprehensive collection of JavaScript interview questions and answers is your ultimate guide to mastering the skills you need for any JavaScript-based role.

Curated and answered by ex-FAANG interviewers with years of experience, our resource ensures you're prepared for a variety of challenges. Whether you're tackling algorithms, JavaScript functions, or building dynamic user interfaces, our questions are designed to reflect real-world scenarios. Each question is accompanied by detailed explanations, example solutions, and automated test cases, enabling you to refine your skills with immediate feedback.

Our resource is divided into two major categories: JavaScript Coding Interview Questions and JavaScript Quiz Interview Questions, covering a broad spectrum of topics essential for any JavaScript interview.

JavaScript Coding Interview Questions

Master critical JavaScript techniques and coding patterns with our curated list of JavaScript coding interview questions. These questions are designed to help you:

  1. Develop JavaScript data structures and algorithms: Solve challenges involving arrays, strings, linked lists, and more, sharpening your problem-solving skills with JavaScript.
  2. Create and optimize JavaScript Functions: Build modular, reusable, and efficient functions that form the backbone of scalable applications.
  3. Design user interfaces: Use JavaScript to manipulate the DOM, handle user interactions, and implement dynamic content.
  4. Handle real-world scenarios: Address challenges like API integrations, state management, and performance optimization.

Each coding question includes:

  • Example solutions: Step-by-step implementations written in JavaScript to guide you through the problem-solving process.
  • Automated test cases: Instantly validate your solutions, ensuring accuracy and correctness.
  • Best practices: Learn coding techniques that prioritize readability, maintainability, and performance.

Our in-browser coding workspace allows you to practice directly in your browser with no setup required. You'll gain hands-on experience with instant visual feedback, enhancing your understanding of JavaScript coding concepts.

Example coding questions you might encounter include:

  • How to implement a custom debounce function in JavaScript?
  • How to find the longest substring without repeating characters?
  • How to design a collapsible navigation menu dynamically?

Each challenge mimics real-world tasks, equipping you with practical skills that go beyond theory.

JavaScript Quiz Interview Questions

JavaScript quiz questions test your understanding of the language's fundamentals and intricacies. These trivia-style questions cover a wide range of topics, ensuring your readiness for interviews. Here's what you'll explore:

  1. Core JavaScript concepts: Understand key topics such as closures, scope, hoisting, and the event loop.
  2. Performance and optimization: Learn strategies for writing efficient JavaScript code and minimizing performance bottlenecks.
  3. Network and security: Gain insights into handling API requests, Cross-Origin Resource Sharing (CORS), and securing JavaScript applications.
  4. Testing and debugging: Familiarize yourself with tools and techniques for debugging JavaScript code and writing robust test cases.
  5. Advanced features: Explore concepts like async/await, Promises, and modern ES6+ features like destructuring, spread/rest operators, and modules.

Each quiz question comes with:

  • Concise answers (TL;DR): Clear and to-the-point solutions to help you respond confidently during interviews.
  • Comprehensive explanations: In-depth insights to ensure you fully understand the concepts and can elaborate when required.

Example quiz topics include:

  • How does the JavaScript event loop work?
  • What are the differences between let, const, and var?
  • How do you prevent memory leaks in JavaScript?

These questions ensure that you're not only familiar with JavaScript's syntax but also understand how to apply its features effectively in various scenarios.

Why Choose Our JavaScript Interview Questions?

  1. Credibility: All questions and answers are crafted by ex-FAANG interviewers with deep expertise in assessing candidates and building JavaScript solutions for large-scale applications.
  2. Comprehensive coverage: From algorithms and coding patterns to core concepts and advanced features, our resource spans every topic you need to master.
  3. Practical focus: Each question reflects real-world challenges, helping you develop skills that are directly applicable to your career.
  4. Interactive learning: Use our in-browser coding workspace to practice coding problems with instant feedback, simulating real interview conditions.

By leveraging this resource, you'll develop skills that go beyond typical interview preparation. You'll also gain confidence in tackling tasks like solving complex algorithms, debugging JavaScript code, and optimizing performance.

How These Questions Help You Excel

Our JavaScript interview questions are structured to help you:

  1. Master core JavaScript concepts: Strengthen your understanding of JavaScript's syntax, features, and best practices.
  2. Develop problem solving: Learn to approach challenges systematically, breaking them down into manageable steps.
  3. Gain hands-on practical experience: Practice coding problems and see your solutions come to life in our interactive workspace.
  4. Communicate effectively: Prepare to explain your thought process and solutions clearly, a crucial skill in technical interviews.

Real-World Applications

The scenarios covered in this resource aren't just theoretical. They reflect the types of challenges developers face daily, such as:

  • Designing efficient algorithms to process large datasets.
  • Writing reusable JavaScript functions for scalable applications.
  • Debugging and optimizing code for performance across various environments.

By mastering these areas, you'll not only be interview-ready but also prepared to excel on the job, making you a standout candidate for any JavaScript-related role.

Related lists

Check out other lists of questions below if you're looking for something more specific: