I applied through a recruiter. The process took 4 months. I interviewed at Google (Mountain View, CA) in Feb 2015
Interview
The process was initiated by a recruiter, who reached out to me via email. He told me that he found me through my LinkedIn profile, and was interested in having a short phone conversation. During that conversation, we chatted about my skills and experience, and he outlined a potential role (SET) to gauge my interest. Once I told him that I was interested, he set me up with a engineering phone screen, which was one hour long.
The phone screen consisted of me talking with another SET. He briefly outlined his experience, and then asked me to talk a bit about myself. This lasted 5-10 minutes, and then we moved on to a programming question. All of the code I wrote was in a Google doc.
About 2 weeks after the phone screen, I was contacted by my recruiter to let me know that they wanted to bring me on-site. They flew me out on a Sunday, and the full day of interviews were on Monday. I then flew back on Tuesday.
The onsite interviews are where they really get a feel for how well you understand data structures and algorithms, and how you think under pressure. The day consisted of 5 45-minute interviews, and a 45 minute lunch. Each interview was basically the same format as the phone screen: 5-10 minutes of getting to know one another, followed by coding questions. It's important to note that the coding questions are all done on a whiteboard, so it is really important to practice coding questions by hand. You really don't appreciate how nice autocomplete is until you're working without it.
After the onsite interviews, each of the interviewers will write feedback about you, and give you a score. This feedback is all given to a hiring committee, who (unofficially) makes the decision of whether or not to hire you. There is still the executive and compensation committees after that, but from what I have read and heard from my recruiter, the hiring committee is the tough one to pass.
Overall, I think this process was pretty smooth. I dragged it out a bit, because I hadn't used Java in years, and I had a big project going on at my current job, but expect the process to take at least 2-3 months from first contact to offer.
Interview questions [1]
Question 1
They requested that I don't share any interview questions, but I will say that a deep understanding of data structures (especially hash maps and heaps) is going to go a long way for you.
I applied through an employee referral. The process took 4 weeks. I interviewed at Google in Jan 2015
Interview
I had one phone round and an onsite with 5 rounds.The HR communicated very efficiently while setting up the interviews and gave quick responses to any query. The phone interview was quite easy. The onsite interview was a really good experience. The questions were not very difficult, but it truly tests one's concepts and the ability to think. It is coding intensive and focuses on data structures and algorithm. One has to be very through with the basics and know to evaluate time and space complexity. I cannot mention the questions due to the NDA.
The best thing about the interview was that all the interviewers were very pleasant to talk with and make one feel comfortable. They bring out the best in you and help you out in thinking with hints and questions. I attended few other interviews after Google and found quite a difference. It is my best interview experience till date with respect to people interaction.
Interview questions [1]
Question 1
Data Structures and Test scenarios for all the code written
I applied online. The process took 2 weeks. I interviewed at Google
Interview
Attempted Initial phone screenning. The question was related to dynamic programming. The question was "find maximum forward difference between two numbers in a series of numbers. The program should print out the max difference and the index location of the two elements used"
Interview questions [1]
Question 1
Difficult to answer in short and first time attempt.