Thank you all for your insightful comments. I do feel a little better and more informed. I will try to write an unofficial summary using what others (mostly the official wordings from Googlers (sigh)) have said, mainly for people in the same boat as me.
1. You don't have to be from an Ivy League university to get recruited by them. Yay.
2. Internal references are very very important for both getting recruited and getting feedback after the interview.
3. Getting recruited by Google can be very very competitive at times (not necessarily always), and you can be unlucky enough to be interviewing in those times.
4. There is no easy solution to the shallow feedback problem, which sucks very much for the candidate, but I guess threads like this can help you get some insight into the process and the very many variables involved in the recruitment decision.
Wow, 1200 resumes for 3 positions, I didn't know that getting recruited by Google was that competitive, good for them that they can afford being that competitive.
Do you mind telling us if in the first interview you aced all your interviews, because I surely didn't.
I actually had a couple of interviews with more than one questions, but not others. I agree this could have been one of the reasons, but again an indication of this in the feedback could have helped.
Does being at the top of your class in one of the Top 50 Universities in the nation, with a near perfect GPA matter? I actually liked the CS program at my university, and being a state university the fees were pretty low compared to other universities, so I wouldn't call it a money making machine.
Thanks Cletus for taking the time to write that up. That really makes me feel better and provides somewhat more insight into the process.
My 5 years of experience was actually divided like 3 between Masters and Bachelors and 2 after Masters here in US, so I thought my Masters grade would matter.
My interviews were 3 before lunch and 2 after. Lunch was good :).
The interview conductor asked for references multiple times, but although I knew some people working in Google, but they had never closely worked with me, so I didn't want to make up references just for the sake of it.
EDIT:
"As far as releasing interview scores goes, that isn't going to happen for good reason. A score, by itself, is meaningless. Interviewers are calibrated against other interviews they've done and other interviewers. This is all in an attempt to make a fair assessment of the candidate. If a particular interviewer gives high marks to candidates where all the other interviewers don't, that gets calibrated. And vice versa."
So what you are saying is that for me to not have made it through I must have equally messed all my interviews or at least a majority of them. I surely didn't feel like that after the interview, but who knows, since I still don't have a way to know if that is the case. Then this really sucks.
"My experience was similar to yours. I interviewed at YouTube, and I was flown over from New Zealand for the interview. When I returned the next day, I got my generic rejection letter with Dear {Full Name}. While I got the general solutions to the 5 questions throughout the day correct; I struggled to code them on a whiteboard with someone watching me; I can never think well in those situations when solving problems, but I find that the optimal solution clicks to me when I'm in the shower or wake up in the middle of the night."
I agree wholeheartedly, see my above comment about optimizing a solution being more of an art, and can take a varying amount of time.
Well if that is what they expect, then they should make it clear. Something like don't say you are finished till you have verified your solution. They didn't.
"If an engineer misses details and won't spend time looking for a more optimal solution on a white board, I wouldn't expect them to do it in the day-to-day work of their career either."
What a foolish generalization. This is exactly the kind of attitude that I don't like. Just because someone starts with a sub-optimal solution doesn't mean he can't/won't improve it. Also my approach was to start with a sub-optimal solution so that we have a foundation to build on, which I think is much better then spending your entire interviewing time thinking up a dynamic programming algorithm and leave a blank board at the end.
Optimizing a solution is an art, and can take varying amount of time, and sometimes even your sub-optimal solution might be better than a more complicated optimal solution.
Personally the phone interview was much easier for me and I guess much lenient on any initially sub-optimal time complexity solutions, this doesn't mean you should relax though :). All the best for your interview.
1. You don't have to be from an Ivy League university to get recruited by them. Yay.
2. Internal references are very very important for both getting recruited and getting feedback after the interview.
3. Getting recruited by Google can be very very competitive at times (not necessarily always), and you can be unlucky enough to be interviewing in those times.
4. There is no easy solution to the shallow feedback problem, which sucks very much for the candidate, but I guess threads like this can help you get some insight into the process and the very many variables involved in the recruitment decision.