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
- Replace WordsmediumArrayHash TableStringTriefrequency 5.0
- Restore Finishing OrdereasyArrayHash Tablefrequency 5.0
- Restore The ArrayhardStringDynamic Programmingfrequency 5.0
- Robot Bounded In CirclemediumMathStringSimulationfrequency 5.0
- Sales PersoneasyDatabasefrequency 5.0
- Shift Distance Between Two StringsmediumArrayStringPrefix Sumfrequency 5.0
- Shortest Cycle in a GraphhardBreadth-First SearchGraph Theoryfrequency 5.0
- Shortest Path in a Hidden GridmediumArrayDepth-First SearchBreadth-First SearchMatrix+1frequency 5.0
- Shortest Path with Alternating ColorsmediumBreadth-First SearchGraph Theoryfrequency 5.0
- Smallest Index With Digit Sum Equal to IndexeasyArrayMathfrequency 5.0
- Smallest Substring With Identical Characters IhardArrayBinary SearchEnumerationfrequency 5.0
- Snake in MatrixeasyArrayStringSimulationfrequency 5.0
- Solve the EquationmediumMathStringSimulationLinear Algebrafrequency 5.0
- Sort Integers by Binary ReflectioneasyArraySortingfrequency 5.0
- Sort the Matrix DiagonallymediumArraySortingMatrixfrequency 5.0
- Sparse Matrix MultiplicationmediumArrayHash TableMatrixLinear Algebrafrequency 5.0
- Split Array With Same AveragehardArrayHash TableMathDynamic Programming+3frequency 5.0
- Split With Minimum SumeasyMathGreedySortingfrequency 5.0
- Split a String in Balanced StringseasyStringGreedyCountingfrequency 5.0
- Split the ArrayeasyArrayHash TableCountingfrequency 5.0
- Stickers to Spell WordhardArrayHash TableStringDynamic Programming+4frequency 5.0
- Stone Game VhardArrayMathDynamic ProgrammingGame Theoryfrequency 5.0
- String Compression IIhardStringDynamic Programmingfrequency 5.0
- Strong FriendshipmediumDatabasefrequency 5.0
- Subarrays Distinct Element Sum of Squares IeasyArrayHash TableSegment Treefrequency 5.0
- Subrectangle QueriesmediumArrayDesignMatrixfrequency 5.0
- Subsequence After One Replacementmediumfrequency 5.0
- Sum of Beautiful SubsequenceshardArrayMathBinary Indexed TreeNumber Theoryfrequency 5.0
- Sum of Digits in Base KeasyMathfrequency 5.0
- Sum of Good NumberseasyArrayfrequency 5.0
- Sum of Perfect Square AncestorshardArrayHash TableMathTree+3frequency 5.0
- Sum of Squares of Special ElementseasyArrayEnumerationfrequency 5.0
- The Dining PhilosophersmediumConcurrencyfrequency 5.0
- The Maze IIIhardArrayStringDepth-First SearchBreadth-First Search+7frequency 5.0
- The Number of Beautiful SubsetsmediumArrayHash TableMathDynamic Programming+3frequency 5.0
- Timeout Cancellationeasyfrequency 5.0
- Total Characters in String After Transformations ImediumHash TableMathStringDynamic Programming+1frequency 5.0
- Traffic Signal ColoreasyMathStringSimulationfrequency 5.0
- Transformed ArrayeasyArraySimulationfrequency 5.0
- Tree NodemediumDatabasefrequency 5.0
- Valid Arrangement of PairshardArrayDepth-First SearchGraph TheoryEulerian Circuit+2frequency 5.0
- Validate Binary Tree NodesmediumTreeDepth-First SearchBreadth-First SearchUnion-Find+2frequency 5.0
- Web Crawler MultithreadedmediumDepth-First SearchBreadth-First SearchConcurrencyfrequency 5.0
- Zero Array Transformation IVmediumArrayDynamic Programmingfrequency 5.0