I applied through an employee referral. The process took 4 weeks. I interviewed at Google
Interview
For software engineer internship position, Google gives a 2 telephone interviews to PhD student. One is about research, one is about coding. Google treats coding skills as one of the most important factors for hiring people. The coding questions cover from basic data structures to various algorithms with computational analysis of these algorithms. Google provides several programming language choices for interviews including C++, Java, Python etc.
The process took 2 days. I interviewed at Google (Montreal, QC) in May 2011
Interview
There were 2 rounds of interview. First, there was a 2 hour technical interview, 1 hr each with two engineers. In the second round, I was to meet with the Head of the Montreal office. It was supposed to be a non-technical interview, but it turned out to be highly technical. In all three interviews, I was asked to solve interesting programming problems.
Interview questions [1]
Question 1
Enumerating all possible combination of dictionary words to that can be formed in a 4x4 grid of characters such that subsequent characters in the word is adjacent in the grid.
I applied online. The process took 2 months. I interviewed at Google in Jan 2012
Interview
Know your algorithms, memory management, and pay attention to your big O times! All very important to the process.
Interview questions [1]
Question 1
They asked me to implement malloc in strict C after I asked for a c++ interview. I know I should have been ready for malloc, but I never use it and stumbled.