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.