Algorithm-heavy loops with a high bar for code quality and complexity analysis. Googleyness rounds probe collaboration and comfort with ambiguity.
Typical loop
- 1Recruiter screen
- 2Phone screen: one 45-minute coding interview
- 3Onsite: 3-4 coding rounds plus system design (level-dependent)
- 4Googleyness & leadership round
- 5Hiring committee review
Questions
Callback's practice questions and the LeetCode questions Google has been asking, filtered together.
Asked on LeetCode
2,344 questions · all time
- Check Completeness of a Binary TreemediumTreeBreadth-First SearchBinary Treefrequency 10.5
- Check if Array is GoodeasyArrayHash TableSortingfrequency 10.5
- Concatenate Non-Zero Digits and Multiply by Sum IeasyMathfrequency 10.5
- Construct the RectangleeasyMathfrequency 10.5
- Count Good Nodes in Binary TreemediumTreeDepth-First SearchBreadth-First SearchBinary Treefrequency 10.5
- Count Good Triplets in an ArrayhardArrayBinary SearchDivide and ConquerBinary Indexed Tree+3frequency 10.5
- Count Pairs Whose Sum is Less than TargeteasyArrayTwo PointersBinary SearchSortingfrequency 10.5
- Count Partitions With Max-Min Difference at Most KmediumArrayDynamic ProgrammingQueueSliding Window+2frequency 10.5
- Count Special TripletsmediumArrayHash TableCountingfrequency 10.5
- Count Subarrays Where Max Element Appears at Least K TimesmediumArraySliding Windowfrequency 10.5
- Count Subarrays With Majority Element ImediumArrayHash TableDivide and ConquerSegment Tree+3frequency 10.5
- Count Symmetric IntegerseasyMathEnumerationfrequency 10.5
- Count Unguarded Cells in the GridmediumArrayMatrixSimulationfrequency 10.5
- Count of Matches in TournamenteasyMathSimulationfrequency 10.5
- Count the Number of Computer Unlocking PermutationsmediumArrayMathBrainteaserCombinatoricsfrequency 10.5
- Count the Number of Special Characters IImediumHash TableStringfrequency 10.5
- Cousins in Binary TreeeasyTreeDepth-First SearchBreadth-First SearchBinary Treefrequency 10.5
- Custom Sort StringmediumHash TableStringSortingfrequency 10.5
- Delete Leaves With a Given ValuemediumTreeDepth-First SearchBinary Treefrequency 10.5
- Determine Whether Matrix Can Be Obtained By RotationeasyArrayMatrixfrequency 10.5
- Divide Intervals Into Minimum Number of GroupsmediumArrayTwo PointersGreedySorting+2frequency 10.5
- Earliest Finish Time for Land and Water Rides IeasyArrayTwo PointersBinary SearchGreedy+1frequency 10.5
- Elimination GamemediumMathRecursionfrequency 10.5
- Equal Row and Column PairsmediumArrayHash TableMatrixSimulationfrequency 10.5
- Escape the Spreading FirehardArrayBinary SearchBreadth-First SearchMatrixfrequency 10.5
- Find Closest Number to ZeroeasyArrayfrequency 10.5
- Find Common Elements Between Two ArrayseasyArrayHash Tablefrequency 10.5
- Find Minimum Diameter After Merging Two TreeshardTreeDepth-First SearchBreadth-First SearchGraph Theoryfrequency 10.5
- Find Most Frequent Vowel and ConsonanteasyHash TableStringCountingfrequency 10.5
- Find Players With Zero or One LossesmediumArrayHash TableSortingCountingfrequency 10.5
- Find Subsequence of Length K With the Largest SumeasyArrayHash TableSortingHeap (Priority Queue)frequency 10.5
- Find the K-th Character in String Game IIhardMathBit ManipulationRecursionfrequency 10.5
- Find the Occurrence of First Almost Equal SubstringhardStringString MatchingKnuth–Morris–Pratt Algorithmfrequency 10.5
- Find the Pivot IntegereasyMathPrefix Sumfrequency 10.5
- Find the Winner of the Circular GamemediumArrayMathRecursionQueue+1frequency 10.5
- Flip Columns For Maximum Number of Equal RowsmediumArrayHash TableMatrixfrequency 10.5
- Function Compositioneasyfrequency 10.5
- Generate Binary Strings Without Adjacent ZerosmediumStringBacktrackingBit Manipulationfrequency 10.5
- Greatest Sum Divisible by ThreemediumArrayDynamic ProgrammingGreedySortingfrequency 10.5
- Increasing Order Search TreeeasyStackTreeDepth-First SearchBinary Search Tree+1frequency 10.5
- Invalid TransactionsmediumArrayHash TableStringSortingfrequency 10.5
- Jump Game IXmediumArrayDynamic Programmingfrequency 10.5
- Jump Game VImediumArrayDynamic ProgrammingQueueHeap (Priority Queue)+1frequency 10.5
- Knight Probability in ChessboardmediumDynamic Programmingfrequency 10.5
- Largest Number After Digit Swaps by ParityeasySortingHeap (Priority Queue)frequency 10.5
- Leaf-Similar TreeseasyTreeDepth-First SearchBinary Treefrequency 10.5
- Length of Longest Fibonacci SubsequencemediumArrayHash TableDynamic Programmingfrequency 10.5
- Letter Case PermutationmediumStringBacktrackingBit Manipulationfrequency 10.5
- Lexicographically Minimum String After Removing StarsmediumHash TableStringStackGreedy+1frequency 10.5
- Longest Balanced Substring IImediumHash TableStringPrefix Sumfrequency 10.5