A Google recruiter called me a few months back about having me apply for a Software Engineer position at their New York office. I was already employed in a good job at the time, so I was in two minds about exploring new opportunities. They set up a meeting for me with one of their engineers to clear any doubts or questions I may have about working at Google. This really helped with my decision to interview there, and I indicated to the recruiter that I would like to go ahead and interview with them. An on-site interview was scheduled within three weeks.
The interviews started at 10:00 AM at the Google offices in Manhattan (since I live in the area, I didn't need to travel, etc.) and were over by 3:00 PM. There were 1-on-1 interviews by five of their engineers, each lasting about 45 minutes. One hour was set aside for lunch at the Google cafeteria (where all of the food is free and awesome), and one of their engineers was assigned as my "host" at the lunch to answer any questions I may have about life at Google. He also gave me a tour of their offices (which is very cool).
All of the interviews were conducted in an "interview room" at the Google offices, which is a small meeting room consisting of a single (small) round table and a couple of chairs, a whiteboard, and writing supplies. The interviewers promptly came to the room at their scheduled times and conducted their interviews for their 45 minutes, or until the next interviewer had arrived outside. Each of the interviews consisted of one or two math or algorithm problems.
I was expected to first describe my general approach to the solution. After the interviewer was satisfied with the general approach, I was asked to write code on the whiteboard. I could use any programming language of my choice. I chose Java for almost all questions, and it seemed that most of the interviewers did their day-to-day work in C++. In any case, about half of the time was spent in the back and forth with the interviewer in coming up with the general approach to the problem; I would come up with an approach, and the interviewer would point out certain cases that didn't work (or other conditions that needed to be met). The other half of the time was spent in planning and writing out the code on the whiteboard.
Despite my background in research, none of the questions pertained to my background and experience. The questions were all designed to gauge fundamental problem-solving and algorithms expertise. It seemed like the interview questions were devised completely independently of my resume/background.
Finally, during the last 15 minutes (2:45 PM-3:00 PM), I had a short "debrief" session with the HR person, who gave me the opportunity to ask him any final questions I may have had and to give him a little feedback about my experience that day. Overall, it was a good interview experience: very professional, and all interviewers were well-prepared, punctual, and respectful.
The following metrics were computed from 344 interview experiences for the Google Software Engineer role in New York, New York.
Google's interview process for their Software Engineer roles in New York, New York is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Google's Software Engineer interview process in New York, New York.