I was initially contacted by a recruiter via Linked In Email. I emailed him back the same day. The next day he called me and told me a little about the company and a little about the position. When I said I'd be amenable to hearing more, he said someone would contact me.
The following week, I heard from another recruiter who was local to my area (as the initial recruiter was not). I was then scheduled for an interview at the end of that week.
The in person interview was 3 hours long (+/- 20 min). I had a 1:1 with the second recruiter for about 45 min. Then I spoke to a project manager who asked me more specific tech questions for about 20 min. Then a skills assessment/white board presentation test for which I was given an hour, but completed in 40 min. Then an assessment of my test answers by another senior associate which lasted about 45 min.
That was on a friday. On the following tues, the second recruiter called me back to say they loved me but thought I wasn't a great fit for the specific project that I interviewed for, however, I could possibly contract for a different project until a better fit came along. I agreed at a rate I specified.
A week following that I reported for work.