I was initially contacted by a Google recruiter through LinkedIn Inmail. I stated my preference to work in NYC on Google’s infrastructure software and a one-hour technical screening phone interview was scheduled. The phone interview covered Computer Science basics such as trees, hash tables, coding constructs, differences between Java and C++, and Design Patterns. At the end I was given a coding assignment to complete within 24 hours “to show my best work” and submit to Google.
The NYC on-site interview was scheduled 2 weeks later where I was interviewed by 5 different Engineers for 45-minutes each. Some asked me to design solutions to problems and code them (on a white board) in my preferred programming language. Others were open-ended problems where (I believe) I was expected to ask smart questions to define the problem and its solution.