I relied very heavily on Glassdoor for interview prep, so I'd like to pay it forward and contribute to the great info.
I applied for a position with Google through an internal referral. I strongly believe this internal referral made all the difference, as I had replied many times before and hadn't heard anything. This time, I applied and was contacted same-day to set up an initial conversation with a recruiter.
That initial conversation was very short and consisted of learning more about the role and going over my resume. At the end of that conversation, the recruiter let me know that they would like to move me onto the next step, which was two Google Hangout interviews, scheduled for a few days later. One with someone in the role and one with a manager. These interviews focused heavily on hypothetical/situation/behavioral questions, so just practice the most common ones you can find online. I suggest making a list of highlights from your work experience and finding different ways they can be used in answers.
I found out a couple of hours after those interviews that I was invited for the in-person interview. This was scheduled for a week later, and Google's travel agency handled all of my flights/hotel reservations/car rental.
The in-person interview was very similar to the Google Hangout interview in terms of interviewers and questions asked. There were two different interviews, back to back, and about thirty minutes each.
A couple of days after I returned home, I learned that I had made it past that round and would be submitted to the hiring committee. This is a committee of Google employees that objectively reviews your interview feedback, resume, and transcripts if applicable. In my case, the review took about three days and I was contacted by my recruiter with a verbal offer, with a written offer sent later that day.
Best tips: come up with situational answers and examples and have fun.