Google came to our campus for a tech-talk and a career panel. The staff were friendly and I got to know one of the HR people who kindly reviewed my resume and kept a copy for herself for future follow-ups. She contacted me several times thereafter through email and sending me interview tips and also reminded me not to forget to apply through the online system. I did so but didn't receive a response from Google. I contacted her again and she forwarded my resume to a recruiter in person; very kind of her!
The recruiter contacted me and I was arranged for two 45 minutes phone interviews back to back. I was not happy with the first interview as I found the interviewer very reluctant. He spoke very monotonically asking about some of the projects I had done, the most challenging one and the lessons I had learnt from that. Pretty stereotypical. Then he asked if I am ready for some programming questions. He posed a quite interesting question that looked pretty challenging at the first glance but ended up having a quite straightforward solution. On a Google doc page, I coded the solution with a minor glitch that he reminded me of. It was not a big deal though, just changing the value of a constant. We still had some time left so he asked a design question that I know I didn't answer that very impressively. Overall, the interview went OK, but the most annoying thing was that he had seemingly called my phone through his laptop and was typing all the time on his keyboard. There was also a quite loud background noise of people talking. I had earphones on and the noise really distracted me. I didn't tell him about that, however, as I hadn't found him very friendly.
The second interview was much better though. The interviewer was a manager (if I recall correctly) at the Android team. He had got a PhD from UC Berkeley and was very nice and positive. He asked about my thesis topic not like the way he interrogates but as if he wants to learn something. I really liked his attitude and personality. For the technical interview, he asked me to write a program to solve a rather challenging but kind of classic problem found in many algorithm textbooks. I pointed out that I have seen this question before and then tried to solve it. I first solved it via recursion and then he asked to see if I can improve the solution further. I explained that dynamic programming comes in handy for such type of problems and then tried to fiddle with the code a little bit to make it a dynamic programming. He was very positive acknowledging whatever I was doing. In the remaining time he described how it is like to work at Google and told me a story of himself leaving grad school to work at Google and getting back again as a part-time student later using the extra 20% time that Google honors its employees to spend on whatever useful thing they want.
I was contacted three days later by the recruiter sending me a thank-you template along with some useless information stating that we couldn't match you with any of our teams. She had also mentioned to help with any question that I might have. I replied back to see if this decision has been based on the interviewers' feedback or I passed the interviews but my background has not matched any of their existing projects, and she got back to me with yet another template email stating that they cannot disclose any details.