I applied for a position as a Senior Software Engineer in Hyderabad through one of my schoolmates working at Amazon. The HR immediately got back to me and we scheduled for a telephonic interview.
The telephonic interview was pretty easy and it went very well. However, I did not get to hear from Amazon for more than a week. I asked my contact to follow up. The HR called back and told me that as my first interview went pretty well, I could come down for an on-site interview directly and that there would be no second telephonic interview.
The on-site interview, scheduled on Saturday, consisted of four rounds. I was asked questions on algorithms, data structures, scalability and object-oriented design. I was also asked to describe my product in one of the rounds.
The first round went fine and was based on data structures. The second round, I believe, was the bar raiser round, in which I was asked questions on dynamic programming and scalability. This didn't go as well as the first. Then there was lunch followed by my third interview round. I was again asked questions which I think could have easily been solved by data structures. However, I performed really bad in this round. The interviewer also didn't seem too interactive. I was now really doubtful of making it to the fourth round. Surprisingly, I did go on to the fourth round. In the fourth round, I was asked to explain about my product and was also asked an object-oriented design question. The final round went really well.
After the fourth round, I was told that I would be informed of the decision of hiring me on Monday. I was expecting a fifth round, but I was told that the fifth round is not mandatory and at times, a positive decision may be reached in three rounds itself. I was also told that there would no HR interview round and any additional interview rounds would be technical as well.
Before leaving the Amazon office, I enquired the HR about work at Amazon. The HR told me that the work environment would be very similar to other companies such as Google. The work environment was informal, employees had the option of working from home and for a very reasonable price, pickup and drop facility was provided as well. The important thing was that the employee was accomplishing the tasks assigned to him .
I was expecting a positive response as I believed that reaching the fourth round implied that I had cleared the earlier three rounds. And the fourth round seemed to have at least gone well enough that I felt I couldn't be rejected because of it. However, the HR got back to me on Monday informing me that I was not offered the position.
I am not sure about the reason that I was not offered the position. There could be multiple reasons for it - my average performance in second round and bad performance in the third. May be there were other candidates who had performed better. Also, I wasn't able to write code fast and this could have been one of the major deciding factors. Either way, one thing that became clear to me is that going on to the further rounds doesn't necessarily mean that the candidate has cleared the earlier rounds. As a matter of fact, based on other reviews, I now believe that until you are offered a position, it is very difficult to anticipate the decision.
This was my first interview after 7 years and I was slightly disappointed that I couldn't crack it as Amazon seemed to be one of the few companies in Hyderabad where I could work on really scalable applications. However, there are other companies where really good work is going on and I could always try again at Amazon after 6 months :).