I applied online.
There is this online hiring assessment thing first; about 30 mins of personality questions asked 50 different ways to catch you if you are inconsistent. Then a quick recruiter chat, and then the phone screen, which is a 45 min of coding in a shared Google doc with no IDE. I think L5+ usually gets two screens, but not sure.
The virtual onsite was 5 rounds:
Coding rounds had vague problem statements, and they expect a lot of clarifying questions before you type anything. It is very heavy on graphs and DP, and the bar for optimal time and space is also very high. Code comprehension is something new-ish; they share unfamiliar code and you have to find issues and fix them, and I got Gemini as an assistant.
I had to design a distributed cache for sys design. Googleyness is behavioral.
Prep-wise, I did NeetCode 150 first, then bought LeetCode premium just for the Google tagged list, haha, and did the last 6 months, which was very helpful. For sys design, I read Alex Xu and skimmed the sys design primer on GitHub. But my actual problem was that I would start coding immediately without saying anything. I did a session with a Google SWE on Prepfully, and he basically told me I assume way too much and walked me through how to ask clarifying questions first. That helped a lot in the actual loop.
The following metrics were computed from 776 interview experiences for the Google Software Engineer role in Mountain View, California.
Google's interview process for their Software Engineer roles in Mountain View, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Google's Software Engineer interview process in Mountain View, California.