Google Software Engineer Interview: Coding Rounds, Googleyness and How to Practice | OfferBull
Google Software Engineer Interview: Coding Rounds, Googleyness and How to Practice
So the recruiter has booked your phone screen. Forty-five minutes, a shared Google Doc, and none of the stuff you’re used to leaning on: no autocomplete, no run button, nobody to tell you that you forgot a closing bracket on line nine except the person watching you type.
You probably know Dijkstra cold, and that’s not really the issue. The thing nobody tells you up front is how much of the score depends on whether you talked while you typed, as opposed to whether the final function would have compiled first time, and I think most candidates get that balance backwards. A messy-but-correct path that you narrate the whole way tends to land better than a tidy answer you produced in silence.
That’s the Google software engineer interview, more or less, once you strip away the forum folklore: coding while someone watches and listens, plus a behavioral round that Google calls Googleyness and Leadership. I’m going to stick to what Google itself publishes on its Careers site where I can, say so clearly when something comes from candidate reports or third-party prep sites instead, and skip the invented pass rates and “hire bar” charts that get passed around, because none of those are official and studying them is a good way to lose a week.
What Google says the loop looks like
Google’s Careers pages about how it hires describe two main formats, and they’re worth reading yourself, since they’re short.
Phone or Hangouts-style screen (SWE). Somewhere between 30 and 60 minutes, coding questions in a shared Google Doc, and you’re expected to explain your thinking as you go. Google even suggests a headset or speakerphone so your hands are free to type, which sounds like the most minor tip imaginable right up until you’re three levels deep in a recursive call and an earbud falls out.
Onsite-style loop. Usually about four Google employees, each for something like 30 to 45 minutes. For software engineering they’re looking at coding skill and technical expertise (the tools and languages you use, plus data structures and algorithms), and they’ll often go deep on your solution the way a real design discussion would, so be ready to defend a choice and improve it on the spot instead of handing over a finished function and waiting.
On Googleyness, which tends to get discussed together with leadership, Google’s public material talks about things like working on your own and with a team, helping people, finding a direction when it’s unclear what to do, and pushing yourself to get better. I’d use those as prompts for which stories to prepare. They’re not a hidden rubric you can game by saying “ambiguity” a lot.
Virtual interviews. A lot of loops happen over Google Meet now, and on this point Google’s candidate guidance doesn’t leave any wiggle room: don’t use AI during the interview, and if you do, you can be disqualified. Practice tools are for the weeks before. They don’t belong anywhere near the Meet window, and I’ll repeat that further down because it’s the rule people most like to blur.
What candidates often report (not official Google policy): usually a recruiter screen, then one or more technical phone screens, then a full loop of coding rounds plus Googleyness and Leadership, with systems architecture tacked on for more experienced people. It can drag on for weeks, team matching included, and some people say in-person rounds are back in a few places. All of that is secondhand, though, so read it as what others went through and not as a promise about your own packet.
Coding rounds: talk while you type
If there’s one idea to take into a Google coding round, it’s that the interviewer can only give you credit for reasoning they actually hear. Someone who goes quiet for twenty minutes and then pastes a clever one-liner tends to leave less on the feedback form than someone who talked through a clunky but correct approach and cleaned it up afterwards. I don’t think there’s a sacred checklist, but let me walk through how I’d handle a typical prompt, say “return the k most frequent words in a list.”
First I’d say it back in my own words and poke at it a bit. How long can the list get? Are we counting “Apple” and “apple” as the same word? What should happen with ties, and is k ever bigger than the number of distinct words? Then I’d type the answers at the top of the Doc. Partly that’s so we’re both looking at the same thing, and partly it’s because the constraints you quietly assume in your head are exactly how people end up solving a neighboring problem.
Next comes the dumb version, out loud, even if I can already see the good one: count everything, sort all the distinct words by count, take the first k, which is O(n log n). Interviewers like hearing you get to correct before you get to fast, and jumping straight to the trick can come across a little like you memorized the LeetCode tag. Then the better version, a hash map for counts and a heap of size k, with a sentence on why the heap beats sorting when k is small.
Writing it in a Google Doc is its own small adventure, because there’s no syntax help at all. I’d keep the functions short and the names dull (countByWord is a lot easier to debug out loud than cbw), indent by hand, and when I spot a bug I’d just say it: “the tie-break is backwards, fixing that.” That running commentary is part of what’s being evaluated. Forty seconds of frozen staring gets evaluated too, just not kindly.
Before saying I’m done, I’d trace two inputs by hand, one of them empty and one with a tie, because “done” followed by an empty-list crash on the very next question is a rough way to finish. And I’d give complexity in one go, “O(n log k) time, O(n) space for the map,” plus a note on how to cut the space if I could see one.
For pattern drills, use top coding interview patterns every developer should know. For the spoken habits that matter in a live round, see how to master live coding interviews, and the remote setup side is covered in how to ace remote technical interviews.
If your level might include system design, practice product-shaped prompts on their own; our list of top FAANG system design questions is a decent place to start. Google’s own Careers copy talks more about deep dives into your solution than about a blanket “everyone gets design” rule, so ask your recruiter what your loop includes instead of trusting a Reddit thread from 2023.
Googleyness and Leadership: themes and sample stories
This one’s the behavioral round, and the questions will sound familiar if you’ve done any interviewing at all: tell me about a time, describe a decision, walk me through a disagreement.
If you map Google’s public Googleyness themes onto stories, you get independence and teamwork, helping other people, handling ambiguity and pushing yourself. Leadership shows up more as influence, ownership, and deciding things without a perfect brief. I’d keep a loose STAR shape in mind so the story survives being boiled down into somebody’s notes, and there’s a full breakdown with timing in STAR method interview questions and examples.
The three samples below are made up, and they’re deliberately written in different voices. Don’t memorize them as your own; the follow-up questions will expose a borrowed story within a minute or two.
Sample 1: Ambiguity (flowing speech)
“Product came to us and said ‘make deploys stop failing,’ which isn’t really a ticket. There was no metric and maybe two weeks on the calendar. I owned the deploy scripts for our service, so before anyone started rewriting YAML I suggested we agree on one number to move. I pulled the last month of CI logs and found that roughly one deploy in five was flaking on a race in the smoke tests, where two jobs shared temp files under /tmp/ci-scratch. I wrote a one-pager with two options: quarantine the flaky smoke suite and add a lock on the temp directory as a quick win, or rebuild the whole pipeline. Then I got the PM and my tech lead into a thirty-minute meeting to pick one, instead of letting it drag on in Slack. We went with the quarantine and the lock, the failure rate dropped enough that they shelved the rebuild, and what I took away was that when the ask is fuzzy, it helps to show up with a measurable default and a decision to make, not just more questions.”
Sample 2: Helping others / teamwork (labeled STAR)
Situation: “A new hire on my team had been stuck for about a week on a dashboard that showed one campaign with triple the conversions the ad platform reported, and the release was slipping.”
Task: “I wasn’t their manager, but I’d built the original join, so getting them unstuck was effectively what unblocked the release.”
Action: “Honestly, my first instinct was to just fix it myself, but that wouldn’t have helped them next time. So I booked two pairing sessions with them. In the second one we noticed two columns that looked the same in the warehouse UI, campaign_name and campaign_name_raw, and it turned out someone had relabeled an export and the join was matching on the wrong one. They landed the fix under their own name and I reviewed it. Afterwards I wrote up a short wiki checklist of the ways that pipeline had broken on us before.”
Result: “The numbers lined up again, they shipped in the next sprint, and a couple of other engineers ended up using the checklist the month after. Helping, for me, meant handing over the debugging skill rather than keeping hold of the keyboard.”
Sample 3: Pushing back with ownership (flowing speech)
“Ahead of a launch, a senior engineer wanted to just raise our global API rate limit. We had three weeks, and EU users were already getting 429s from shared egress IPs, so raising the global cap would’ve covered up the real problem. I was going to own the API changes, which meant the operational risk was mine too. I didn’t argue it out in the big planning meeting. I asked him for thirty minutes one-on-one and brought a short comparison of the global raise against keying limits on region plus user, with a burst allowance for shared IPs, and suggested we ship the region key first behind a flag. He agreed, we hit the date, and during launch week the EU 429s stayed flat while US traffic spiked without trouble. The disagreement went better framed as an option than it would have as a veto.”
Your own versions of these should be real, and three or four of them is plenty if they cover different themes. Get each one down to about two minutes, and think ahead about “What would you do differently?” and “What did the other person think?”, since you’ll almost certainly get at least one of those.
L3 vs L4 vs L5: qualitative differences only
Google’s levels are nuanced, and whatever scorecard someone posted on a forum is not official, so treat this section as a rough qualitative sketch of what candidates and recruiters tend to describe. Your recruiter can tell you what’s actually expected for your role, and nothing here guarantees an offer.
L3 (early career). People at this level mostly get judged on solid data structures and on explaining themselves clearly. Your stories can come from an internship, a class project or your first job, and they’ll usually be about one feature or one well-contained bug, which is completely fine. Just don’t invent leadership you didn’t have, because the follow-ups will find it.
L4. The bar moves up a notch. You’re expected to finish a medium-hard problem cleanly and say something sensible about running code in production, and the stories should show you owning a service or project from beginning to end, including the trade-offs, the rollout, the monitoring and the other team you had to work with. A line like “I owned the migration and the rollback plan” starts to carry real weight here.
L5. Coding still counts, and candidates often say architecture or design conversations come up more at this level. The stories are supposed to show technical leadership, whether that’s picking a direction when nobody else would, raising the bar for the engineers around you, or work that crossed several teams. Expect sharper follow-ups too; “we improved the system” gets taken apart fast.
None of this is a formula. Hiring committees read the whole packet, so a weak Googleyness signal can sink a strong coding day and it can go the other way as well, which is why you prepare for both. If I had to choose, I’d back the candidate with one honest, well-practiced conflict story over the one with five shiny stories and nothing underneath.
A four-week practice plan (spoken, not silent)
Week 1: Foundations and Doc friction. Easy and medium problems on a timer, in a plain text file or a Google Doc with autocomplete off, talking out loud through every single one even though you’ll feel a bit ridiculous for the first few days. Arrays, hashing, two pointers, BFS and DFS. At the end of each session, say the complexity without checking, and if you can’t, that’s your sign you don’t own it yet.
Week 2: Patterns and interruption. Go through the pattern list linked above. Around fifteen minutes into a problem, stop and ask yourself a follow-up out loud, something like “what if n is 10^7?”, and at some point record one full mock coding answer on video. Watching it back is where you’ll notice the filler and the long silences, and a pause that feels like thinking from the inside can look a lot like being stuck from the outside.
Week 3: Googleyness stories plus optional design. Jot bullet-point STAR notes for four stories (ambiguity, conflict, failure, helping someone) and tell each one twice against a timer. If your recruiter mentioned design, sketch two systems on paper while you talk through requirements, API, data model and bottlenecks, because the skill being tested is talking while you sketch, not drawing a pretty diagram.
Week 4: Full mocks. Two coding sessions back to back with a friend or an AI voice interviewer, then a behavioral session the same day. Rehearse the Meet setup as well, headset on, Doc link ready, phone on Do Not Disturb. Then sleep. Cramming new patterns the night before mostly just makes people worse.
The spoken practice is the part most people skip, which is a shame, because reading solutions is quiet and a Google interview really isn’t.
Practicing with OfferBull
OfferBull is an AI mock interview app where a voice interviewer asks questions out loud and you answer by speaking. You can paste a Google-style job description or upload your resume so the prompts are tailored to you, and it asks follow-ups based on what you said and what’s on your resume. While you practice, it can show answer suggestions and STAR structures to help tighten a story, and it supports both English and Chinese.
The important part: this is practice for the weeks before your Google interviews. Google’s candidate guidance says not to use AI during the interview itself, so rehearse ahead of time, then go into the Meet with your own words and no unauthorized aids.
FAQ
How long is the Google SWE phone screen? Google Careers puts software engineering phone or Hangouts-style interviews at about 30 to 60 minutes, coding in a shared Doc and explaining as you go.
How many onsite interviewers should I expect? Usually around four Googlers, each for roughly 30 to 45 minutes, going by Google’s Careers interview page. Your recruiter will confirm the real schedule.
What is Googleyness? Google’s public hiring materials tie it to themes like working on your own and with a team, helping others, finding your way through unclear situations and pushing yourself to improve, so bring real stories that show those.
Can I use AI during a Google interview? No. Google’s candidate guidance says not to, and doing it can get you disqualified. Practice tools are for beforehand only.
Do experienced candidates always get system design? Google’s short public summary doesn’t say it’s universal. Candidates often report architecture-style rounds at more senior levels, so ask your recruiter what’s in your loop.
Practice This Out Loud
Open a blank Google Doc and solve one medium problem while talking for 25 minutes, headset on. Then tell one Googleyness story in two minutes with no notes. Once that feels steady, run the same drills in a voice mock interview. → Practice Now