I applied through a recruiter. The process took 2 weeks. I interviewed at Google (Mountain View, CA) in Jul 2009
Interview
The job was for a software development position. First a Google recruiter contacted me. Some initial questions to gauge fit and interest. Then a technical phone screen. If you have a solid CS background, this is pretty easy to pass. A couple general data structure and algorithm questions. And every Google interview asks about big-O notation. You need to know this or forget about working at Google.
Then the on-site interview. I interviewed with 4 engineers, 45 minutes each. They each spend about 5 minutes on my background or past projects. However, they are not really interested in this and didn't really pay attention to my answers. Next 35 minutes consists of technical grilling and about 5 minutes at the end for me to ask questions.
Each interviewer sets up a problem and asked you to solve it. Sometimes its hard to figure out what the interviewer is asking, but asking lots of clarifying questions helps. Some problems I solved and some I did with lots of hints. I was then asked the order of complexity of my solution and how I could improve the solution.
Then the real hard part, for me anyway. I was asked to write the code for the solution on the white board. Writing code in an IDE after thinking about it for a few minutes is one thing, but writing code on a white board in a short amount of time is another. I didn't do so well here.
After the interview and thinking about all the problems they asked, none of them were particularly hard and the coded solution is usually about 10 lines of code.
I found most of the engineer interviewers very polite and interesting to talk to. A couple of them were arrogant and came with an attitude that you had to prove that you were as smart as they are. But overall, I found the interview a positive experience and felt I learned something.
Interview questions [4]
Question 1
Given an array of numbers, replace each number with the product of all the numbers in the array except the number itself *without* using division.
I applied through a recruiter. The process took 3 weeks. I interviewed at Google (Mountain View, CA) in Apr 2009
Interview
Send the resume to the online site and was email back in a week. Then had a screening interview with the recruiter who explained the process and learned about my background.
Two weeks later I received an invitation to a phone interview with an engineer. He tested my knowledge in three possible IT scenarios, asked question and had me expand on possible solutions.
Interview questions [3]
Question 1
If you want to distribute a large file (gigabytes) in a large (100+ machines) park how do you do it?
I applied online. The process took 1+ week. I interviewed at Google (Boulder, CO) in Apr 2008
Interview
Initial stages of the interview were fairly routine. Phone interview was a little bit technical, but reasonable.
In person interview ended up with me failing to properly code an algorithm on the board, and the interviewer basically ending the interview at that point. Memorize your algorithms before this one, because merely knowing the algorithms properties and being able to look it up won't be good enough for this guy.
Startup got bought out by google and ended up with a bit of an attitude. Google thinks they walk on water.
Interview questions [2]
Question 1
What sort would you use if you had a large data set on disk and a small amount of ram to work with?