Recommended

Blind 75

Most important 75 questions for data structure and algorithm style interviews.
Code in browser
Official solutions in JS/TS
Test cases
Start learning
Track your progress
For data structures and algorithms (DSA) questions, we recommend working through the Blind 75, a concise list that effectively prepares you for these topics.Many candidates use this list as a guide, focusing on each problem to grasp core concepts and techniques. We've solved these questions in JavaScript/TypeScript to make them accessible to front end engineers.

All Practice Questions

Questions List

  • Balanced BracketsImplement a function to determine if a string contains balanced brackets
    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
  • Maximum Product in Contiguous ArrayImplement a function to find the subarray which has the largest product
    Languages
  • Maximum Sum in Contiguous ArrayImplement a function to find the subarray with the maximum sum
    Languages
  • Most Common ElementsImplement a function to determine the most common elements in an integer array
    Languages
  • Array Product Excluding CurrentImplement a function to find the product of elements in an array excluding the current element
    Languages
  • End of Array ReachableImplement a function to determine if the end of the array is reachable
    Languages
  • Find Element in Rotated ArrayImplement a function to find an integer in a rotated sorted array
    Languages
  • Smallest element in rotated sorted arrayImplement a function to find the smallest element in rotated sorted array
    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
  • Validate Binary Search TreeImplement a function to validate whether a binary tree is a valid binary search tree
    Languages
  • Binary Tree EqualImplement a function to determine whether two binary trees are equal
    Languages
  • Flip Binary TreeImplement a function to flip the nodes in a binary tree
    Languages
  • Binary Tree Level Order TraversalImplement a function to find the level order traversal of a binary tree
    Languages
  • Binary Tree Maximum DepthImplement a function to find the maximum depth of a binary tree
    Languages
  • Binary Tree Maximum Total PathImplement a function to find the maximum total of nodes in a binary tree path
    Languages
  • Binary Tree Rebuilding from Preorder and Inorder TraversalsImplement a function to construct a binary tree from preorder and inorder traversals
    Languages
  • Binary Tree Serialization and DeserializationImplement a function to serialize and deserialize a binary tree
    Languages
  • Binary Tree SubtreeImplement a function to check if a binary tree is a subtree of another binary tree
    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
  • Minimum Coins for ChangeImplement a function to return minimum coins needed to make the given amount
    Languages
  • Combinations for Target SumImplement a function to count combinations that sum to the target
    Languages
  • Count Set Bits in a Binary NumberImplement a function to find set bits in binary representation of a given integer
    Languages
  • Course DependencyImplement a function to check if all courses can be completed given prerequisites
    Languages
  • Disjoint IntervalsImplement a function to determine the minimum amount of removals to get non-overlapping intervals
    Languages
  • Extraterrestrial LanguageImplement a function to verify and return an extraterrestrial language's alphabet order
    Languages
  • Graph CloneImplement a function to deeply clone a connected and undirected graph
    Languages
  • Graph Count Connected ComponentsImplement a function to count connected components in a graph
    Languages
  • Is the Graph a TreeImplement a function to determine if a graph is a valid tree
    Languages
  • Count Islands in a GridImplement a function to count distinct islands in a 2D binary grid
    Languages
  • Distinct Paths in GridImplement a function to calculate distinct paths for a robot moving on an m x n grid
    Languages
  • Find Word in GridImplement a function to check the existence of a word in a grid
    Languages
  • Find Words in GridImplement a function to find all the words present in the grid
    Languages
  • Merge Overlapping IntervalsImplement a function to merge overlapping intervals
    Languages
  • Meeting CalendarImplement a function to check if all meetings can be attended
    Languages
  • Merge New IntervalImplement a function to insert a new interval in the given intervals
    Languages
  • Minimum Meeting Rooms NeededImplement a function to find the minimum number of required conference rooms
    Languages
  • Linked Lists Combine K SortedImplement a function to combine k sorted linked lists
    Languages
  • Linked Lists Combine Two SortedImplement a function to combine two sorted linked list
    Languages
  • Delete Nth Node from End of Linked ListImplement a function to delete the nth node from the end of a linked list
    Languages
  • Linked List Detect CycleImplement a function to detect if there are cycles in a linked list
    Languages
  • Rearrange Linked ListImplement a function to rearrange the nodes in a linked list
    Languages
  • Linked List ReversalImplement a function to reverse a linked list
    Languages
  • Longest Common SubsequenceImplement a function to find the longest common subsequence in two strings
    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
  • Longest Non-repeating SubstringImplement a function to find the length of longest substring with unique characters
    Languages
  • Find the Longest Palindromic SubstringImplement a function to find the longest palindromic substring
    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
  • Matrix ZeroingImplement a function to set matrix rows and columns to zero
    Languages
  • Maximum Water Trapped Between WallsImplement a function to find the maximum water volume between two walls in an array of walls
    Languages
  • Neighborhood TheftImplement a function to find maximum money to rob without alerting police
    Languages
  • Neighborhood Theft (Circular)Implement a function to find maximum money to rob in circular houses without alerting police
    Languages
  • Number Stream MedianImplement a function to find the median of a dynamic stream of integers
    Languages
  • Ocean FlowImplement a function returning cells with water flow to both oceans
    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
  • Staircase Climbing CombinationsImplement a function to find the number of ways to reach at the top of staircase
    Languages
  • String AnagramImplement a function to determine if two strings are anagram of each other
    Languages
  • String Anagram GroupsImplement a function to group an array of strings into anagrams
    Languages
  • Decode MessageImplement a function to count ways to decode a numeric string
    Languages
  • String PalindromeImplement a function to determine if a string is a palindrome
    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
  • Shortest Substring Containing CharactersImplement a function to return the smallest substring of a string containing all characters from another string
    Languages
  • Sum Without AdditionImplement a function to find the sum of two integers without using + and - operator
    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
  • Triplet SumImplement a function to find all unique triplets with distinct indices that sum to 0
    Languages
  • Word FinderImplement a data structure where words can be added and support wildcard searching
    Languages

Blind 75 - 75 most important questions for data structures and algorithms interviews

The Blind 75 list of questions is widely regarded as one of the best resources for preparing for technical interviews, particularly in standard software engineering technical rounds.

  1. Curated: Blind 75 offers a carefully curated list of 75 coding problems that have been chosen to cover the most common patterns tested in technical interviews. This ensures that you spend their time on problems that are highly likely to appear in interviews.

  2. Balanced difficulty: The problems in Blind 75 offer a balanced mix of difficulty that helps in ensuring a smooth progression in building up your topical understanding and problem-solving skills.

  3. Coverage of key topics: Problems in the list cover a wide range of essential topics, (e.g., arrays, linked lists, trees, graphs), algorithms (e.g., sorting, searching, dynamic programming), and system design principles.

  4. Efficiency: By narrowing down to 75 problems, the list is highly efficient. It avoids the overwhelm of tackling hundreds of problems and instead focuses on the most impactful ones.

  5. Reputation and endorsement: Blind 75 has gained strong reputation in the tech community, with many candidates and interviewers recommending it as a go-to. Its effectiveness is supported by countless testimonials from individuals who have used it to land jobs at top tech companies.

  6. Consistency with real interview questions: The problems on the Blind 75 list are often similar to those asked in real interviews at major tech companies. Practicing these problems can give candidates a realistic sense of what to expect, helping them to be better prepared and more confident during their interviews.

These factors combine to make Blind 75 highly effective for you and your preparation.

Data Structures and Algorithms, tailored for Front End Engineers

We offer an enhanced version of the Blind 75 list, specifically tailored for front end engineers.

  1. In-browser coding workspace: Practice Blind 75 questions directly in our in-browser coding workspace, designed to simulate real-world interview scenarios. With advanced editor features and user-friendly enhancements, most users find it comfortable to use. The workspace includes everything you need, from solutions to test cases, all in one place. Start coding immediately—no sign-up required.

  2. JavaScript / TypeScript solutions by ex-interviewers: Anyone familiar with LeetCode knows the challenge of finding a consistent source of credible solutions. On GreatFrontEnd, every question comes with detailed solutions written in JavaScript and TypeScript, making it highly accessible for front end engineers.

  3. Automated test cases: Practiced a problem on your own, but unsure if it will secure the job? GreatFrontEnd offers one-click automated test cases, allowing you to instantly verify the accuracy of your solution. These test cases were crafted by ex-interviewers to reflect the actual expectations of the interview process at big tech.