The first round was a written technical and intelligence test. Second round was a coding round where two questions were related to BST and one related to Strings. The interview were held on next day for the 30 shortlisted candidates out of 300 odd who attended the initial rounds.
The first interview began with questions from the code I had written in the second round. Was asked to optimize it, and explain the code (draw recursion stacks and explain how hashset works were auxillary questions asked as I was explaining my code). If you get stuck, they do give you a hint. But one hint per interview is the max you can expect. Duration: 45mins.
Second interview was held 3 hours after the first one. And this one was with a Development Lead. I guess this was a bar raiser for me, a concept unique to Amazon. This interview can be difficult or easy depending on what kind of projects you've done, what kind of activities you engage in. Typically, this round assesses your overall qualities, and assesses if you're fit to work for Amazon.com. Was a really long interview, about 2 and half hours.
Third interview was again on algorithms and data structures. I was asked an odd question regarding race condition, and synchronized blocks in java. I was given no hints in this round, although I eventually managed to answer all the questions he asked. Duration: 1hour 15mins.
Foruth interview was with a senior developer at Amazon.com. He asked four questions, and told me to write my best code for each, with utmost optimization. He told me I can take all the time in the world to solve the problems. Each one was algorithm based. After I had answered all the four, I walked him through all the test cases. Later he asked a question from Probablity, which I struggled to answer, but I guess it didn't matter as my performances in the previous rounds were excellent.