I applied online and was contacted by a University recruiter. I had to do a small programming test online (about 90 minutes). It was simple, and you could do your programming in Java or C++. With this online assessment was the usual personality test that comes with job applications. I did not have a phone interview and was invited in about a month later for what I call "Interview Day". Since I live in Seattle, they didn't offer to put me up anywhere, but I know they will fly you out to Seattle and set you up in a Hotel as part of the process. Interview Day is essentially a series of 4-5 interviews, each lasting about 45 minutes. About 10 minutes consists of talking about what they do and asking you about yourself. The remaining time is spent answering technical algorithm questions.
While I am not allowed to discuss the questions they asked in detail due to a non-disclosure agreement, my best advice would be to know your algorithms. If you're in school, I highly recommend taking a high division (400-level or equivalent) algorithms course, as it was exceedingly helpful to me. Two of the questions I was asked were questions I had been asked inside that course. Know time and space complexity, dynamic programming, and recursive programming inside and out. As long as you know your stuff (that means study), you will do great.
Also, I feel like half of the interview is about culture. They are trying to test your knowledge AND determine if you fit in with the culture of Amazon. What I mean by this is:
1. Be yourself. Don't suck up. This doesn't mean be rude or don't be polite to your interviewers, this just means you don't have to go with a "Yes, sir/No, sir" attitude.
2. Don't wear a suit. They don't do that at Amazon. Wear jeans. Don't worry about shaving your beard off for the interview.
3. Talk to them about what they do. They are programmers too. If you express interest, and hopefully some prior knowledge in their area of work, that will probably stick with them when decision time rolls around.
So, in short, know your stuff, be yourself, and be calm. The interviewers are programmers too, they're not scary.
My interview was on a Friday, and I was offered the job the following Monday.