I applied through college or university. The process took 1 day. I interviewed at Amazon in Mar 2012
Interview
Amazon came to my college and was hiring. They interviewed a lot of people, basically two 1:1 interviews 45 minutes each. I felt it wasn't organised because there wasn't enough time left to ask questions.
The first guy asks me about sorting and asks he to describe efficient algorithms. I tell him about Quicksort and Mergesort. But then he mentioned there's only a few possible numbers; and asked me to sort in linear time. I hinted towards radix sort, but he wanted something else. Finally he gave me an hint towards counting sort, which I then coded. There were some other questions, which I forgot about.
The second guy asked me about how Hashtables work, chaining, collision and all that. Then he proceeded to trees, and asked about traversals, both recursive and non recursive.
Overall it was ok, I got the offer 2 weeks later. The HR is really unorganised.
I applied online. The process took 4 weeks. I interviewed at Amazon (Seattle, WA) in Mar 2010
Interview
The process was fairly long but traditional: they were 3 phone screens interview, followed by one on site interview (with 3-4 employees). Computer programming skills such as data structures and algorithms are highly emphasized during the interview process.
I would recommend that if you did not perform well in one particular aspect of an interview, to work on that aspect. It is very likely the next interview will focus on that aspect.
I applied online. The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Feb 2012
Interview
After having applied online, I got an email asking for dates to set up a phone interview. A week later, I had two back to back phone interviews of 45 minutes each with a 15 minutes break in between. Both the interviewers were extremely polite and pleasing. In the first interview the problem statement was, "Given a string containing just Rs and Gs, design an algorithm such that the output of the algorithm is a string which has all Rs in the beginning and all Gs after the Rs. The number of flips from Rs to Gs or otherwise should be minimum. The number of Rs and Gs in the beginning need not be the same as that in the end. However, the total length of the string needs to be the same." I started with a brute force solution, and improved on it. He asked me to explain the order of time and space complexity of the algorithm. I guess he was not very satisfied with the complexity I was able to achieve. I was then asked to write the code and read it.
The second interview was pretty standard with questions like write the code for finding the height of a BST. There was also one question involving hash tables.
Interview questions [1]
Question 1
Given a string of Rs and Gs, design an algorithm to produce a string with Rs in the front and Gs after that. The number of flips from Rs to Gs or otherwise should be minimum. The number of Rs and Gs in the end need not be same as that in the beginning, however the length of the entire string should be the same.