The process took 1 day. I interviewed at Google in Feb 2011
Interview
Two back to back 45 minutes phone interviews. The interviewers were not native speakers, and it was a bit hard to understand their questions.
First interview consisted of general questions about complexity of different algorithms.
Second interview asked to solve two problems and code them in language of choice
First interviewer seemed happy with my answers. He even tried to help with hints.
Second interviewer was a bit grumpy and seemed disinterested in the interview. I solved both questions but did not give right complexity for the first problem. Also my code must have looked a bit primitive since I used plain C to code.
Did not get the offer but don't think the questions were out of reach. It was a reasonable experience.
Advice: get a lot of sleep before interview. I haven't and by the second interview I was already drained
I applied through an employee referral. The process took 4 weeks. I interviewed at Google in Mar 2010
Interview
I had two technical interviews over phone. The first interviewer asked me to solve two graph related problems, and the second one asked me about finding the intersection of two lists of integers, leading on to the case where the lists are too big to fit into the memory. I think I gave correct solutions, but botched on asymptotic running time of one of the graph problems.
Interview questions [3]
Question 1
There is a museum organized as NxN room. Some rooms are locked and inaccessible. Other rooms are open and some rooms have guards. Guards can only move north, south, east and west, only through open rooms and only within the museum. For each room, find the shortest distance to a guard. What is the time complexity of your algorithm?
There is an NxM grid containing a robot at (1, 1) and a destination at (N, M). Robot can move only up or right. Some locations can have obstacles. Find the number of unique paths from (1, 1) to (N, M). What is the time complexity of your algorithm?
You are given two sets of integers, sizes M and N with M < N. Perform inner equal join on these two sets (i.e., find intersection of the two lists). How to perform it if both the lists are in files and the available memory is of size K < M < N.