Google isn't all that.
First, their time frame is too drawn out; they schedule in-person interviews anywhere from two to four weeks after the phone screening.
Second, it takes most of the day. I had to take a day off for this, unfortunately. Ask if you can break it up into two visits; I felt my answers gradually went downhill after lunch.
Third, uneven question quality. The first question I was asked was to implement a remove method on a LinkedList (what is this for an internship position?). The last one had to do with finding a median on an unknown, unsorted collection of numbers of enormous magnitude without loading it all into memory. The engineer who asked that one had poor conversational English, making it harder still. All in all, it was pretty algorithm-specific, with very little attention paid to OOD skills, requirements analysis, etc.
Finally, to give them credit, the onsite interview was on Friday, and the decision was made the following Monday because I asked them to accommodate my schedule. However, the recruiter never replied to my subsequent email or phone call after I asked him to elaborate on how the decision not to move forward was reached. That was rather rude after having someone take all that time to go through the motions. I figured I did well on at least 75-80% of the discussions, so I'd like to know how high the bar is anyway. One other thing that stood out is that he said I could try again in a year. Uh, sure. Let me just mark my calendar.
All in all, it's a great place to start your engineering career, but the process is somewhat insulting to a seasoned professional with many years of experience.
Write a method that finds the depth of a (non-balanced) binary tree.
Given an unsorted sequence of billions of numbers that cannot all fit in memory at the same time, find the median of these values.
Implement a method that matches an entire string with a star wildcard pattern, e.g., returns true for ("ogle", "Google"), but false for ("fragile", "agile") - without using regular expression language support.
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.