Microsoft logo MI
Verified Company Vault 30d Active

Microsoft DSA Interview Questions

1374 curated coding interview questions directly asked in Microsoft technical rounds, sorted by frequency with recency and difficulty diagnostics.

1374 Total Questions
385 (28%) Easy Problems
767 (56%) Medium Problems
222 (16%) Hard Problems
🔥 Most Tested Topics:
Arrays (520)Core DSA (452)Strings (222)Trees (159)Linked List (48)
📂 Sourced Datasets:
Last 30 daysLast 3 monthsLast 6 monthsAll questionsOlder than 6 months

Showing top 200 of 1374 questions. View all 1374 in the interactive tracker.

Showing 200 of 200 displayed
IDProblemDifficultyTopicPatternAcceptanceFrequencyRecency
2Add Two NumbersMediumCore DSAImplementation / Reasoning48.5%100.0%30d
1Two SumEasyArraysSorting / Prefix / Scan; Two Pointers57.5%87.5%30d
14Longest Common PrefixEasyCore DSAImplementation / Reasoning47.6%87.5%30d
3Longest Substring Without Repeating CharactersMediumStrings; TreesHashing / Sliding Window; DFS / BFS; Sliding Window39.1%87.5%3m
7Reverse IntegerMediumCore DSAImplementation / Reasoning31.9%75.0%30d
1932Merge BSTs to Create Single BSTHardArrays; TreesSorting / Prefix / Scan; DFS / BFS38.9%75.0%30d
32Longest Valid ParenthesesHardStringsHashing / Sliding Window38.8%75.0%30d
2553Separate the Digits in an ArrayEasyArraysSorting / Prefix / Scan85.8%75.0%30d
5Longest Palindromic SubstringMediumStrings; TreesHashing / Sliding Window; DFS / BFS37.8%75.0%30d
560Subarray Sum Equals KMediumArraysSorting / Prefix / Scan47.3%75.0%30d
49Group AnagramsMediumStringsHashing / Sliding Window72.6%75.0%30d
75Sort ColorsMediumArraysSorting / Prefix / Scan69.6%75.0%30d
2784Check if Array is GoodEasyArraysSorting / Prefix / Scan57.3%75.0%30d
56Merge IntervalsMediumArraysSorting / Prefix / Scan51.8%75.0%30d
239Sliding Window MaximumHardArraysSorting / Prefix / Scan; Sliding Window48.8%75.0%30d
128Longest Consecutive SequenceMediumCore DSAImplementation / Reasoning47.1%75.0%30d
176Second Highest SalaryMediumCore DSAImplementation / Reasoning47.0%75.0%30d
33Search in Rotated Sorted ArrayMediumArrays; Binary SearchSorting / Prefix / Scan; Binary Search44.9%75.0%30d
193Valid Phone NumbersEasyStringsHashing / Sliding Window29.7%75.0%30d
42Trapping Rain WaterHardCore DSATwo Pointers67.4%75.0%3m
146LRU CacheMediumDesignData Structure Design47.4%75.0%3m
200Number of IslandsMediumGraphsBFS / DFS / Topological Sort64.4%75.0%3m
22Generate ParenthesesMediumStringsHashing / Sliding Window78.7%75.0%3m
11Container With Most WaterMediumCore DSATwo Pointers60.0%62.5%3m
153SumMediumArraysSorting / Prefix / Scan39.1%62.5%3m
31Next PermutationMediumBacktrackingBacktracking45.3%62.5%3m
53Maximum SubarrayMediumArraysSorting / Prefix / Scan53.3%62.5%3m
121Best Time to Buy and Sell StockEasyCore DSAImplementation / Reasoning56.8%62.5%3m
51N-QueensHardBacktrackingBacktracking75.5%62.5%3m
23Merge k Sorted ListsHardArrays; Linked List; HeapSorting / Prefix / Scan; Two Pointers; Priority Queue59.6%62.5%3m
253Meeting Rooms IIMediumGreedyGreedy52.7%62.5%3m
2858Minimum Edge Reversals So Every Node Is ReachableHardArrays; TreesSorting / Prefix / Scan; DFS / BFS59.5%62.5%3m
509Fibonacci NumberEasyCore DSAImplementation / Reasoning74.1%62.5%3m
1475Final Prices With a Special Discount in a ShopEasyCore DSAImplementation / Reasoning84.1%62.5%3m
202Happy NumberEasyCore DSAImplementation / Reasoning59.7%62.5%3m
875Koko Eating BananasMediumBinary SearchBinary Search50.0%62.5%3m
76Minimum Window SubstringHardArrays; Strings; TreesSorting / Prefix / Scan; Hashing / Sliding Window; DFS / BFS; Sliding Window47.5%62.5%3m
300Longest Increasing SubsequenceMediumDynamic ProgrammingState Transition59.4%62.5%3m
295Find Median from Data StreamHardHeapPriority Queue54.5%62.5%3m
88Merge Sorted ArrayEasyArraysSorting / Prefix / Scan54.9%62.5%3m
283Move ZeroesEasyCore DSATwo Pointers63.8%62.5%6m
175Combine Two TablesEasyCore DSAImplementation / Reasoning79.5%62.5%6m
101Symmetric TreeEasyTreesDFS / BFS61.2%62.5%6m
13Roman to IntegerEasyStringsHashing / Sliding Window66.6%50.0%3m
20Valid ParenthesesEasyStringsHashing / Sliding Window44.2%50.0%3m
26Remove Duplicates from Sorted ArrayEasyArraysSorting / Prefix / Scan; Two Pointers62.8%50.0%3m
48Rotate ImageMediumArraysSorting / Prefix / Scan80.1%50.0%3m
206Reverse Linked ListEasyLinked ListTwo Pointers80.6%50.0%3m
189Rotate ArrayMediumArraysSorting / Prefix / Scan44.9%50.0%3m
496Next Greater Element IEasyStack / QueueMonotonic Stack / Simulation76.1%50.0%3m
424Longest Repeating Character ReplacementMediumStringsHashing / Sliding Window59.7%50.0%3m
70Climbing StairsEasyDynamic ProgrammingState Transition54.1%50.0%3m
138Copy List with Random PointerMediumLinked ListTwo Pointers62.9%50.0%3m
2667Create Hello World FunctionEasyCore DSAImplementation / Reasoning81.9%50.0%3m
102Binary Tree Level Order TraversalMediumTreesDFS / BFS72.7%50.0%3m
6Zigzag ConversionMediumCore DSAImplementation / Reasoning54.2%50.0%3m
17Letter Combinations of a Phone NumberMediumStrings; BacktrackingHashing / Sliding Window; Backtracking66.1%50.0%3m
242Valid AnagramEasyStringsHashing / Sliding Window68.1%50.0%3m
273Integer to English WordsHardStringsHashing / Sliding Window35.0%50.0%3m
540Single Element in a Sorted ArrayMediumArraysSorting / Prefix / Scan59.3%50.0%3m
28Find the Index of the First Occurrence in a StringEasyStringsHashing / Sliding Window46.7%50.0%3m
73Set Matrix ZeroesMediumArraysSorting / Prefix / Scan62.9%50.0%3m
647Palindromic SubstringsMediumStrings; TreesHashing / Sliding Window; DFS / BFS72.8%50.0%3m
199Binary Tree Right Side ViewMediumTreesDFS / BFS70.2%50.0%3m
460LFU CacheHardDesignData Structure Design49.2%50.0%3m
217Contains DuplicateEasyArraysSorting / Prefix / Scan64.4%50.0%3m
475HeatersMediumCore DSAImplementation / Reasoning41.9%50.0%3m
167Two Sum II - Input Array Is SortedMediumArraysSorting / Prefix / Scan; Two Pointers65.1%50.0%3m
1353Maximum Number of Events That Can Be AttendedMediumArraysSorting / Prefix / Scan39.0%50.0%3m
155Min StackMediumStack / QueueMonotonic Stack / Simulation58.2%50.0%3m
387First Unique Character in a StringEasyStringsHashing / Sliding Window65.5%50.0%3m
125Valid PalindromeEasyStringsHashing / Sliding Window53.3%50.0%3m
12Integer to RomanMediumStringsHashing / Sliding Window71.0%50.0%3m
45Jump Game IIMediumGreedyGreedy42.9%50.0%3m
297Serialize and Deserialize Binary TreeHardTrees; DesignDFS / BFS; Data Structure Design60.8%50.0%3m
232Implement Queue using StacksEasyStack / QueueMonotonic Stack / Simulation69.8%50.0%3m
1929Concatenation of ArrayEasyArraysSorting / Prefix / Scan90.3%50.0%3m
994Rotting OrangesMediumCore DSAImplementation / Reasoning58.7%50.0%3m
46PermutationsMediumBacktrackingBacktracking81.9%50.0%3m
139Word BreakMediumStrings; Dynamic ProgrammingHashing / Sliding Window; State Transition49.5%50.0%3m
55Jump GameMediumGreedyGreedy40.9%50.0%3m
67Add BinaryEasyCore DSAImplementation / Reasoning58.1%50.0%3m
224Basic CalculatorHardStack / QueueMonotonic Stack / Simulation46.9%50.0%3m
1888Minimum Number of Flips to Make the Binary String AlternatingMediumArrays; StringsSorting / Prefix / Scan; Hashing / Sliding Window53.5%50.0%3m
986Interval List IntersectionsMediumArrays; Linked ListSorting / Prefix / Scan; Two Pointers73.0%50.0%3m
198House RobberMediumDynamic ProgrammingState Transition53.2%50.0%3m
721Accounts MergeMediumArraysSorting / Prefix / Scan61.3%50.0%3m
105Construct Binary Tree from Preorder and Inorder TraversalMediumTreesDFS / BFS68.8%50.0%3m
657Robot Return to OriginEasyCore DSAImplementation / Reasoning78.1%50.0%3m
1004Max Consecutive Ones IIIMediumCore DSAImplementation / Reasoning67.7%50.0%3m
184SumMediumArraysSorting / Prefix / Scan40.6%50.0%3m
61Rotate ListMediumArrays; Linked ListSorting / Prefix / Scan; Two Pointers42.6%50.0%3m
34Find First and Last Position of Element in Sorted ArrayMediumArraysSorting / Prefix / Scan48.9%50.0%6m
54Spiral MatrixMediumArraysSorting / Prefix / Scan56.8%50.0%6m
93Restore IP AddressesMediumCore DSAImplementation / Reasoning56.0%50.0%6m
19Remove Nth Node From End of ListMediumTrees; Linked ListDFS / BFS; Two Pointers51.6%50.0%6m
162Find Peak ElementMediumBinary SearchBinary Search47.0%50.0%6m
169Majority ElementEasyCore DSAImplementation / Reasoning66.3%50.0%6m
215Kth Largest Element in an ArrayMediumArrays; HeapSorting / Prefix / Scan; Priority Queue68.9%50.0%6m
394Decode StringMediumStrings; Dynamic Programming; Stack / QueueHashing / Sliding Window; State Transition; Monotonic Stack / Simulation62.6%50.0%6m
78SubsetsMediumBacktrackingBacktracking82.3%50.0%6m
485Max Consecutive OnesEasyCore DSAImplementation / Reasoning65.2%50.0%6m
118Pascal's TriangleEasyCore DSAImplementation / Reasoning78.9%50.0%6m
179Largest NumberMediumCore DSAImplementation / Reasoning43.1%50.0%6m
761Special Binary StringHardStringsHashing / Sliding Window79.3%50.0%6m
1797Design Authentication ManagerMediumDesignData Structure Design58.6%50.0%6m
577Employee BonusEasyCore DSAImplementation / Reasoning77.4%50.0%6m
696Count Binary SubstringsEasyStrings; TreesHashing / Sliding Window; DFS / BFS70.4%50.0%6m
3507Minimum Pair Removal to Sort Array IEasyArraysSorting / Prefix / Scan65.2%50.0%6m
29Divide Two IntegersMediumCore DSAImplementation / Reasoning19.8%50.0%all
37Sudoku SolverHardBacktrackingBacktracking65.5%50.0%all
39Combination SumMediumArrays; BacktrackingSorting / Prefix / Scan; Backtracking76.5%50.0%all
94Binary Tree Inorder TraversalEasyTreesDFS / BFS80.1%50.0%all
134Gas StationMediumGreedyGreedy48.0%50.0%all
136Single NumberEasyCore DSAImplementation / Reasoning77.7%50.0%all
160Intersection of Two Linked ListsEasyLinked ListTwo Pointers63.7%50.0%all
213House Robber IIMediumDynamic ProgrammingState Transition44.9%50.0%all
237Delete Node in a Linked ListMediumTrees; Linked ListDFS / BFS; Two Pointers83.9%50.0%all
258Add DigitsEasyCore DSAImplementation / Reasoning68.9%50.0%all
1466Reorder Routes to Make All Paths Lead to the City ZeroMediumCore DSAImplementation / Reasoning65.8%50.0%all
1539Kth Missing Positive NumberEasyArrays; HeapSorting / Prefix / Scan; Priority Queue63.5%50.0%all
2246Longest Path With Different Adjacent CharactersHardStringsHashing / Sliding Window54.0%50.0%all
383Ransom NoteEasyCore DSAImplementation / Reasoning66.0%50.0%all
4Median of Two Sorted ArraysHardArrays; HeapSorting / Prefix / Scan; Priority Queue46.6%37.5%3m
9Palindrome NumberEasyStringsHashing / Sliding Window60.6%37.5%3m
21Merge Two Sorted ListsEasyArrays; Linked ListSorting / Prefix / Scan; Two Pointers68.3%37.5%3m
238Product of Array Except SelfMediumArraysSorting / Prefix / Scan68.9%37.5%3m
2571Minimum Operations to Reduce an Integer to 0MediumArraysSorting / Prefix / Scan62.4%37.5%3m
210Course Schedule IIMediumGraphsBFS / DFS / Topological Sort55.5%37.5%3m
100Same TreeEasyTreesDFS / BFS67.1%37.5%3m
207Course ScheduleMediumGraphsBFS / DFS / Topological Sort51.4%37.5%3m
27Remove ElementEasyCore DSAImplementation / Reasoning61.8%37.5%3m
143Reorder ListMediumLinked ListTwo Pointers65.3%37.5%3m
545Boundary of Binary TreeMediumTreesDFS / BFS48.1%37.5%3m
347Top K Frequent ElementsMediumHeapPriority Queue66.4%37.5%3m
103Binary Tree Zigzag Level Order TraversalMediumTreesDFS / BFS63.7%37.5%3m
680Valid Palindrome IIEasyStringsHashing / Sliding Window44.3%37.5%3m
84Largest Rectangle in HistogramHardCore DSAImplementation / Reasoning49.9%37.5%3m
622Design Circular QueueMediumStack / Queue; DesignMonotonic Stack / Simulation; Data Structure Design54.7%37.5%3m
543Diameter of Binary TreeEasyTreesDFS / BFS65.5%37.5%3m
2385Amount of Time for Binary Tree to Be InfectedMediumTreesDFS / BFS65.4%37.5%3m
197Rising TemperatureEasyCore DSAImplementation / Reasoning51.3%37.5%3m
72Edit DistanceMediumDynamic ProgrammingState Transition60.6%37.5%3m
208Implement Trie (Prefix Tree)MediumTreesDFS / BFS69.5%37.5%3m
1461Check If a String Contains All Binary Codes of Size KMediumStringsHashing / Sliding Window61.6%37.5%3m
334Increasing Triplet SubsequenceMediumCore DSAImplementation / Reasoning39.4%37.5%3m
35Search Insert PositionEasyBinary SearchBinary Search51.3%37.5%3m
1980Find Unique Binary StringMediumStringsHashing / Sliding Window81.2%37.5%3m
83Remove Duplicates from Sorted ListEasyArrays; Linked ListSorting / Prefix / Scan; Two Pointers56.7%37.5%3m
2977Minimum Cost to Convert String IIHardArrays; StringsSorting / Prefix / Scan; Hashing / Sliding Window59.6%37.5%3m
678Valid Parenthesis StringMediumStringsHashing / Sliding Window40.1%37.5%3m
1727Largest Submatrix With RearrangementsMediumArraysSorting / Prefix / Scan80.2%37.5%3m
131Palindrome PartitioningMediumStrings; Dynamic ProgrammingHashing / Sliding Window; State Transition74.1%37.5%3m
628Maximum Product of Three NumbersEasyArraysSorting / Prefix / Scan45.9%37.5%3m
2050Parallel Courses IIIHardGraphsBFS / DFS / Topological Sort66.8%37.5%3m
2840Check if Strings Can be Made Equal With Operations IIMediumStringsHashing / Sliding Window74.0%37.5%3m
399Evaluate DivisionMediumCore DSAImplementation / Reasoning64.2%37.5%3m
1552Magnetic Force Between Two BallsMediumCore DSAImplementation / Reasoning72.1%37.5%3m
829Consecutive Numbers SumHardArraysSorting / Prefix / Scan42.7%37.5%3m
392Is SubsequenceEasyCore DSAImplementation / Reasoning49.0%37.5%3m
658Find K Closest ElementsMediumCore DSAImplementation / Reasoning49.7%37.5%3m
3418Maximum Amount of Money Robot Can EarnMediumArraysSorting / Prefix / Scan47.8%37.5%3m
570Managers with at Least 5 Direct ReportsMediumCore DSAImplementation / Reasoning49.0%37.5%3m
79Word SearchMediumStrings; Binary SearchHashing / Sliding Window; Binary Search47.4%37.5%3m
443String CompressionMediumStringsHashing / Sliding Window60.0%37.5%3m
132Palindrome Partitioning IIHardStrings; Dynamic ProgrammingHashing / Sliding Window; State Transition37.1%37.5%3m
1752Check if Array Is Sorted and RotatedEasyArrays; Binary SearchSorting / Prefix / Scan; Binary Search57.2%37.5%3m
1838Frequency of the Most Frequent ElementMediumCore DSAImplementation / Reasoning44.8%37.5%3m
310Minimum Height TreesMediumArrays; TreesSorting / Prefix / Scan; DFS / BFS42.6%37.5%3m
98Validate Binary Search TreeMediumStrings; Trees; Binary SearchHashing / Sliding Window; DFS / BFS; Binary Search35.8%37.5%3m
69Sqrt(x)EasyBinary SearchBinary Search41.8%37.5%3m
3741Minimum Distance Between Three Equal Elements IIMediumArraysSorting / Prefix / Scan74.8%37.5%3m
329Longest Increasing Path in a MatrixHardArrays; Dynamic ProgrammingSorting / Prefix / Scan; State Transition56.6%37.5%3m
140Word Break IIHardStrings; Dynamic ProgrammingHashing / Sliding Window; State Transition55.6%37.5%3m
66Plus OneEasyCore DSAImplementation / Reasoning50.0%37.5%3m
181Employees Earning More Than Their ManagersEasyCore DSAImplementation / Reasoning73.2%37.5%3m
584Find Customer RefereeEasyCore DSAImplementation / Reasoning72.9%37.5%3m
1280Students and ExaminationsEasyCore DSAImplementation / Reasoning61.2%37.5%3m
3546Equal Sum Grid Partition IMediumArrays; Dynamic ProgrammingSorting / Prefix / Scan; State Transition52.9%37.5%3m
621Task SchedulerMediumGreedyGreedy63.1%37.5%3m
752Open the LockMediumCore DSAImplementation / Reasoning61.3%37.5%3m
196Delete Duplicate EmailsEasyArraysSorting / Prefix / Scan66.0%37.5%3m
344Reverse StringEasyStringsHashing / Sliding Window80.8%37.5%3m
827Making A Large IslandHardGraphsBFS / DFS / Topological Sort56.6%37.5%3m
2906Construct Product MatrixMediumArraysSorting / Prefix / Scan51.7%37.5%3m
407Trapping Rain Water IIHardCore DSATwo Pointers64.1%37.5%3m
3742Maximum Path Score in a GridMediumArraysSorting / Prefix / Scan53.9%37.5%3m
36Valid SudokuMediumStrings; BacktrackingHashing / Sliding Window; Backtracking64.5%37.5%3m
404Sum of Left LeavesEasyArraysSorting / Prefix / Scan62.7%37.5%3m
204Count PrimesMediumCore DSAImplementation / Reasoning36.1%37.5%3m
1979Find Greatest Common Divisor of ArrayEasyArraysSorting / Prefix / Scan80.0%37.5%3m
992Subarrays with K Different IntegersHardArraysSorting / Prefix / Scan68.1%37.5%3m
428Serialize and Deserialize N-ary TreeHardTrees; DesignDFS / BFS; Data Structure Design68.8%37.5%3m
907Sum of Subarray MinimumsMediumArraysSorting / Prefix / Scan38.6%37.5%3m
274H-IndexMediumCore DSAImplementation / Reasoning41.4%37.5%3m
987Vertical Order Traversal of a Binary TreeHardTreesDFS / BFS53.8%37.5%3m
868Binary GapEasyCore DSAImplementation / Reasoning74.3%37.5%3m
1193Monthly Transactions IMediumCore DSAImplementation / Reasoning59.2%37.5%3m
1928Minimum Cost to Reach Destination in TimeHardArraysSorting / Prefix / Scan41.6%37.5%3m
704Binary SearchEasyBinary SearchBinary Search60.9%37.5%3m