The recruiter was the main point of contact. They processed resumes/experience and set up interviews.
There were two 45-minute technical phone interviews, spaced about 3 hours apart. Questions covered entries on the resume and previous work experience, followed by problem-solving and algorithm questions. One interview included coding on a collaborative Google Doc. Both interviews included questions about time complexity.
Several weeks later, three on-site interviews and lunch were scheduled. Each interview lasted 45 minutes to 1 hour. These questions were more focused, generally on a specific topic, and did not involve time complexity. However, there was a significant amount of coding. Some questions were on statistics, many on data structures, and some on API design.
Overall, I had a great time. The engineers I spoke with were intelligent and engaging. I believe a few poor answers during the phone screen prevented an offer, but it was a good experience overall.
Given a stream of integers of unknown (possibly large) length, how would you pick one at random? Now, prove its randomness.
Define a binary search tree. Develop a procedure to verify a binary search tree.
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.