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
- Remove CommentsmediumArrayStringfrequency 5.5
- Remove Zero Sum Consecutive Nodes from Linked ListmediumHash TableLinked Listfrequency 5.5
- Reshape Data: Concatenateeasyfrequency 5.5
- Restore the Array From Adjacent PairsmediumArrayHash TableDepth-First Searchfrequency 5.5
- Reverse Degree of a StringeasyStringSimulationfrequency 5.5
- Robot CollisionshardArrayStackSortingSimulationfrequency 5.5
- Sales Analysis IIIeasyDatabasefrequency 5.5
- Score After Flipping MatrixmediumArrayGreedyBit ManipulationMatrixfrequency 5.5
- Second Largest Digit in a StringeasyHash TableStringfrequency 5.5
- Select Dataeasyfrequency 5.5
- Shortest String That Contains Three StringsmediumStringGreedyEnumerationfrequency 5.5
- Shortest Word Distance IImediumArrayHash TableTwo PointersString+1frequency 5.5
- Sliding PuzzlehardArrayDynamic ProgrammingBacktrackingBreadth-First Search+5frequency 5.5
- Smallest Range IeasyArrayMathfrequency 5.5
- Smallest Rotation with Highest ScorehardArrayPrefix Sumfrequency 5.5
- Sort Even and Odd Indices IndependentlyeasyArraySortingfrequency 5.5
- Spiral Matrix IVmediumArrayLinked ListMatrixSimulationfrequency 5.5
- Split Array into Fibonacci SequencemediumStringBacktrackingfrequency 5.5
- Stone Game IVhardMathDynamic ProgrammingMinimaxGame Theory+3frequency 5.5
- Stone Game VIImediumArrayMathDynamic ProgrammingMinimax+2frequency 5.5
- Strange PrinterhardStringDynamic Programmingfrequency 5.5
- Sum of Absolute Differences in a Sorted ArraymediumArrayMathPrefix Sumfrequency 5.5
- Sum of All Odd Length SubarrayseasyArrayMathPrefix Sumfrequency 5.5
- Sum of Digits of String After ConverteasyStringSimulationfrequency 5.5
- Sum of GCD of Formed PairsmediumArrayMathTwo PointersSorting+2frequency 5.5
- Super Washing MachineshardArrayGreedyfrequency 5.5
- Swap For Longest Repeated Character SubstringmediumHash TableStringSliding Windowfrequency 5.5
- Task Scheduler IImediumArrayHash TableSimulationfrequency 5.5
- The K Weakest Rows in a MatrixeasyArrayBinary SearchSortingHeap (Priority Queue)+1frequency 5.5
- Top TravellerseasyDatabasefrequency 5.5
- Total Appeal of A StringhardHash TableStringDynamic Programmingfrequency 5.5
- Two-Letter Card GamemediumArrayHash TableStringCounting+1frequency 5.5
- Uncrossed LinesmediumArrayDynamic ProgrammingLongest Common Subsequencefrequency 5.5
- Unique Middle Elementeasyfrequency 5.5
- Unique Morse Code WordseasyArrayHash TableStringfrequency 5.5
- Unique Substrings in Wraparound StringmediumStringDynamic Programmingfrequency 5.5
- Verbal Arithmetic PuzzlehardArrayMathStringBacktrackingfrequency 5.5
- Vowels Game in a StringmediumMathStringBrainteaserGame Theoryfrequency 5.5
- Walking Robot SimulationmediumArrayHash TableSimulationfrequency 5.5
- Water Bottles IImediumMathSimulationfrequency 5.5
- Ways to Split Array Into Three SubarraysmediumArrayTwo PointersBinary SearchPrefix Sumfrequency 5.5
- Weighted Word MappingeasyArrayStringSimulationfrequency 5.5
- XOR Operation in an ArrayeasyMathBit Manipulationfrequency 5.5
- Zigzag Grid Traversal With SkipeasyArrayMatrixSimulationfrequency 5.5
- Zuma GamehardStringDynamic ProgrammingStackBreadth-First Search+1frequency 5.5
- Add One Row to TreemediumTreeDepth-First SearchBreadth-First SearchBinary Treefrequency 5.0
- Append Characters to String to Make SubsequencemediumTwo PointersStringGreedyfrequency 5.0
- Append K Integers With Minimal SummediumArrayMathGreedySortingfrequency 5.0
- Array NestingmediumArrayDepth-First Searchfrequency 5.0
- Array Reduce Transformationeasyfrequency 5.0