Applied through a recruiter and received a phone interview, followed by an on-site invitation within a week. I took three weeks to prepare before heading to the Mountain View campus for the on-site interviews.
The phone interview focused on a single question related to anagrams and string matching. The interviewer allowed me to code an O(n^2) solution and then guided me to optimize it to O(n), asking me to code the second approach as well. I was given time to ask questions at the end, and the interviewer was very helpful throughout. I did notice the interviewer seemed to doze off for about 5-7 minutes while I was coding.
For the on-site interviews, I had five one-on-one sessions and one non-evaluated lunch interview. All five interviews were distinct and tested a broad range of topics, including strings, graphs, dynamic programming, and math/probability problems solvable with recursion. One interview specifically focused on data structure knowledge, requiring a few simple conceptual answers and two to three small coding questions.
Most interviewers were focused on typing/taking notes and began directly with questions, without introductions from either side. They did provide hints and ask follow-up questions on my approach. Many interviews extended until the next interviewer arrived. Forty-five minutes passed very quickly, and it was common to feel like questions weren't fully solved due to the continuous probing from interviewers until time ran out.
Overall, it was a pleasant experience, and the interviewers were direct. I never fully understood what went wrong, as the recruiter informed me they were not moving forward, citing a need for stronger coding ability and data structure knowledge – feedback that felt vague given my perception of solving the problems correctly.
They encouraged me to reapply after a year.
Finding the maximum length substring with certain conditions.
This is a graph traversal type question. Please use BFS, since DFS will incur a bigger call stack in the worst case.
Dynamic programming and generating a certain type of n-digit numbers can be solved using recursion.
The following metrics were computed from 748 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.