I applied through college or university. The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Nov 2012
Interview
I applied through the career fair of our university. They contacted me afterwards and invited for a hiring event at Seattle. There were several candidates who were interviewed on the same day. I had 4 rounds of interviews and the difficulty of questions varied for moderate to hard. With good preparation of computer science basics and some interview practice, it is relatively easy to crack this interview.
Interview questions [1]
Question 1
I was asked to implement a hash map from scratch. It was challenging because we don't really think in detail about how to do it. There were problems about resolving hash collisions, how to maintain the hash map, how to update/ delete elements, complexity analysis etc. Overall I think this was a very good question to test both CS fundamentals and coding skills.
I applied online. The process took 5 weeks. I interviewed at Amazon (Seattle, WA) in Jun 2014
Interview
Had a few phone conversations with HR about specific positions and interests. One technical phone interview with coding on a shared google-doc-like website. Flew me to Seattle and put me up in a nice hotel.
Interviewed with six people back-to-back without pause for four or five hours. Each interview was roughly the same: do some whiteboard coding, answer questions about your history. None of the whiteboard questions were riddles or tricks or things with one weird solution that you probably won't come to on your own. They were just mildly thorny problems where a decent solution involves a map or two and updating data in the proper order: decent and realistic stuff.
Read up on Amazon's Leadership Principles. There is a lot of "behavioral interviewing" where you're asked about challenges you've experienced and how you've responded to them. I went in expecting general questions where they'd analyze my answer to see if it exemplified specific Leadership Principles. In reality, the interviewers just straight-up asked, "tell me about a time where you <INSERT AMAZON LEADERSHIP PRINCIPAL>".
Where Amazon differed from other companies is that I was not given much opportunity to ask questions of the interviewers. They told me the project is secret and that most projects at Amazon are treated as secrets, even to other employees within the company. It's a little weird not knowing 100% what you're signing up for. Also, I didn't get a good feel for the culture of the team I'd be joining.
The whole process took just over a month, which is apparently faster than usual. I was fielding interviews and offers from other companies so continually pushed Amazon to keep the process moving along.
I applied online. The process took 3 months. I interviewed at Amazon (Seattle, WA) in Apr 2014
Interview
I didn't hear back from them for over month after I applied. So I contacted them by email to ask about the status of my application, and they replied by inviting me for an on-site interview at their Seattle campus. They didn't ask for a phone interview or talk to me before that. I thought that was weird, but cool nonetheless.
As it turned out, there was a catch. The reason they don't do phone interviews is because the on-site interviews are group interviews with about 50 other candidates. And damn they are difficult. They don't have time to do phone interviews, because they are doing it mass production style. Amazon is growing at a very fast pace, and adding a lot of employees constantly, as well as replacing those who leave because of their high turn-over rate. I guess they figured this is the only way that they can hire a lot of people, yet still ensure they are only getting top quality. I would have preferred if it was one-on-one interviews. Even if I hadn't gotten an offer that way, I would have felt more respected.
The interview day is comprised of one big programming project. We were given old low-end bulky laptops with small screens (14 inch?) to work on. We worked in groups of three. They constantly stressed that we were not competing with either our teammates or other groups, and that if we were all good, they would hire us all. Given the fast rate at which Amazon is growing, I believe that.
I believe the programming project was too big and too time consuming for only about 5-6 hours. I think it favors people with a lot of programming experience rather than problem solving ability. Someone who can crank out a lot of simple code quickly will outperform someone who can write a small amount of really difficult code. I don't think they are necessarily getting the best quality of candidates this way. This is an entry level position, and they shouldn't have interviews more suitable for seasoned software engineers.
Amazon admitted that they have a very frugal cost-conscious company culture and this is a good thing. However, I don't like that they downplayed the frequency with which employees are on-call: where they could be called in the middle of the night and have to wake up and fix a site reliability problem, albeit from their home. According to them, it was a few days every six months, but according to someone I know who worked at Amazon, it is a few days every couple of weeks.
Interview questions [1]
Question 1
The programming project was too big and time-consuming for completing in under 6 hours. It takes a lot of time to read and fully comprehend the long project writeup and the framework code we are supposed to build on, let alone code it, test it, and comment it.