Recruiter started off professional. Originally contacted by someone in Mtn View and then transferred to someone in Santa Monica.
Phone interview was intense, but I did my best. I felt like I got most of the questions wrong. My interviewer walked me through any incorrect answers and overall it was a pleasant experience. The interviewer was very good. Most of my questions were about searching and sorting, about half of them were the stupid questions from their database. He asked a good 10-15 questions during our phone call but most were short. Unlike most people, for some reason I was not asked any coding questions.
The on-site interview was a disaster.
1. It started with a discussion of my thesis topic which was fine. Expect them to understand your topic no matter how esoteric or specific it is.
2. A second interviewer asked about my thesis. He did not like my topic at all claiming that it doesn't scale well. Well, excuse me for not having access to Google's data! Then proceeded to ask some dumb questions (specific to Java) from their database. Finally, I started coding on the board. If I did something wrong, he was very misleading in the "hints" that he was trying to give; he could not articulate what the problem was with my code.
3. I had lunch with my phone interviewer. It went fine, but Google food is not all it is cracked up to be. The others that I met during lunch seemed stressed out, but friendly.
4. No comments on next interviewer as he was pretty good.
5. HORRIBLE interviewer. Very arrogant, very condescending, very intimidating. He asked a very esoteric question that was very confusing and required me to read a manual before attempting to answer the question.
He was very rude and mean to me and made it clear that he did not want to be there. I really just wanted to walk out of the room.
6. At this point I was shot. This interviewer asked me a question and while I was coding, I did something wrong. She said the problem was giving her a "headache" so we would move on to something else, just like that. The next question was better and was more pleasant.
My recruiter told me to use whatever language I was most comfortable with. I specifically asked if I could use Python and she said "yes". I know Java, C and C++ but they are not my everyday languages. To my dismay, most of the questions were phrased "Used Java" or "Use C, C++ or Java" or "use C or C++". One of my interviewers did not even know Python. My first recruiter KNEW point blank that Python was my everyday language and said that was perfect for this interview. Apparently, I should have never even been recruited since I do not program in Java/C/C++ as an everyday thing. I was also told that the interview is about how you "think" which is not at all true. You need to know very specific things about algorithms, design patterns, and object-oriented programming, so read books before the interview.
I was told that I would hear within a week. I never did. I had to call the recruiter and she pretended that she was going to tell me my result that day anyway.
The recruiting process is wrought with bad information and too much power is given to the recruiters. Until they get this right, they will continue to hire the mediocre people that I have read so much about.