
Google Software Engineer candidates report coding-heavy interviews featuring data structures and algorithms, follow-up optimization, behavioral discussion, and occasional design or project-depth conversations.
$236K
Avg. Base Comp
$307K
Avg. Total Comp
3-5 rounds
Typical Rounds
1-3 months
Process Length
Google Software Engineer interviews in these reports are coding-led and explanation-heavy. Candidates describe online assessments or recruiter contact before live interviews, though the entry sequence varies. Several reports then move into technical coding conversations where candidates are expected to clarify a prompt, propose a workable approach, and explain complexity before improving it.
The most repeated technical themes are graphs, trees, traversal, dynamic programming, linked lists, stacks, and data-structure trade-offs. One candidate described recognizing a recursion risk in a graph-traversal problem and pivoting to iterative breadth-first search; the same account included a sliding-window rate-limiter prompt for high request volume. Other candidates report topological sort, binary-tree implementation, strings, heaps, backtracking, and class-design questions. These different prompts reward stating assumptions, identifying constraints, and discussing trade-offs instead of rushing into implementation.
Behavioral, project, and design discussion appear alongside coding in several accounts. Prepare concise examples of collaboration, motivation, leadership, difficult situations, and the technical decisions behind a project you built. Some candidates also encountered system-design or project discussion, but the exact mix varied by process and team.
In practice, use timed exercises to narrate a straightforward solution, test edge cases, and then improve it. For graph and tree work, make the representation, traversal choice, visited-state handling, and complexity explicit. When a question is vague, spend the opening minutes confirming inputs, outputs, and constraints; candidates specifically describe that clarification as part of the work.
Synthesized from 395 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Google process.
There were three rounds in total. The first was mostly behavioural and motivation-based, so I felt pretty comfortable. I had prepared answers for the usual questions — why the company, why the role, tell me about a project — and most of them came up. I remember thinking afterwards, okay, I think I handled that pretty well.
The second round was where things got serious. It was a technical interview with a mix of coding and problem-solving. They gave me a problem that looked fairly straightforward at first, but there was a catch involving the way the data was being processed. I initially went down the wrong path and spent a few minutes trying to make it work. Eventually I stopped, talked through the problem again out loud, and realised I was overcomplicating it.
Questions asked: Round 1 — coding: “Given an array of integers, return the length of the longest consecutive sequence.” Follow-up: “Can you do better than O(n log n)?” Round 2 — debugging: They showed me a Python function that was producing incorrect results when duplicate values appeared. I had to talk through the code, identify the bug, and explain how I'd test the fix. Round 3 — system/design: “Design a service that receives thousands of requests and processes them asynchronously.” The interviewer pushed on queues, retries, failures, and what happens if one worker goes down. Behavioural/case question: “Tell me about a time you had incomplete information but still had to make a technical decision.” They kept asking why I chose my approach rather than just accepting the first answer.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Google
Select the 2nd highest salary in the engineering department
| Question | |
|---|---|
| Empty Neighborhoods | |
| Top Three Salaries | |
| Merge Sorted Lists | |
| String Shift | |
| Top 3 Users | |
| First Touch Attribution | |
| Raining in Seattle | |
| Job Recommendation | |
| Minimum Change | |
| Find the First Non-Repeating Character in a String | |
| Delivery Estimate Model | |
| Daily Retention Summary | |
| Find Bigrams | |
| Last Transaction | |
| Find the Index with Equal Left and Right Sum | |
| Detecting ECG Tachycardia Runs | |
| Friendship Timeline | |
| Size of Joins | |
| The Brackets Problem | |
| P-value to a Layman | |
| Level Of Rain Water In 2D Terrain | |
| Google Maps Improvement | |
| N-gram Dictionary | |
| Third Purchase | |
| Nearest Common Ancestor | |
| Four Person Elevator | |
| Basic Regex | |
| Cyclic Detection | |
| Type-ahead Search |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report either an online assessment, a recruiter conversation, or both before later interviews. Assessment reports include LeetCode-style coding problems, while recruiter calls commonly cover background, logistics, and role interest.
Candidates report live coding on topics such as graphs, trees, dynamic programming, intervals, linked lists, tries, caches, and optimization. Interviewers may expect a straightforward solution first, followed by complexity analysis or an improved approach.
Several candidates report behavioral questions about teamwork, motivation, leadership, or working styles. Some also describe project deep-dives, code review, or basic system-design discussion; the exact combination may depend on the team and process.