A recruiter contacts you first and sets up an initial technical phone screen.
Depending on how well that phone screen went, the recruiter will contact you again and either let you know you're moving to the on-site interview or to another phone screen. I believe the maximum number of screens they do is two.
They might ask if you want a practice phone screen with a reviewer in between. It's actually a really pleasant process, whether you do well or not.
The on-site interviews I've heard of are pretty intense, with about 5-6 hours of constant interviewing with several people.
They generally ask algorithms questions and make you write them up in a Google Doc with the interviewer. My phone screens were nothing out of the ordinary.
The following metrics were computed from 2 interview experiences for the Google Software Engineer role in Santa Barbara, California.
Google's interview process for their Software Engineer roles in Santa Barbara, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Google's Software Engineer interview process in Santa Barbara, California.