I applied online. The process took 6 weeks. I interviewed at Google (Mountain View, CA) in Apr 2015
Interview
Applied online through a job-posting site. Got contacted and passed the phone interview but had to do it again due to barely passing the first time. Then went onsite and did 4 technical interview.
They covered data structures and algorithms you learn in college. Mainly sorting, graphs, string manipulation, and some programming puzzles.
Interview questions [1]
Question 1
Bit manipulation was a big one on the phone. On site it typical programming problems you'd find in a review book.
I applied through an employee referral. The process took 3 weeks. I interviewed at Google (New York, NY) in Nov 2015
Interview
2 phone interviews in a row, 45 minutes each.
Each interview began with a brief introduction of one project in my resume and continued with technical questions.
The interviewers were very nice to talk with.
Interview questions [1]
Question 1
1. Given two strings, one is derived by adding some characters into the other. Find all these characters. Example: A='abc', B='aabcde', return ['a','d','e']
2. Given an n×n matrix, each element is either 1 or 0. Find the largest sub-matrix that has 1s at all its corners. Time complexity requirement: O(n^3) Example: M=[0,1,1;0,0,1;0,1,1], return [[0,1],[2,2]] (the left-top and right-bottom corners).
I applied through college or university. The process took 3 weeks. I interviewed at Google (New York, NY) in Oct 2015
Interview
Contacted by university recruiter, followed two weeks later by a technical phone screen (1 hour). On-site (four 45-minute technical interviews, plus lunch interview) scheduled two weeks after that.
The on-site interview questions were challenging but not impossible. Definitely should have practiced writing more code beforehand, particularly in the language of the interview (Java, for me). Conversations with the interviewers went well.