Skip to main content
Google
Google Software Engineer (SWE) Interview Guide

Updated by Google candidates

Back to all
VerifiedUnited States6 months ago
Google

Software Engineer (L4) Interview Experience

Google·Mid Level / L4
My strongest Google round was with a senior interviewer who never opened a LeetCode prompt. He just asked what I knew about algorithms, pushed me into distributed merge sort from first principles, and apparently got more signal from that than a standard coding screen.
Result
Got offer
Interview date
7 months ago
Timespan
1 month
Difficulty
Moderate

Interview process

I got into the loop through a backdoor-ish hiring manager route instead of a cold apply, and for L4+ I had to have a soft match with a team before the loop even started. My process was a recruiter alignment call, the GHA questionnaire, one phone screen, two onsite technicals, and a standard Googliness behavioral. What stood out was how collaborative and non-LeetCodey it felt, especially the phone screen, which was basically a live algorithms conversation that pushed on first principles instead of rehearsed patterns. I also learned that Google is doing more team matching before hiring committee now, because a hiring manager's statement of support can strengthen your packet if one round is only lean hire. I ended up accepting because the interview experience was consistently positive and honestly much better than how Google interviews are usually portrayed online.

  • Recruiter screen
  • Online assessment
  • Phone interview
  • Technical interview
  • Final round

Interview rounds

13 questions across 6 rounds

Recruiter screen

3 questions

Overview

My first call was basically a light alignment check with the recruiter, not a real evaluation, and it was mostly about role fit, motivations, and logistics.

Question types asked

Specific questions asked

What is your definition of success?

I answered this at a pretty high level. The whole call felt more like they were trying to understand me as a person and what motivates me than score me on anything, so I kept it top level and fit-focused.

Tell me about yourself and walk me through your resume.

Could you describe your experience in your own words?

I gave a very cursory overview rather than a chronological deep dive. They were not probing hard on impact, ownership, or technical depth yet. It was more just making sure my background matched the team and level.

Are you authorized to work here, are you open to relocation, and are we aligned on level and role details?

I just confirmed the basics like work authorization, relocation openness, and the level I was interviewing for. It really was a checklist call more than anything else.

Online assessment

1 question

Overview

After the recruiter call I got the GHA, which was an async work-style questionnaire where the main trick was staying internally consistent across a lot of similar prompts.

Question types asked

Specific questions asked

Complete the Google Hiring Assessment questionnaire.

It was a hundred-plus question async questionnaire. I treated it as a consistency test more than anything else. My prep was basically to keep my answers consistent across similar or inverted questions, and not sit in the middle on every scale.

Phone interview

3 questions

Overview

My phone screen was the most interesting round because it felt like a collaborative whiteboarding conversation with a very senior interviewer, not a LeetCode screen.

Specific questions asked

What do you know about algorithms?

Explain big O complexity.

How do common algorithms fall into those complexity buckets?

Why is merge sort n log n?

I started with the fundamentals I knew, and when I mentioned I remembered sorting was n log n but could not fully recall why, he pushed there on purpose. We rebuilt it from first principles together and talked through big O and common algorithms. It felt like he was trying to get to the edge of what I actually understood in real time, so I stayed collaborative and reasoned out loud instead of trying to bluff.

If the data set is too large to fit in memory on one machine and you have multiple workers, how would you sort it?

I treated it as an algorithms problem distributed across workers. I talked through splitting the data, sorting partitions independently, and then merging across workers, and I also layered in a little real-world production thinking around scaling because I think that signals seniority. The prompt itself was very open-ended, so the important part was structuring the approach clearly.

Define the scope and requirements for a snake_case to camelCase converter function.

What input format do you expect?

What edge cases should be rejected or handled?

I focused more on requirements than code. I clarified the exact input format, what invalid input should do, and which edge cases I would guard against before writing much syntax. He seemed much more interested in whether I scoped the function cleanly and set sensible checks than in the implementation itself.

Technical interview (1)

1 question

Overview

My first onsite technical was a string manipulation problem that looked simple at first but really hinged on clarifying the rules and reducing it to the right invariant.

Specific questions asked

Given two strings and two allowed operations, swapping positions of letters and converting all occurrences of one character to another, can the first string be transformed into the second?

What assumptions can we make about uppercase versus lowercase input?

Is the input limited to the 26 lowercase letters?

What edge cases matter here?

The question needed a decent amount of clarification, so I whiteboarded edge cases with the interviewer first. Once we constrained it to lowercase letters, the core insight was that it came down to character frequencies, specifically whether the frequency multiset matched across the two strings regardless of which letters the counts were attached to. I also volunteered time and space complexity as I discussed approaches, so I was not really pushed on that at the end.

Technical interview (2)

1 question

Overview

My second onsite technical was a graph problem dressed up in a more realistic train-schedule format, so a lot of the challenge was parsing the prompt and locking down what exactly we were optimizing for.

Specific questions asked

Given a train schedule with departure city, arrival city, start time, end time, and duration, and given a source and destination, find the sequence of trains that gets you there at the earliest possible time.

Are we optimizing for fewest stops, lowest cost, or earliest arrival?

Which schedule fields actually matter for the algorithm?

It was basically the cheapest K stops style graph problem but translated into train-schedule language with more variables, so the first step was clarifying the requirements. We aligned that the real goal was getting from A to B arriving as early as possible, not just minimizing stops. I modeled it as a Dijkstra-style shortest path problem, gave time and space complexity up front, and then spent the rest of the round coding because the setup itself was already pretty dense.

Final round

4 questions

Overview

The Googliness round was very straightforward and honestly matched the standard Google behavioral prompts you can already find online, so the main thing was having clean STAR stories ready.

Question types asked

Interview tips

I would not prep for Google the same way I would cram tagged Meta questions. I would practice taking ambiguous prompts, clarifying constraints out loud, giving time and space complexity without being asked, and working from first principles when you hit something you do not fully remember. For Googliness, have clean STAR stories ready for ambiguity, user focus, conflict, and learning mindset because they really do ask the standard prompts. And for the GHA, I would be very consistent in my answers and not live in the middle on every scale.

Company culture

I saw a company that has not changed the core loop nearly as much as places like Meta. They are bringing interviews back onsite because cheating got bad, and at L4+ they want a soft team match before you even start, which means headcount can shift underneath you if the process drags for months. My interviewers all came from the same org I soft matched with, so it felt more targeted than a generic pool. I also saw this newer flow where recruiters may push team match before hiring committee so a manager can add a statement of support if your packet is borderline. The interviews themselves felt designed to get real signal, with more ambiguity and collaboration and less speed-running memorized LeetCode.

Unlock more real interview experiences

Get full access with a membership, or share your experience to try it free.

More Google interview experiences

See all 50 Google Software Engineer interview experiences →

formerly Exponent

Get updates in your inbox with the latest tips, job listings, and more.

Follow Us

Products
Courses
Interview Questions
Interview Experiences
Popular articles
Guides
Coaching
For Partners
Company
Exponent Labs, LLC © 2026
Terms of Service | Privacy