Long and confusing! I was first contacted by a recruiter. During the first 4 weeks I talked with 2 or 3 people and completed a variety of interviews from screening to technical, plus general IQ and programming knowledge. After the first 4 weeks I was told that they had a "hiring freeze".
At 8 weeks I was surprised to hear back from the recruiter and they were still interested so I conducted another 2-3 interviews, more or less similar to the first go around. This time though I made it through to the FINAL onsite interview in New York, which from what I could tell went well, just as the previous steps went. This included more problem solving and a 5 minute presentation.
After that things got really weird and confusing (which is funny because they constantly told me how authentic their culture was). I wasn't given any feedback (other than vague positive feedback), but was scheduled for another interview with a regional director. Then, I was scheduled for another interview, the second interview since the "final" interview. They didn't call it an interview though, probably for good reason since I was literally asked my religion and other personal questions. I didn't think much of it at the time because I thought an offer was coming any day. After that, days turned into weeks and eventually they didn't even respond to my requests for an update on the position. It's now been 6 weeks since the "final" interview, about 22 weeks total, and I'm assuming I won't hear back from them.
The whole process was very stressful, very long, and very confusing. It would have all been worth it, but there was never an offer.