Amazon was extremely prompt and speedy with its interview process. The only reason it took 3 months is because I was in China for 2.5 months, and unable to do an on-site interview until I got back.
The interview process consisted of 3 phone interviews of 45~60 minutes each (normally would be 2 I believe), as well as an on-site interview, which was 5 separate 45 minute interviews.
There was maybe a week or two between phone interviews, and they gave me an offer the Monday after my on-site interview (which was a Friday). I had the typical two weeks to decide, and the recruiters & interviewers were helpful in answering follow-up questions after the interviews.
The interviewers were all Software Engineers, and were all extremely bright, nice, and energetic. They were very helpful in pointing out better directions for solutions to problems that I presented, and were willing to engage in discussions about why certain methods were better or worse. They were all answered any questions I had thoroughly. Additionally, I was actually interviewing with a few of the team members (including the would-be boss and the would-be boss's boss), so I was able to get a very good sense of what the projects I would be working on.
The Amazon campus in Seattle, Washington is amazing. It's located right next to downtown, in some bright, shiny new buildings. It's very close to very good urban residential neighborhoods. They have a full-sized gym, locker rooms, showers, a cafe, on-site parking, and are VERY close to mass transit.