Interview preparation · Updated October 2026
Google software engineer interview preparation
The Google SWE interview is seven stages — recruiter screen, one or two phone screens, a four-to-five-round onsite loop, a hiring committee decision, and team matching — and the people who interview you do not decide whether you are hired. This guide covers the full process, what each round scores, where the L3, L4 and L5 bars sit, and the questions that come up, with full solutions.
Durations and frequencies below come from candidate reports and independent analyses (sourced inline), not from Google-published data — Google publishes no rubric, timeline, or question bank.
2 company-tagged problems · 50 minutes · hiring signal + 12-dimension scorecard
4–5
rounds in the onsite loop, ~45 min each
6–12 wks
commonly reported process length
4
attributes every interviewer scores
~43%
of reported coding questions: arrays & strings
01 · Process
The Google interview process, end to end
Seven stages from application to offer. The technical stages are the predictable part — team matching is the variable part that stretches timelines.
Resume screen
Days 1–14A human recruiter triages your application against open roles — Google has no keyword ATS to game. Level calibration starts here: your scope of ownership on the resume sets the L3/L4/L5 hypothesis the loop will test.
Where people get stuck: Most candidates never get past this stage. A resume built around responsibilities instead of scope reads as junior regardless of years.
Recruiter call
30–45 minBackground, motivation, level targeting, logistics, and which org is hiring. No coding. This is where you learn whether team matching happens before or after the hiring committee for your loop — ask directly.
Where people get stuck: Targeting the wrong level. Borderline L4/L5 candidates should target L5: the committee down-levels far more readily than it up-levels.
Technical phone screen
45 min, ×1–2Live coding in a shared editor — historically Google Docs, increasingly an internal platform with syntax highlighting but no autocomplete and no run button. One to two data-structure problems at onsite-level difficulty.
Where people get stuck: Coding without execution. Candidates who rely on running code to find bugs collapse here; dry-run your code on paper before calling it done.
Onsite / virtual loop
4–5 rounds, ~45 min eachTwo or three coding rounds, one system design round at senior levels, one Googleyness behavioral round. Each interviewer is a different Googler who was not involved in earlier stages.
Where people get stuck: Follow-up depth on the second coding problem, and treating the behavioral round as a formality. Both produce real rejections.
Hiring committee
1–2 weeks after loopFour to five senior Googlers from unrelated teams review the written packet — feedback, scores, resume — and vote hire or no-hire, including level. They never met you, so thin interviewer write-ups hurt more than thin answers.
Where people get stuck: Mixed scores with no strong hire, or a packet with strong coding but no evidence of scope. The committee can request one or two extra interviews.
Team matching
2–8 weeks, highly variableApproved candidates meet hiring managers with open headcount in short conversations until one claims them. Approval is commonly reported valid for around a year, but recruiter attention drops off after roughly eight unmatched weeks.
Where people get stuck: No team bites — candidates call it hired but homeless. Treat match calls as interviews, stay flexible on product, and keep momentum between calls.
Offer and compensation
1–2 weeksA compensation committee sets the package against your level, not your previous salary. Level drives comp far more than the company name — the gap between adjacent levels is commonly six figures a year in total comp.
Where people get stuck: Accepting the first number. Google expects negotiation and responds to competing offers; anchor with market data for your level.
02 · The loop
The onsite loop: what each round scores
Four to five interviews of about 45 minutes each, back to back. Communication is scored in every one of them — narrate your thinking even when the problem looks routine.
Intro · 5 min
A few minutes of small talk. Treat it as part of the signal — communication is scored.
Coding · 45 min
Two problems in a shared editor. You drive; the interviewer probes.
System design · 45 min
Open-ended. Usually a familiar product. Deep dive on two areas you choose.
Coding round
45 minutes, two problemsThe first problem is nearly always a shape you have seen before: a hashmap complement search, a sliding window, a merge, a simple traversal. It exists to establish a baseline, not to separate candidates. Candidates who treat it as a warm-up and start coding in silence often lose ground here, because the interviewer is scoring your narration from the first minute and there is nothing to score yet.
The second problem is where the level shows. It is usually unfamiliar, and it is where the interviewer decides whether you belong at the level you applied for. Expect to spend 15-25 minutes on it. Finishing fast is not the goal — being followed is. An interviewer who cannot reconstruct your reasoning at the end cannot write a positive review, whatever your code does.
Questions are drawn from a shared internal bank rather than written fresh per candidate, so the same question appears repeatedly across loops at the same level. Candidates commonly report the first problem landing on arrays, hashmaps, strings or simple trees, and the second on dynamic programming, graph traversal, heaps, or a design-shaped problem such as an LRU cache.
You are expected to drive. The interviewer will ask clarifying questions and throw in requirements changes mid-solution — a new constraint, a scale limit, an edge case — to see whether you can absorb a change without restarting. Candidates who treat a mid-solution change as a reason to discard working code score worse than those who adapt in place.
System design round
45 minutes, one systemYou are asked to design a system you already know well — a URL shortener, a file storage service, a news feed, a rate limiter — at a scope you could plausibly own as an engineer at that level. The point is not to invent something novel; it is to show how you decompose a system you already understand.
The first ten minutes are the highest-leverage part of the round and are frequently wasted. Candidates who open their editor or start drawing boxes immediately get redirected. Spending those minutes on requirements, scale estimates, and API shape is what earns you the right to go deep later, because the interviewer needs a shared scope before depth means anything.
Scoring concentrates on breadth first, then depth on two areas you choose. Breadth means covering the main components and their responsibilities without missing a whole tier — clients, API layer, storage, caching, async. Depth means going one or two levels down on the parts you pick and defending the trade-offs, rather than shallow-surfing everything. Candidates who try to depth-first on one component usually run out of time before establishing breadth at all.
Scale is the other half. Every design decision is checked against the numbers you stated at the start. This is why estimating first matters: a design that is coherent at 1,000 writes per second and incoherent at 100,000 is an incomplete answer regardless of how elegant the diagram is.
03 · Levels
What changes at L3, L4 and L5
The questions come from the same canon. What changes is how unfamiliar the problem is, how hard you are pushed on it — and that the committee can move your level one step either way.
Early career
Two DSA problems you have seen the shape of before. Arrays, hashmaps, strings, basic trees. The bar is correct code with clear reasoning, not exotic algorithms.
Mid-level
Still two problems, but at least one is unfamiliar. Dynamic programming, graph traversal and heap trade-offs start appearing. You are expected to ask clarifying questions before coding.
Senior
One hard problem plus depth. Partition search, amortised-cost arguments, and being able to defend why your approach is optimal rather than merely working.
The down-level trap. Borderline L4/L5 candidates should target L5: the committee down-levels strong-but-thin packets far more readily than it up-levels. Passing every round and landing one level below target is a common outcome — and the comp gap between adjacent levels is commonly six figures a year. Practise at your level with a Google mock interview at SDE-2.
04 · Scoring
The four attributes every interviewer scores
From Google's structured-interviewing rubric. Candidates prepare for three interviews and get scored on four things — knowing the fourth in advance is free signal.
General Cognitive Ability
GCAHow you solve problems you have not seen before and how fast you learn. Signaled in coding rounds by what you do in the first five minutes of an unfamiliar problem: restate, probe, decompose — not by whether you have seen it.
Role-Related Knowledge
RRKWhether you have the domain depth the role needs. Signaled by fluency with the fundamentals — complexity analysis stated unprompted, trade-offs named before being asked — rather than by trivia about any specific technology.
Leadership
Emergent leadershipWhether you step up when no one assigned you to. Google explicitly does not tie this to titles: driving a fix across teams, substituting for an absent owner, or changing a decision with evidence all count. Your behavioral stories carry this.
Googleyness
Culture signalComfort with ambiguity, bias to action, intellectual humility, collaborative posture. Scored in the behavioral round and read off your technical rounds too — ignoring hints or resisting feedback in a coding round is Googleyness evidence.
05 · Coding
Where coding questions actually concentrate
Shares are from IGotAnOffer's analysis of the 100 most recent SWE coding questions reported on Glassdoor (March 2025) — one source's analysis, quoted as such, not Google-published data.
Arrays & strings
~43% of reported questionsTwo pointers, sliding window, prefix sums. Two Sum, 3Sum, longest substring without repeats, subarray sum equals K.
Graphs & trees
~34% of reported questionsBFS/DFS, topological sort, union-find. Number of Islands, Course Schedule, Clone Graph, Word Ladder. Reported in roughly three of four onsite loops at L4+.
Dynamic programming
~11% of reported questionsState definition first, then bottom-up vs top-down. Word Break, Coin Change, longest increasing subsequence. Fewer questions, but each one eats 20+ minutes.
Design-shaped coding
Recurring at L4+LRU Cache, Tries, autocomplete. These are data-structure design questions scored on clean code and trade-off discussion, not cleverness.
Binary search variants
Recurring second-problem pickRotated arrays, search on the answer, median of two sorted arrays. The classic "unfamiliar second problem" at senior loops.
Coding questions that come up at Google
22 questions that show up repeatedly in the Google loop, in editorial order — what tends to surface first — not a measured frequency. Each one links to a full worked solution.
Easy · 3
Medium · 15
Sorted-input reasoning and in-place mutation.
Array
Heap versus bucketing — picks the cheaper one unprompted.
Array · Hash Table · Heap · Bucket Sort
Sliding window invariants stated before coding.
Hash Table · String · Sliding Window
Prefix sum plus hashmap, and explaining why the map holds counts.
Array · Hash Table · Prefix Sum
Backtracking with correct pruning.
Hash Table · String · Backtracking
Nested-structure parsing, single versus double pass.
String · Stack · Recursion
Topological sort; cycle detection as a follow-up.
Depth-First Search · Breadth-First Search · Graph · Topological Sort
Interval overlap via sorting or a sweep line.
Array · Heap · Sorting · Greedy
Graph traversal with a visited map; the canonical "visited before push" moment.
Depth-First Search · Breadth-First Search · Graph · Hash Table
DFS versus BFS flood fill, and recursion depth.
Depth-First Search · Breadth-First Search · Matrix · Union Find
Design: O(1) get and put. Hashmap plus doubly linked list.
Hash Table · Linked List · Design
Two-pointer after sorting, plus the pruning that makes it O(n²).
Array · Two Pointers · Sorting
Quickselect versus sorting — the expected linear answer.
Array · Divide and Conquer · Sorting · Heap
DP state definition; bottom-up versus top-down.
Dynamic Programming · Breadth-First Search
Two-pointer once the input is known to be sorted.
Array · Two Pointers · Binary Search
Hard · 4
Heap trade-offs versus repeated pairwise merging.
Linked List · Heap · Divide and Conquer
Design: choosing an encoding and round-tripping it without losing nulls.
Depth-First Search · Breadth-First Search · Tree · Design
Binary search on partition, and whether you can find the partition first.
Array · Binary Search · Divide and Conquer
BFS on an implicit graph; how you avoid re-scanning the alphabet.
Hash Table · String · Breadth-First Search
Deep dives: where the follow-up is the real question
For these questions a correct answer is not enough on its own. Each has an approach worth stating out loud, a complexity worth justifying, and the follow-up that separates the levels.
Approach: One pass with a hashmap from value to index. Before the complement lookup, check whether the value already seen is the complement — that ordering is the whole trick and is what interviewers listen for.
Complexity: O(n) time, O(n) space. Say "n is the length of the input array" once, then move on.
Follow-up: Ask what happens if the array has duplicates, then what if you needed all unique pairs. The second turns it into a counting problem, and the hashmap answers it in one pass.
Approach: Prefix sums plus a hashmap of previously seen prefix frequencies. The non-obvious part is that the map holds counts rather than presence, which is what makes duplicates correct.
Complexity: O(n) time, O(n) space.
Follow-up: Ask about all-negative input, then about the longest subarray summing to k. The second is a different problem and the honest answer is that you would keep a parallel map of earliest indices.
Approach: Sliding window with a last-seen index map. State the window invariant before coding: the window is always valid, and you only move the left boundary forward.
Complexity: O(n) time, O(k) space where k is the alphabet size.
Follow-up: Ask for the longest substring with at most k distinct characters — generalise the condition — then for the substring itself rather than its length. The invariant you just stated is the whole answer to both.
Approach: Two viable routes: a size-k heap, or bucketing by frequency to stay O(n). Naming both and picking the one that matches the constraints you were given is the signal, not the code.
Complexity: Heap route is O(n log k). Bucketing is O(n). Say which one you are writing and why.
Follow-up: Ask what happens when k approaches n, and then how this differs from finding the k most common words across a large corpus, which is where a trie or a distributed count starts to matter.
Approach: Hashmap plus doubly linked list, O(1) get and put. The thing being tested is whether you reach for it unprompted — this question is usually a disguised design question.
Complexity: O(1) average for both operations.
Follow-up: Ask about thread safety, then about what you would change at scale: sharding the cache, or LFU versus LRU under a skewed distribution. Most candidates can implement it; far fewer can talk about when it stops being the right structure.
Approach: Topological sort over a prerequisite graph, with in-degree counting and a queue. Frame it as a dependency ordering problem before naming the algorithm.
Complexity: O(V + E) time and space.
Follow-up: Ask what happens with a cycle, then ask for the ordering itself rather than whether one exists. The cycle case is the common follow-up and the ordering case is what separates a strong hire from a hire.
Approach: A size-k heap holding the current head of each list. The trade-off worth naming: heap is O(N log k) with k lists, repeated pairwise merge is O(kN) but with no auxiliary structure.
Complexity: O(N log k) time, O(k) space.
Follow-up: Ask to return just the k smallest elements rather than a full merge. That reframes it as a partial selection problem, and noticing the reframing without being told is the point of the follow-up.
Approach: Sort, then two pointers with a single skip rule when duplicates produce the same triple. Sorting first is not optional — say why before coding it.
Complexity: O(n²) time after an O(n log n) sort, O(1) auxiliary beyond the sort.
Follow-up: Ask about 4Sum. The answer is the same structure one level up, and saying so unprompted is what the question is looking for.
That is 22 of 400+ problems in the bank
Sorted by topic, difficulty and company, with solutions for each.
06 · System design
System design round: structure beats knowledge
System design is half the Google loop and the half candidates prepare least. The questions change between loops and between interviewers, so preparing a specific prompt has limited value — they are almost always products you already use. What transfers is the structure of the answer.
Requirements and scope
~10 minWhat does the system do, who uses it, what are the read and write paths, and what is the scale? Get on the board an agreed scope before anything else. This is the phase interviewers are scoring hardest, and it is the one candidates skip.
High-level design
~10 minComponents and their responsibilities, with the data flow between them. Cover the main tiers — clients, API layer, service or two, storage, cache, and the async path — before going deep on any of them. Breadth first, because depth without breadth reads as tunnel vision.
Deep dive
~20 minGo one or two levels down on two areas you choose. Scaling the read path, the write path, and the storage model are the usual picks. For each, state the requirement, what is hard about it, the options, and the trade-off — then defend the choice against the alternatives.
Bottlenecks and wrap-up
~5 minName the bottleneck you expect first, what you would monitor, and how the design degrades under a spike. Finishing by volunteering the weaknesses of your own design is one of the cheapest signals you can send.
Prompts that come up, and why
- Design a URL shortener — read-heavy, write-light, and the write path has an interesting race condition around id allocation.
- Design a file storage and sharing service — the richest of the common prompts, because chunking, deduplication and conflict resolution all surface on their own.
- Design a rate limiter — small enough to finish in 30 minutes, and the natural place to talk about distributed consistency and what happens when the limiter state is lost.
- Design a notification system — fan-out, delivery guarantees and the queue design do most of the work.
- Design a news feed or a messaging system — read amplification and ordering are the interesting parts.
What strong looks like. A strong answer is not the most components. It is a design where every choice follows from a number you stated, the trade-offs are named before they are asked for, and the interviewer is choosing which parts to go deep on rather than being assigned a script. Interviewers report that the candidates who do best are the ones who keep saying "here is the requirement, here is the trade-off" — the diagram is incidental.
07 · Behavioral
Googleyness: the round candidates skip
The Googleyness round is a 45-minute behavioral interview, usually four to six questions, and it produces genuine rejections — including of candidates with perfect coding scores. Interviewers score against the same four attributes, and they dig: every story gets follow-ups like "what would you do differently?" and "how did your teammates react?" A story that cannot survive follow-ups is worse than no story.
Comfort with ambiguity
Name the ambiguity explicitly — "I did not know if the regression was real, which team owned it, or whether two weeks on it was justified" — then show how you framed the problem yourself and moved without permission.
Bias to action
A calculated risk taken with incomplete information, with reasoning about reversibility. Cheap-to-undo bets you took beat perfect analyses you never acted on.
Intellectual humility
A real disagreement where evidence flipped you, retracted to the same audience that heard your original position. "I was right and they eventually agreed" is the worst possible answer to a disagreement question.
Collaborative posture
A peer whose pushback made the outcome better — credit them specifically for what they contributed, show their idea integrated into the result. Token credit for a minor refinement reads as ego management.
Questions worth preparing
- Tell me about a time you navigated ambiguity on a project.
- Describe a disagreement with a teammate. What happened?
- Tell me about a time you led without formal authority.
- Describe a decision you made with incomplete information.
- Tell me about a time you changed your mind about something important.
- Tell me about a time you helped a teammate succeed.
- Describe a project that went late. What did you own?
- Why Google, and why this role specifically?
The STAR weighting. Use STAR with most of the weight on Action: Situation 15–20%, Task 10–15%, Action 50–60% with "I" not "we" and 3–4 clear steps, Result 15–20% quantified. Then prepare the two follow-ups you least want for each story — those are the ones you will get.
08 · Failure modes
What fails candidates, in rough order
Read these as self-assessment prompts — they are only useful if you can answer them honestly about your own sessions.
Coding in silence
The single most common failure, and the easiest to fix. An interviewer cannot score reasoning they cannot hear. Narrate the requirement, the approach, the complexity and the edge cases as you work, before you type.
Opening the system design round with architecture
Drawing boxes in the first two minutes reads as skipping the interview. Ask what the system must do, who uses it, and what the scale is before proposing anything. That scoping is the part being scored.
Optimising before the baseline works
Writing a clever solution before confirming you understood the problem is the most expensive habit on this list. Get a correct, simple solution first, then improve it in the open. You are not timed on elegance.
Answering a design question with a technology
"We would use Kafka" is not a design decision. Say what the requirement is, what is hard about it, and what the options trade off. Naming the tool last, if at all, is what reads as senior.
Discarding working code when a requirement changes
Interviewers add constraints deliberately, to see how you adapt. Modify in place and explain what changed. Starting over reads as panic.
Defending complexity without stating it
Saying "this is O(n)" is a claim. Say what the input size is and what the bound is relative to, once, as you go. It takes seconds and it is the difference between a code sample and an engineering sample.
Spending the last ten minutes on polish
A slightly slower solution that you can explain beats an optimal one you cannot. If you are out of time, spend it verbalising what the solution does rather than micro-optimising.
09 · Plan
An eight-week preparation plan
Ordered by dependency — patterns before problems, coding before design, everything before mocks — not by prestige.
Patterns, not problems
Hashmaps, two pointers, sliding window, trees, heaps. Drill until you recognise the pattern in under two minutes — pattern recognition is the actual skill being tested, and it only comes from volume at medium difficulty.
Graphs and dynamic programming
BFS/DFS, topological sort, union-find; then DP state definition with bottom-up and top-down. These are the second-problem topics that decide levels. Time every session at 45 minutes with no run button.
System design + behavioral stories
Run the 45-minute design structure end to end on five familiar products. In parallel, write out 8–10 STAR stories covering conflict, ambiguity, leadership without authority, failure, and data-driven decisions — with numbers in every result.
Full loops under pressure
Timed mock interviews back-to-back, including one full day if you can. Narrate everything out loud, confirm your format with the recruiter (virtual vs in-person, standard vs the Gemini-assisted pilot), and rest the day before.
Prefer a structured track? The Learn section covers DSA patterns and interview prep plans step by step.
10 · Reps
Practise it under pressure
Reading is not the bottleneck — timed reps are. InterviewSkool's AI mock interviews run a full Google-tagged session and score how you interviewed, not just whether the code passed.
Frequently asked questions
How many rounds are in the Google software engineer interview?+
Typically seven stages: a recruiter screen, one or two 45-minute phone screens with live coding, then an onsite or virtual loop of four to five rounds — two or three coding, one system design at senior levels, one Googleyness behavioral. A hiring committee then decides, and team matching follows before any offer.
How long does the Google interview process take?+
Six to twelve weeks is the commonly reported range for software engineer loops, with team matching as the main variable that stretches it. Glassdoor aggregates roughly 38 days on average across all Google roles from 26,000-plus candidate reports. Silence during team matching is normal and usually not a signal.
Who decides whether Google hires you?+
Not your interviewers. They submit written feedback and scores, and a hiring committee of senior Googlers who never met you reviews the packet and votes. The committee can also move your level up or down one step. Even after approval, you still need a team with open headcount to match with you.
What is the Googleyness interview?+
A 45-minute behavioral round scoring comfort with ambiguity, bias to action, intellectual humility, and collaboration. Expect four to six questions in STAR format with aggressive follow-ups like "what would you do differently?" Polished stories read as evasive, so prepare decision points, not scripts.
Does Google ask system design at L4?+
A standalone system design round is standard from L5 up and rare at L3. At L4, design sometimes appears folded into a coding round rather than as its own session. Coding carries the most weight at every level — candidates pass or fail on coding, and get placed on level largely through design.
Can I practise a Google mock interview on InterviewSkool?+
Yes. Start an interview with Google as the target company and pick your level. You get two company-tagged problems judged against hidden tests, then a hiring signal and a 12-dimension scorecard covering exactly what the loop grades: correctness, complexity, communication, and follow-up depth.
Discussion
Questions about the Google loop, the level bar, or which problems actually came up. Anyone preparing for a Google round is welcome to ask.
to join the discussion.
Loading the discussion…
Comments are public and moderated. Keep them useful and respectful — our terms apply.