Microsoft
Loops that lean on practical engineering judgment — clean code, testing, and how you handle ambiguity matter as much as finding the optimal algorithm.
Typical loop
- 1Recruiter screen
- 2Technical phone screen
- 3Onsite: three to four coding and design rounds
- 4System design round for senior roles
- 5As-appropriate round with a senior leader
Questions
Callback's practice questions and the LeetCode questions Microsoft has been asking, filtered together.
Asked on LeetCode
1,384 questions · all time
- Remove CommentsmediumArrayStringfrequency 34.3
- Rotate StringeasyStringString Matchingfrequency 34.3
- Sort an ArraymediumArrayDivide and ConquerSortingHeap (Priority Queue)+4frequency 34.3
- Split Array With Same AveragehardArrayHash TableMathDynamic Programming+3frequency 34.3
- Surrounded RegionsmediumArrayDepth-First SearchBreadth-First SearchUnion-Find+1frequency 34.3
- Water BottleseasyMathSimulationfrequency 34.3
- Backspace String CompareeasyTwo PointersStringStackSimulationfrequency 32.8
- Burst BalloonshardArrayDynamic Programmingfrequency 32.8
- Contiguous ArraymediumArrayHash TablePrefix Sumfrequency 32.8
- Count Good NumbersmediumMathRecursionfrequency 32.8
- Design HashMapeasyArrayHash TableLinked ListDesign+1frequency 32.8
- Digit Operations to Make Two Integers EqualmediumMathGraph TheoryHeap (Priority Queue)Number Theory+1frequency 32.8
- Distinct SubsequenceshardStringDynamic Programmingfrequency 32.8
- Dungeon GamehardArrayDynamic ProgrammingMatrixfrequency 32.8
- Find if Path Exists in GrapheasyDepth-First SearchBreadth-First SearchUnion-FindGraph Theoryfrequency 32.8
- Maximal Network RankmediumGraph Theoryfrequency 32.8
- Maximal SquaremediumArrayDynamic ProgrammingMatrixfrequency 32.8
- Maximum Number of Potholes That Can Be FixedmediumStringGreedySortingfrequency 32.8
- Maximum Profit in Job SchedulinghardArrayBinary SearchDynamic ProgrammingSortingfrequency 32.8
- Minimum Flips to Make a OR b Equal to cmediumBit Manipulationfrequency 32.8
- Minimum Number of Days to Make m BouquetsmediumArrayBinary Searchfrequency 32.8
- Minimum Number of Refueling StopshardArrayDynamic ProgrammingGreedyHeap (Priority Queue)frequency 32.8
- Next Greater Node In Linked ListmediumArrayLinked ListStackMonotonic Stackfrequency 32.8
- Non-overlapping IntervalsmediumArrayDynamic ProgrammingGreedySortingfrequency 32.8
- Number of Substrings Containing All Three CharactersmediumHash TableStringSliding Windowfrequency 32.8
- Possible BipartitionmediumDepth-First SearchBreadth-First SearchUnion-FindGraph Theory+2frequency 32.8
- Rank ScoresmediumDatabasefrequency 32.8
- Remove Linked List ElementseasyLinked ListRecursionfrequency 32.8
- Shortest PalindromehardStringRolling HashString MatchingHash Function+3frequency 32.8
- Squares of a Sorted ArrayeasyArrayTwo PointersSortingfrequency 32.8
- Subarray Sums Divisible by KmediumArrayHash TablePrefix Sumfrequency 32.8
- Text JustificationhardArrayStringSimulationfrequency 32.8
- The k-th Lexicographical String of All Happy Strings of Length nmediumStringBacktrackingfrequency 32.8
- Time Based Key-Value StoremediumHash TableStringBinary SearchDesignfrequency 32.8
- Valid Tic-Tac-Toe StatemediumArrayMatrixfrequency 32.8
- Valid WordeasyStringfrequency 32.8
- Water and Jug ProblemmediumMathDepth-First SearchBreadth-First SearchBézout's Lemma+3frequency 32.8
- 2 Keys KeyboardmediumMathDynamic Programmingfrequency 31.1
- 4 Keys KeyboardmediumMathDynamic Programmingfrequency 31.1
- Angle Between Hands of a ClockmediumMathfrequency 31.1
- Arranging CoinseasyMathBinary Searchfrequency 31.1
- Coin Change IImediumArrayDynamic ProgrammingKnapsack ProblemComplete Knapsackfrequency 31.1
- Count Paths With the Given XOR ValuemediumArrayDynamic ProgrammingBit ManipulationMatrixfrequency 31.1
- Count the Number of Infection SequenceshardArrayMathCombinatoricsFermat's Little Theoremfrequency 31.1
- Counting BitseasyDynamic ProgrammingBit Manipulationfrequency 31.1
- Design Linked ListmediumLinked ListDesignfrequency 31.1
- Design Memory AllocatormediumArrayHash TableDesignSimulationfrequency 31.1
- Find All Numbers Disappeared in an ArrayeasyArrayHash Tablefrequency 31.1
- Find Missing ObservationsmediumArrayMathSimulationfrequency 31.1
- Find Pivot IndexeasyArrayPrefix Sumfrequency 31.1