I was contacted by a recruiter after taking second place in a hackathon. I wasn't really planning on switching jobs, but I figured, "Hey, it's Google," so I accepted the invitation for an interview.
When I interviewed, I was finishing my last year of university two hours away and working full-time for a startup, so I didn't give studying for the interview the attention it deserved.
The recruiter set me up with a call with someone who had some overlapping knowledge. The interview itself was standard coding in a Google Doc, focusing on algorithms. I tried to follow the suggestions in Cracking the Coding Interview, but ended up doing worse by trying to overanalyze the situation.
The phone call quality was absolutely terrible. You'd really think Google would prefer a Hangout where you can actually hear what the interviewer is saying. It sounded like the guy put me on a speakerphone wrapped in saran wrap at the bottom of a fish tank. I had to ask him to repeat himself multiple times, which made me feel silly.
I learned later that they apparently do this type of thing on purpose to see how you handle extra stressful phone situations.
Questions were standard algorithm questions.
Determine if a binary tree is balanced.
The following metrics were computed from 3,728 interview experiences for the Google Software Engineer role in United States.
Google's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Google's Software Engineer interview process in United States.