I submitted my resume to an Amazon recruiter during a career fair and I was contacted for an interview a couple days later. The HR person who's in touch with me always takes about a week or two before responding to any of my emails, so scheduling the interview itself was a pain. She asked me when I'd be available for the next 2 weeks, I reply right away, she replied two weeks later apologizing for missing my time and ask me for the next 2 weeks I'm available. This went on for about a month. Finally I was passed to another recruiter, who responded a lot faster and scheduled my interview within a week.
The interview itself was technical, a couple programming problems and some OOP design concepts. I was asked to code on paper while explaining my thought process on the phone, which I always find hard to do, but I thought I did okay. I didn't have any problems with the coding itself.
I was contacted for a second round of interview a week later, and scheduled the interview 2 weeks after the call. It was another technical phone interview with Java concepts and programming problems. Unfortunately, the interviewer had a thick accent and the phone connection wasn't very clear (I heard a lot of background noises from his end) so I found it hard to understand him. He asked me about how to design the system at Amazon for displaying the availability of an item; this one I couldn't answer (more detail about the question below). I was also asked if I knew scripting languages/PERL. I was asked a little bit about my school projects, if there are any challenges that I faced, and asked about what I think is the hardest course.