Applied online and got call immediately after 5 days. Given 2 date to choose for an onsite interview in Seattle. They took care of almost everything travel-stay-food. I had 15 days to prepare for interview.
The day started with lunch at start then 4 interview one by one continuously by different people, I was bit impressed by all. They all started with inquiring about my work experience, why amazon, most interesting or recent projects, etc.
Interview tech. questions were not hard to understand but requires lot of thinking and to come up with best solution in terms of space-time complexities, they more concentrated on using best suited data structure for given problem and algorithm to solve it. Also, they check if you considered all cases. They keep on noting everything you say and things you write on board. Less time and detailed thinking of problem is a big pain, you have to stress your brain for next 4 hours nonstop.
I was able to answer all tech questions with best solution and they were all very impressed by my solutions, it showed on their face, I met there expectations, but I m sure I messed up Object-oriented question, I was bit disappointed for solution I gave, when I thought about it after coming at hotel, I come with composite design pattern that best suited and was expected. I didn't at all think about any design pattern for object oriented question, I m sure this was the point where I was out.
My advice before going for interview is to go through 2 books: programming interviews exposed and cracking the coding interviews.