The process took 4 weeks. I interviewed at Amazon in Oct 2011
Interview
I had three phone interviews and all were simple. The Interviewers were quite friendly and helps you with the problems. However for amazon its really important to get hold of design questions they almost asks one design question to everyone.
I applied through a recruiter. The process took 2 weeks. I interviewed at Amazon in Dec 2011
Interview
Standard interview divided in two phone interviews with a 15 minutes break.
The first interviewer was a french man; he has very friendly and polite. Made the interview a VERY positive experience. Asked me why I did certain things while I was solving a problem, and slightly guided me towards the most correct answer. He made sure I understood the concepts, and even answered questions about how it is working for amazon. He was a an awesome interviewer
The second interviewer was a hindu woman, which I didn't get along with. She was hurrying me all the time, and made the whole conversation very uncomfortable; even asked if I was guessing (although I answered precisely and correctly to all of the questions,) and at one point I asked her to clarify a question to which she responded with a rude "NEVERMIND"
The Interview itself is very technical, the two parts are identical, but independent; meaning they consist mainly in simple questions about data structures, algorithms, and object oriented design.
Interview questions [1]
Question 1
Write a function in java to calculate all the possible palindromes in a string.
I applied online. The process took 2 days. I interviewed at Amazon in Jan 2011
Interview
I applied online for an internship position and got an e-mail 1-2 weeks later to setup 2 phone interviews on the same day for 2-3 weeks later. I interviewed with 2 different people for about an hour each. They both asked me one question about my resume, one question about past projects, and then they delved further. They each asked me a question about a concept of Computer Science or Data Structure or something of the liking and told me to get specific. When I got as specific as I could, I was again asked to delve deeper. I believe they wanted to see how I would react in stressful situations and react when they knew I couldn't answer further. Two examples of the questions they asked were how C# and Java were alike and different, and everything you could possibly know about Garbage Collection.
After that section, I was asked to write code with paper and pencil on a coding problem (two of the questions were to figure out if a word is the same backwards and forwards (ex: aba, racecar) and find all the permutations of a string). I was asked to talk as I wrote the code to describe my thought process. Once completed, I was asked what the efficiency in Big O Notation was and how I could rewrite my program to be more efficient. Even when I thought my explanation was as efficient as it could get, they asked me to be even more efficient, again testing me further.
After that I could ask them whatever questions and they answered them in great detail. I connected well with one of the interviewers and enjoyed talking to him a lot. A couple of days later I got an e-mail saying that there would be a third interview. I suggest having good questions prepared so you can have a good connection and conversation with your interviewer.
The third interview did not go so well. I had trouble understanding the interviewer due to background noise and an accent I was unfamiliar with (I'm normally good with accents due to both parents being foreign). It started off the same way as the other two, but this time as I coded she didn't want to hear my thought process. You would think this would be easier, but I feel there's more pressure to finish quickly. The question she asked me to code was to reverse a linked list.
Overall, I was fairly surprised by how easy the coding questions were and I think I performed well on those. The general knowledge questions was what I think ultimately caused me to not get an offer, alongside not having taken the class that went deep into analysis of algorithms and algorithm efficiency. Study both well and I think you will not have a problem.