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
- Flatten Deeply Nested Arraymediumfrequency 5.0
- Get Maximum in Generated ArrayeasyArraySimulationfrequency 5.0
- Group the People Given the Group Size They Belong TomediumArrayHash TableGreedyfrequency 5.0
- H-Index IImediumArrayBinary Searchfrequency 5.0
- IP to CIDRmediumStringBit Manipulationfrequency 5.0
- Increasing Decreasing StringeasyHash TableStringCountingfrequency 5.0
- Inorder Successor in BST IImediumTreeBinary Search TreeBinary Treefrequency 5.0
- Insert Greatest Common Divisors in Linked ListmediumLinked ListMathNumber Theoryfrequency 5.0
- Is Object Emptyeasyfrequency 5.0
- Jump Game IIImediumArrayDepth-First SearchBreadth-First Searchfrequency 5.0
- K Radius Subarray AveragesmediumArraySliding Windowfrequency 5.0
- K-Concatenation Maximum SummediumArrayDynamic Programmingfrequency 5.0
- K-th Nearest Obstacle QueriesmediumArrayHeap (Priority Queue)frequency 5.0
- Kth Distinct String in an ArrayeasyArrayHash TableStringCountingfrequency 5.0
- Kth Largest Sum in a Binary TreemediumTreeBreadth-First SearchSortingBinary Treefrequency 5.0
- Largest Element in an Array after Merge OperationsmediumArrayGreedyfrequency 5.0
- Largest Palindrome ProducthardMathEnumerationfrequency 5.0
- Largest Positive Integer That Exists With Its NegativeeasyArrayHash TableTwo PointersSortingfrequency 5.0
- Last Substring in Lexicographical OrderhardTwo PointersStringLyndon Factorizationfrequency 5.0
- Least Number of Unique Integers after K RemovalsmediumArrayHash TableGreedySorting+1frequency 5.0
- Length of the Longest Valid SubstringhardArrayHash TableStringSliding Windowfrequency 5.0
- Lexicographically Smallest Permutation Greater Than TargetmediumHash TableStringGreedyCounting+1frequency 5.0
- Longest Balanced Subarray ImediumArrayHash TableDivide and ConquerSegment Tree+1frequency 5.0
- Longest Balanced Substring After One SwapmediumHash TableStringPrefix Sumfrequency 5.0
- Longest Balanced Substring ImediumHash TableStringCountingEnumerationfrequency 5.0
- Longest Palindrome After Substring Concatenation ImediumTwo PointersStringDynamic ProgrammingEnumerationfrequency 5.0
- Longest Palindrome After Substring Concatenation IIhardTwo PointersStringDynamic Programmingfrequency 5.0
- Longest Palindromic Path in GraphhardStringDynamic ProgrammingBit ManipulationGraph Theory+1frequency 5.0
- Longest Repeating SubstringmediumStringBinary SearchDynamic ProgrammingRolling Hash+4frequency 5.0
- Longest Square Streak in an ArraymediumArrayHash TableBinary SearchDynamic Programming+1frequency 5.0
- Longest Subsequence With Decreasing Adjacent DifferencemediumArrayDynamic Programmingfrequency 5.0
- Longest Substring Of All Vowels in OrdermediumStringSliding Windowfrequency 5.0
- Longest Well-Performing IntervalmediumArrayHash TableStackMonotonic Stack+1frequency 5.0
- Make Array EmptyhardArrayBinary SearchGreedyBinary Indexed Tree+3frequency 5.0
- Make Array Zero by Subtracting Equal AmountseasyArrayHash TableGreedySorting+2frequency 5.0
- Make Lexicographically Smallest Array by Swapping ElementsmediumArrayUnion-FindSortingfrequency 5.0
- Map Sum PairsmediumHash TableStringDesignTriefrequency 5.0
- Masking Personal InformationmediumStringfrequency 5.0
- Matrix Similarity After Cyclic ShiftseasyArrayMathMatrixSimulationfrequency 5.0
- Maximal Score After Applying K OperationsmediumArrayGreedyHeap (Priority Queue)frequency 5.0
- Maximize Amount After Two Days of ConversionsmediumArrayStringDepth-First SearchBreadth-First Search+1frequency 5.0
- Maximize Count of Distinct Primes After SplithardArrayHash TableMathSegment Tree+2frequency 5.0
- Maximize Happiness of Selected ChildrenmediumArrayGreedySortingfrequency 5.0
- Maximize Sum Of Array After K NegationseasyArrayGreedySortingfrequency 5.0
- Maximize Sum of Device Ratingsmediumfrequency 5.0
- Maximize Sum of Squares of DigitsmediumMathGreedyfrequency 5.0
- Maximum Area of a Piece of Cake After Horizontal and Vertical CutsmediumArrayGreedySortingfrequency 5.0
- Maximum Binary TreemediumArrayDivide and ConquerStackTree+3frequency 5.0
- Maximum Containers on a ShipeasyMathfrequency 5.0
- Maximum Ice Cream BarsmediumArrayGreedySortingCounting Sortfrequency 5.0