I applied through college or university. The process took 2 days. I interviewed at Amazon (Coimbatore) in May 2012
Interview
Amazon looks for the following in any candidate
Programming skills
Problem solving skills
Knowledge of Data Structures and Algorithms
Problem identification skills
Amazon’s recruitment/placement process is divided mainly into two parts
The preliminary test
The technical interviews ( 3 – 4 interviews in the span of a day)
The preliminary test contains both technical and aptitude based questions and it also includes two programming questions that have to be coded in an environment provided by amazon. The primary aim of the programming questions are not to test your ability to produce outputs but the focus is on finding the better answer or the faster easier logic.
The interviews purely focuses on ones ability to solve problems and the depth of ones knowledge in the field of data structures and algorithms. The more important thing is that one should be able to code on paper as they will ask for complete working programs and they wont provide you a compiler to test it on. Further care should be taken when coding for the edge cases as all edge cases will be explicitly tested on your code by them.
The Aptitude / Technical Test
If ones dream of getting into Amazon must come true then it is mandatory that this round be cleared and clearing this is not very easy.
They ask around 20 wildly assorted questions spanning everything in computer science fundamentals and a few from aptitude section as well. One could always expect a few output questions from c and cpp. The only trick is to be through with the fundamentals. The list of questions and their topics I remember will be listed at the end.
Programming Questions
The more crucial part of the preliminary test is the coding section where you will be asked to code two rather simple programs ( simple in reference to other programs that usually appear for coding contests or online coding tests) within a time span of 45 mins. Though Amazon as such does not explicitly specifies any restrictions with respect to the time and memory conception of the code, they do evaluate by hand the optimality and efficiency of the code to decide whom they should let in to the interviews.
Getting an output is not the primary criteria for getting a safe passage into the interviews. Do take extra care to make sure that a better solution is provided for each problem being asked. One more thing that should be kept in mind is that though the environment accepts your program if it provides the correct output for the provided test case it may not get you to the next round. Make it a point to construct your own test cases and test your code on that too. These should guarantee you a safe passage to the next round.
Again the question that I was asked and I remember will be provided at the end of the so called long prose.
PS: By the way don’t think about copying, they do use dif on the codes.
The Interviews
I did have to go through a sum total of about 6 hours of interview process before I was selected and it was divided into 3 sessions. First a 45 minutes interview that tested me on problem solving, next was an another 1 and a half hour interview on Data structures and lastly a 3 hour 15 min interview on more advanced and tricky use of data structures, algorithms and problem solving.
The first interview included a warm welcome and two very straight forward questions, It only included a basic understanding of data structures and some very crucial logic to get past this one
The second one was a HR interview and a technical interview rolled into one. The HR questions asked were pretty basic and included questions like, what is your achievements and why amazon so on and so forth. The one thing to be sure about is that you should know your resume back and forth. They have asked me everything that was there on that piece of paper. Again all questions I remember will be appended to the document.
The third interview was the toughest one of all, it was a grueling three hour process and some tough questions. There were two programming questions again one was really tough and the next was relatively easier which was then followed by lots of direct questions on data structures, more like rapid fire back to back questions round.
Interview questions [1]
Question 1
Bar raiser round with
Given that the input is a binary tree connect all the elements in the same level or depth using links.