I applied online. The process took 5 weeks. I interviewed at Google
Interview
Submit my resume online.
In the first phone interview, the google staff asked me about my projects and a programing problem about picking up a sample of 1000 keywords from huge amount of search requests. Of course, it is impossible to save all the requests. The solution can be found on the Cracking Coding Interview. But then he asked me to explain why that works. I failed. Then I was asked to propose a way to check if the algorithm works.
15 min laters, I got my second phone interview. Problems include Augmented Tree (from the book Introduction to Algorithms), a question using greedy algorithm. I did not finish the second problem, but proposed the right algorithm. And it took me a long time to fix the bugs in my programs.
Recruiters are very nice and guide me to debug. I passed the interview and got to team match, but no team leader contacted me. Maybe I do not have my own unique skills or project experience.
I applied through an employee referral. The process took 1 week. I interviewed at Google (Londen, Engeland) in Jan 2013
Interview
I've got an email from HR to make an appointment for a phone interview.
Interview questions [1]
Question 1
The questions were not very difficult but you really need to have all the concepts crystal-clear and be ready to apply them successfully. One of the questions was "how to count the letters in this string:" "The quick brown fox jumps over the lazy dog";