Skip to content

Data Structures and Algorithms (DSA)

This document provides a curated list of Data Structures and Algorithms (DSA) questions commonly asked in technical interviews. It covers a wide range of difficulty levels and topics.

This is updated frequently but right now this is the most exhaustive list of type of questions being asked.


Sno Problem Title Practice Links Companies Asking Difficulty Topics
1 Two Number Sum LeetCode Two Sum Google, Facebook, Amazon Easy Array, Hashing
2 Reverse Linked List LeetCode Reverse Linked List Amazon, Facebook, Microsoft Easy Linked List
3 Valid Parentheses LeetCode Valid Parentheses Amazon, Facebook, Google Easy Stack, String
4 Binary Search LeetCode Binary Search Google, Facebook, Amazon Easy Array, Binary Search
5 Merge Two Sorted Arrays LeetCode Merge Sorted Array Google, Microsoft, Amazon Easy Array, Two Pointers
6 Meeting Rooms LeetCode Meeting Rooms II Microsoft, Google Medium Array, Sorting, Interval Scheduling
7 Climbing Stairs LeetCode Climbing Stairs Amazon, Facebook, Google Easy Dynamic Programming
8 Valid Anagram LeetCode Valid Anagram Google, Amazon Easy String, Hashing
9 Longest Substring Without Repeating Characters LeetCode Longest Substring Without Repeating Characters Amazon, Facebook, Google Medium String, Hashing, Sliding Window
10 Maximum Subarray (Kadane's Algorithm) LeetCode Maximum Subarray Google, Amazon, Facebook Medium Array, Dynamic Programming
11 Word Ladder LeetCode Word Ladder Google, Amazon, Facebook Very Hard Graph, BFS, String Transformation
12 4Sum (Four Number Sum) LeetCode 4Sum Amazon, Facebook, Google Hard Array, Hashing, Two Pointers
13 Median of Two Sorted Arrays LeetCode Median of Two Sorted Arrays Google, Amazon, Microsoft Hard Array, Binary Search
14 Longest Increasing Subsequence LeetCode Longest Increasing Subsequence Google, Facebook, Amazon Hard Array, Dynamic Programming
15 Longest Palindromic Substring LeetCode Longest Palindromic Substring Amazon, Google Hard String, Dynamic Programming
16 Design LRU Cache LeetCode LRU Cache Amazon, Facebook, Google, Microsoft Hard Design, Hashing, Linked List
17 Top K Frequent Elements LeetCode Top K Frequent Elements Google, Facebook, Amazon Medium Array, Hashing, Heap
18 Find Peak Element LeetCode Find Peak Element Google, Facebook, Amazon Medium Array, Binary Search
19 Candy (Min Rewards) LeetCode Candy Amazon, Facebook, Google Hard Array, Greedy
20 Array of Products LeetCode Product of Array Except Self Amazon, Google Medium Array, Prefix/Suffix Products
21 First Duplicate Value LeetCode Find the Duplicate Number Google, Facebook Medium Array, Hashing
22 Validate Subsequence GFG Validate Subsequence Amazon, Google, Microsoft Easy Array, Two Pointers
23 Nth Fibonacci LeetCode Fibonacci Number Google, Facebook, Microsoft Easy Recursion, Dynamic Programming
24 Spiral Traverse LeetCode Spiral Matrix Facebook, Amazon, Google Medium Matrix, Simulation
25 Subarray Sort GFG Minimum Unsorted Subarray Google, Uber Hard Array, Two Pointers
26 Largest Range GFG Largest Range Google, Amazon Hard Array, Hashing
27 Diagonal Traverse LeetCode Diagonal Traverse Google, Facebook Medium Array, Simulation
28 Longest Peak GFG Longest Peak Google, Uber Medium Array, Dynamic Programming
29 Product Sum GFG Product Sum Amazon, Facebook, Google Easy Array, Recursion
30 Merge Two Sorted Lists LeetCode Merge Two Sorted Lists Google, Amazon, Facebook Medium Linked List, Recursion
31 Binary Tree Level Order Traversal LeetCode Level Order Traversal Amazon, Google, Microsoft Easy Tree, BFS
32 Longest Valid Parentheses LeetCode Longest Valid Parentheses Facebook, Google, Amazon Medium String, Stack, Dynamic Programming
33 Word Break LeetCode Word Break Amazon, Google, Facebook Hard Dynamic Programming, String
34 Find Median from Data Stream LeetCode Find Median from Data Stream Facebook, Amazon, Google Hard Heap, Data Structures
35 Longest Repeating Character Replacement LeetCode Longest Repeating Character Replacement Google, Amazon, Facebook Hard String, Sliding Window, Greedy
36 Kth Largest Element in an Array LeetCode Kth Largest Element Google, Amazon, Facebook Medium Heap, Sorting
37 River Sizes GFG River Sizes Facebook, Google Very Hard Graph, DFS/BFS, Matrix
38 Youngest Common Ancestor LeetCode Lowest Common Ancestor Google, Microsoft Very Hard Tree, Ancestor Tracking
39 BST Construction LeetCode Validate BST Facebook, Amazon, Google Very Hard Tree, Binary Search Tree
40 Invert Binary Tree LeetCode Invert Binary Tree Amazon, Facebook, Google Very Hard Tree, Recursion
41 Validate BST LeetCode Validate BST Google, Amazon Very Hard Tree, Binary Search Tree
42 Node Depths GFG Sum of Node Depths Google, Facebook Very Hard Tree, Recursion
43 Branch Sums GFG Branch Sums Amazon, Facebook, Google Very Hard Tree, Recursion
44 Find Successor LeetCode Inorder Successor Facebook, Amazon, Google Very Hard Tree, BST, Inorder Traversal
45 Binary Tree Diameter GFG Diameter of Binary Tree Google, Uber Very Hard Tree, Recursion
46 Lowest Common Ancestor LeetCode Lowest Common Ancestor Amazon, Facebook, Google Very Hard Tree, Recursion
47 Dijkstra's Algorithm LeetCode Network Delay Time Google, Amazon Very Hard Graph, Shortest Paths, Greedy
48 Topological Sort GFG Topological Sort Google, Microsoft, Amazon Very Hard Graph, DFS/BFS, Sorting
49 Knapsack Problem LeetCode Coin Change 2 Facebook, Amazon, Google Very Hard Dynamic Programming, Knapsack
50 Disk Stacking GFG Disk Stacking Google, Facebook Very Hard Dynamic Programming, Sorting
51 Numbers In Pi N/A Google, Facebook Very Hard Dynamic Programming, String Processing
52 Longest Common Subsequence LeetCode Longest Common Subsequence Amazon, Google, Microsoft Very Hard Dynamic Programming, Strings
53 Min Number of Jumps LeetCode Min Number of Jumps Google, Facebook, Amazon Very Hard Dynamic Programming, Greedy
54 Water Area (Trapping Rain Water) LeetCode Trapping Rain Water Google, Amazon, Facebook Very Hard Array, Two Pointers, Greedy
55 Minimum Characters For Palindrome GFG Minimum Characters For Palindrome Amazon, Google Very Hard String, Dynamic Programming, KMP
56 Regular Expression Matching LeetCode Regular Expression Matching Google, Amazon, Facebook Very Hard Dynamic Programming, Strings, Recursion
57 Wildcard Matching LeetCode Wildcard Matching Amazon, Google Very Hard Dynamic Programming, Strings
58 Group Anagrams LeetCode Group Anagrams Google, Amazon, Facebook Medium Array, Hashing
59 Longest Consecutive Sequence LeetCode Longest Consecutive Sequence Facebook, Google, Amazon Hard Array, Hashing
60 Maximum Product Subarray LeetCode Maximum Product Subarray Amazon, Google, Facebook Medium Array, Dynamic Programming
61 Sum of Two Integers (Bit Manipulation) LeetCode Sum of Two Integers Google, Amazon, Facebook Medium Bit Manipulation
62 Course Schedule LeetCode Course Schedule Amazon, Facebook, Google Medium Graph, DFS/BFS
63 Add Two Numbers (Linked List) LeetCode Add Two Numbers Google, Facebook, Amazon Medium Linked List, Math
64 Reverse Words in a String LeetCode Reverse Words in a String Google, Amazon, Facebook Medium String, Two Pointers
65 Intersection of Two Arrays LeetCode Intersection of Two Arrays Amazon, Google, Facebook Easy Array, Hashing
66 Find All Duplicates in an Array LeetCode Find All Duplicates Facebook, Google, Amazon Medium Array, Hashing
67 Majority Element LeetCode Majority Element Google, Amazon Easy Array, Hashing, Boyer-Moore
68 Rotate Array LeetCode Rotate Array Amazon, Google, Facebook Medium Array, Two Pointers
69 Spiral Matrix II LeetCode Spiral Matrix II Google, Facebook, Amazon Medium Matrix, Simulation
70 Search in Rotated Sorted Array LeetCode Search in Rotated Sorted Array Google, Amazon, Facebook Medium Array, Binary Search
71 Design a URL Shortener LeetCode Design TinyURL Uber, Airbnb, Flipkart Medium Design, Hashing, Strings
72 Implement Autocomplete System GFG Autocomplete System Amazon, Google, Swiggy Hard Trie, Design, Strings
73 Design Twitter Feed LeetCode Design Twitter Twitter, Flipkart, Ola Medium Design, Heap, Linked List
74 Implement LFU Cache GFG LFU Cache Amazon, Paytm, Flipkart Hard Design, Hashing
75 Design a Rate Limiter N/A Uber, Ola, Swiggy Medium Design, Algorithms
76 Serialize and Deserialize Binary Tree LeetCode Serialize and Deserialize Binary Tree Amazon, Microsoft, Swiggy Hard Tree, DFS, Design
77 Design a File System LeetCode Design File System Google, Flipkart, Amazon Hard Design, Trie
78 Implement Magic Dictionary LeetCode Implement Magic Dictionary Facebook, Microsoft, Paytm Medium Trie, Design
79 Longest Substring with At Most K Distinct Characters LeetCode Longest Substring with At Most K Distinct Characters Amazon, Google Medium String, Sliding Window
80 Subarray Sum Equals K LeetCode Subarray Sum Equals K Microsoft, Amazon, Flipkart Medium Array, Hashing, Prefix Sum
81 Merge k Sorted Lists LeetCode Merge k Sorted Lists Google, Facebook, Amazon Hard Heap, Linked List
82 Longest Increasing Path in a Matrix LeetCode Longest Increasing Path Google, Microsoft Hard DFS, DP, Matrix
83 Design a Stock Price Fluctuation Tracker LeetCode Stock Price Fluctuation Amazon, Flipkart, Paytm Medium Design, Heap
84 Implement a Trie LeetCode Implement Trie Amazon, Google, Microsoft Medium Trie, Design
85 Design a Chat System Medium: Chat System Design (free article) WhatsApp, Slack, Swiggy Hard Design, Messaging
86 Design an Elevator System N/A OYO, Ola, Flipkart Hard Design, System Design
87 Implement a Sudoku Solver LeetCode Sudoku Solver Google, Microsoft, Amazon Hard Backtracking, Recursion
88 Find All Anagrams in a String LeetCode Find All Anagrams in a String Facebook, Google Medium String, Sliding Window, Hashing
89 Design Twitter-like Feed LeetCode Design Twitter Twitter, Facebook, Uber Medium Design, Heap, Linked List
90 Longest Palindromic Subsequence LeetCode Longest Palindromic Subsequence Amazon, Google Medium DP, String
91 Clone Graph LeetCode Clone Graph Amazon, Google Medium Graph, DFS/BFS
92 Design a Data Structure for the Stock Span Problem LeetCode Online Stock Span Amazon, Microsoft, Paytm Medium Stack, Array, Design
93 Design a Stack That Supports getMin() LeetCode Min Stack Facebook, Amazon, Google Easy Stack, Design
94 Convert Sorted Array to Binary Search Tree LeetCode Sorted Array to BST Facebook, Google Easy Tree, Recursion
95 Meeting Rooms II LeetCode Meeting Rooms II Microsoft, Google Medium Array, Heap, Sorting
96 Search in Rotated Sorted Array LeetCode Search in Rotated Sorted Array Google, Amazon, Facebook Medium Array, Binary Search
97 Design a URL Shortener LeetCode Design TinyURL Uber, Airbnb, Flipkart Medium Design, Hashing, Strings
98 Implement Autocomplete System GFG Autocomplete System Amazon, Google, Swiggy Hard Trie, Design, Strings
99 Design Twitter Feed LeetCode Design Twitter Twitter, Flipkart, Ola Medium Design, Heap, Linked List
100 Implement LFU Cache GFG LFU Cache Amazon, Paytm, Flipkart Hard Design, Hashing

Questions asked in Google interview

  • Two Number Sum
  • Valid Parentheses
  • Binary Search
  • Merge Two Sorted Arrays
  • Meeting Rooms
  • Climbing Stairs
  • Valid Anagram
  • Longest Substring Without Repeating Characters
  • Maximum Subarray (Kadane's Algorithm)
  • Word Ladder
  • 4Sum (Four Number Sum)
  • Median of Two Sorted Arrays
  • Longest Increasing Subsequence
  • Longest Palindromic Substring
  • Design LRU Cache
  • Top K Frequent Elements
  • Find Peak Element
  • Candy (Min Rewards)
  • Array of Products
  • First Duplicate Value
  • Validate Subsequence
  • Nth Fibonacci
  • Spiral Traverse
  • Largest Range
  • Diagonal Traverse
  • Longest Peak
  • Product Sum
  • Merge Two Sorted Lists
  • Binary Tree Level Order Traversal
  • Longest Valid Parentheses
  • Word Break
  • Find Median from Data Stream
  • Longest Repeating Character Replacement
  • Kth Largest Element in an Array
  • River Sizes
  • Youngest Common Ancestor
  • BST Construction
  • Invert Binary Tree
  • Validate BST
  • Node Depths
  • Branch Sums
  • Find Successor
  • Binary Tree Diameter
  • Lowest Common Ancestor
  • Dijkstra's Algorithm
  • Topological Sort
  • Knapsack Problem
  • Disk Stacking
  • Numbers In Pi
  • Longest Common Subsequence
  • Min Number of Jumps
  • Water Area (Trapping Rain Water)
  • Minimum Characters For Palindrome
  • Regular Expression Matching
  • Wildcard Matching
  • Group Anagrams
  • Longest Consecutive Sequence
  • Maximum Product Subarray
  • Sum of Two Integers (Bit Manipulation)
  • Course Schedule
  • Add Two Numbers (Linked List)
  • Reverse Words in a String
  • Intersection of Two Arrays
  • Find All Duplicates in an Array
  • Majority Element
  • Rotate Array
  • Spiral Matrix II
  • Search in Rotated Sorted Array
  • Implement Autocomplete System
  • Design a File System
  • Longest Substring with At Most K Distinct Characters
  • Merge k Sorted Lists
  • Longest Increasing Path in a Matrix
  • Implement a Trie
  • Implement a Sudoku Solver
  • Find All Anagrams in a String
  • Longest Palindromic Subsequence
  • Clone Graph
  • Design a Stack That Supports getMin()
  • Convert Sorted Array to Binary Search Tree
  • Meeting Rooms II

Questions asked in Facebook interview

  • Two Number Sum
  • Reverse Linked List
  • Valid Parentheses
  • Binary Search
  • Merge Two Sorted Arrays
  • Climbing Stairs
  • Longest Substring Without Repeating Characters
  • Maximum Subarray (Kadane's Algorithm)
  • Word Ladder
  • 4Sum (Four Number Sum)
  • Longest Increasing Subsequence
  • Design LRU Cache
  • Top K Frequent Elements
  • Find Peak Element
  • Candy (Min Rewards)
  • Array of Products
  • First Duplicate Value
  • Word Break
  • Spiral Traverse
  • Diagonal Traverse
  • Product Sum
  • Merge Two Sorted Lists
  • Binary Tree Level Order Traversal
  • Longest Valid Parentheses
  • Find Median from Data Stream
  • Longest Repeating Character Replacement
  • Kth Largest Element in an Array
  • River Sizes
  • BST Construction
  • Invert Binary Tree
  • Node Depths
  • Branch Sums
  • Find Successor
  • Lowest Common Ancestor
  • Dijkstra's Algorithm
  • Knapsack Problem
  • Disk Stacking
  • Numbers In Pi
  • Longest Common Subsequence
  • Min Number of Jumps
  • Water Area (Trapping Rain Water)
  • Regular Expression Matching
  • Wildcard Matching
  • Group Anagrams
  • Longest Consecutive Sequence
  • Maximum Product Subarray
  • Sum of Two Integers (Bit Manipulation)
  • Add Two Numbers (Linked List)
  • Reverse Words in a String
  • Intersection of Two Arrays
  • Find All Duplicates in an Array
  • Rotate Array
  • Spiral Matrix II
  • Search in Rotated Sorted Array
  • Design a Stack That Supports getMin()
  • Convert Sorted Array to Binary Search Tree

Questions asked in Amazon interview

  • Two Number Sum
  • Valid Parentheses
  • Binary Search
  • Merge Two Sorted Arrays
  • Climbing Stairs
  • Valid Anagram
  • Longest Substring Without Repeating Characters
  • Maximum Subarray (Kadane's Algorithm)
  • Word Ladder
  • 4Sum (Four Number Sum)
  • Median of Two Sorted Arrays
  • Longest Increasing Subsequence
  • Longest Palindromic Substring
  • Design LRU Cache
  • Top K Frequent Elements
  • Find Peak Element
  • Candy (Min Rewards)
  • Array of Products
  • First Duplicate Value
  • Validate Subsequence
  • Nth Fibonacci
  • Spiral Traverse
  • Largest Range
  • Diagonal Traverse
  • Longest Peak
  • Product Sum
  • Merge Two Sorted Lists
  • Binary Tree Level Order Traversal
  • Longest Valid Parentheses
  • Word Break
  • Find Median from Data Stream
  • Longest Repeating Character Replacement
  • Kth Largest Element in an Array
  • River Sizes
  • BST Construction
  • Invert Binary Tree
  • Validate BST
  • Branch Sums
  • Find Successor
  • Lowest Common Ancestor
  • Dijkstra's Algorithm
  • Topological Sort
  • Knapsack Problem
  • Disk Stacking
  • Numbers In Pi
  • Longest Common Subsequence
  • Min Number of Jumps
  • Water Area (Trapping Rain Water)
  • Minimum Characters For Palindrome
  • Regular Expression Matching
  • Wildcard Matching
  • Group Anagrams
  • Longest Consecutive Sequence
  • Maximum Product Subarray
  • Sum of Two Integers (Bit Manipulation)
  • Course Schedule
  • Add Two Numbers (Linked List)
  • Reverse Words in a String
  • Intersection of Two Arrays
  • Find All Duplicates in an Array
  • Majority Element
  • Rotate Array
  • Spiral Matrix II
  • Search in Rotated Sorted Array
  • Design a URL Shortener
  • Implement Autocomplete System
  • Design a File System
  • Longest Substring with At Most K Distinct Characters
  • Merge k Sorted Lists
  • Implement a Trie
  • Implement a Sudoku Solver
  • Find All Anagrams in a String
  • Longest Palindromic Subsequence
  • Clone Graph
  • Design a Stack That Supports getMin()
  • Meeting Rooms II

Questions asked in Microsoft interview

  • Reverse Linked List
  • Merge Two Sorted Arrays
  • Meeting Rooms
  • Median of Two Sorted Arrays
  • Nth Fibonacci
  • Binary Tree Level Order Traversal
  • Find Median from Data Stream
  • Topological Sort
  • Youngest Common Ancestor
  • Longest Increasing Path in a Matrix
  • Implement a Trie
  • Implement a Sudoku Solver
  • Convert Sorted Array to Binary Search Tree
  • Meeting Rooms II
  • Course Schedule

Questions asked in Uber interview

  • Subarray Sort
  • Longest Peak
  • Binary Tree Diameter
  • Design Twitter-like Feed

Questions asked in Swiggy interview

  • Implement Autocomplete System
  • Design a Rate Limiter
  • Serialize and Deserialize Binary Tree

Questions asked in Flipkart interview

  • Design a URL Shortener
  • Design Twitter Feed
  • Design a File System
  • Subarray Sum Equals K
  • Design an Elevator System

Questions asked in Ola interview

  • Design Twitter Feed
  • Design an Elevator System

Questions asked in Paytm interview

  • Implement LFU Cache
  • Design a Data Structure for the Stock Span Problem
  • Implement Magic Dictionary

Questions asked in OYO interview

  • Design an Elevator System

Questions asked in WhatsApp interview

  • Design a Chat System

Questions asked in Slack interview

  • Design a Chat System

Questions asked in Airbnb interview

  • Design a URL Shortener