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
- Make Array Non-decreasingmediumArrayStackGreedyMonotonic Stackfrequency 8.1
- Market Analysis ImediumDatabasefrequency 8.1
- Max Difference You Can Get From Changing an IntegermediumMathGreedyfrequency 8.1
- Max Increase to Keep City SkylinemediumArrayGreedyMatrixfrequency 8.1
- Max Pair Sum in an ArrayeasyArrayHash Tablefrequency 8.1
- Max StackhardLinked ListStackDesignDoubly-Linked List+1frequency 8.1
- Maximize Cyclic Partition ScorehardArrayDynamic Programmingfrequency 8.1
- Maximize Spanning Tree Stability with UpgradeshardBinary SearchGreedyUnion-FindGraph Theory+1frequency 8.1
- Maximize the Distance Between Points on a SquarehardArrayMathBinary SearchGeometry+1frequency 8.1
- Maximize the Number of Target Nodes After Connecting Trees IIhardTreeDepth-First SearchBreadth-First Searchfrequency 8.1
- Maximum Alternating Subsequence SummediumArrayDynamic Programmingfrequency 8.1
- Maximum Difference Between Adjacent Elements in a Circular ArrayeasyArrayfrequency 8.1
- Maximum Difference Between Even and Odd Frequency IeasyHash TableStringCountingfrequency 8.1
- Maximum Element After Decreasing and RearrangingmediumArrayGreedySortingfrequency 8.1
- Maximum Frequency After Subarray OperationmediumArrayHash TableDynamic ProgrammingGreedy+2frequency 8.1
- Maximum Length Substring With Two OccurrenceseasyHash TableStringSliding Windowfrequency 8.1
- Maximum Nesting Depth of Two Valid Parentheses StringsmediumStringStackBracket Sequencesfrequency 8.1
- Maximum Number of Points From Grid QuerieshardArrayTwo PointersBreadth-First SearchUnion-Find+3frequency 8.1
- Maximum Repeating SubstringeasyStringDynamic ProgrammingString Matchingfrequency 8.1
- Maximum Subarray Sum with One DeletionmediumArrayDynamic Programmingfrequency 8.1
- Maximum Subarray With Equal ProductseasyArrayMathSliding WindowEnumeration+1frequency 8.1
- Minimum Absolute Difference in Sliding SubmatrixmediumArraySortingMatrixfrequency 8.1
- Minimum Bit Flips to Convert NumbereasyBit Manipulationfrequency 8.1
- Minimum Cost Path with TeleportationshardArrayDynamic ProgrammingMatrixfrequency 8.1
- Minimum Cost to Reach Destination in TimehardArrayDynamic ProgrammingGraph TheoryDijkstra's Algorithmfrequency 8.1
- Minimum Cuts to Divide a CircleeasyMathGeometryfrequency 8.1
- Minimum Deletions to Make Array DivisiblehardArrayMathSortingHeap (Priority Queue)+3frequency 8.1
- Minimum Index of a Valid SplitmediumArrayHash TableSortingfrequency 8.1
- Minimum Number of Operations to Sort a Binary Tree by LevelmediumTreeBreadth-First SearchBinary Treefrequency 8.1
- Minimum One Bit Operations to Make Integers ZerohardMathDynamic ProgrammingBit ManipulationRecursion+1frequency 8.1
- Minimum Operations to Equalize Binary StringhardMathStringBreadth-First SearchUnion-Find+1frequency 8.1
- Minimum Operations to Make a Uni-Value GridmediumArrayMathSortingMatrixfrequency 8.1
- Minimum Operations to Make the Array IncreasingeasyArrayGreedyfrequency 8.1
- Minimum Swaps to Sort by Digit SummediumArrayHash TableSortingfrequency 8.1
- Mirror ReflectionmediumMathGeometryNumber TheoryLeast Common Multiple+1frequency 8.1
- Most Beautiful Item for Each QuerymediumArrayBinary SearchSortingfrequency 8.1
- Most Frequent Even ElementeasyArrayHash TableCountingfrequency 8.1
- Most Profit Assigning WorkmediumArrayTwo PointersBinary SearchGreedy+1frequency 8.1
- Nearest Exit from Entrance in MazemediumArrayBreadth-First SearchMatrixfrequency 8.1
- Number ComplementeasyBit Manipulationfrequency 8.1
- Number of Days Between Two DateseasyMathStringfrequency 8.1
- Number of Paths with Max ScorehardArrayDynamic ProgrammingMatrixfrequency 8.1
- Number of Segments in a StringeasyStringfrequency 8.1
- Number of Squareful ArrayshardArrayHash TableMathDynamic Programming+3frequency 8.1
- Number of Strings That Appear as Substrings in WordeasyArrayStringfrequency 8.1
- Number of Unique XOR Triplets ImediumArrayMathBit Manipulationfrequency 8.1
- Number of ZigZag Arrays IIhardMathDynamic Programmingfrequency 8.1
- Pairs of Songs With Total Durations Divisible by 60mediumArrayHash TableCountingfrequency 8.1
- Parse Lisp ExpressionhardHash TableStringStackRecursionfrequency 8.1
- Prime Number of Set Bits in Binary RepresentationeasyMathBit ManipulationPrimality Testfrequency 8.1