I did a phone Screening from the recruiter, nothing technical, she explained the benefits and the detail of the role. Two weeks later, I received an email to book a technical interview. I was asked to explain my technical experience specifically when a user required something against the business rules.
I applied through a staffing agency. The process took 5 days. I interviewed at Amazon in Aug 2014
Interview
Initial communication from third party recruiter on Linked in. Interviewed onsite in Seattle without phone interview, as part of 'Blitz' process.
Flew out from California to Seattle 4 days later on a Monday. Went through 4 onsite interviews during the morning with 4 different people - one manager, 3 SDEs, plus the recruiter.
Got call by afternoon of the interview to be told that there was an offer incoming. Detailed offer with numbers a few days later.
I applied through a recruiter. The process took 4 weeks. I interviewed at Amazon (Seattle, WA) in Aug 2014
Interview
In summary, it was a very positive experience from start to finish. The interviews were setup quickly and professionally, the interviewers were friendly, and the overall process was well streamlined. However, the interviews were anything but a cakewalk. You had better know your data structures well, and preferably have lots of prior experience working with clustered and multitiered systems. Even though they didn't give me an offer, I'm happy with the experience.
The process started with a recruiter with Amazon contacting me via e-mail. She setup a phone interview within the week and got things rolling. The phone interview covered two things: coding challenges and a casual interview. I was asked two questions a little more difficult than a FizzBuzz question, and asked to write code to solve it in the language of my choice. The interviewer was more interested in measuring thought process than he was correct working code. The casual interview was the same: it was designed so that he could understand how compatible I would be working for the company, and I would get a better understanding of the companies culture.
After the interview, the recruiter contacted me within the week and setup an in-person interview at their company. This included Amazon covering a plane ticket, hotel, and travel costs. This second interview involved five separate one-on-one interviews which lasted the whole day. Here is where the real test is: Each interview will give you a unique coding challenge to solve. These are far more difficult and involved than the phone interview questions. It's your job to understand the problem, design a solution, and code it up. You had better understand your data structures and be comfortable using them on-the-fly. I won't divulge specifically what the questions were, but they ranged from esoteric let's-design-an-elevator questions, to more real world "This is a technical challenge we're having with message passing between these servers, how would you solve it?". The best way to study is to practice solving problems (google them, there are lots out there!). Again, the language you use isn't as important as the process you develop.
On the whole, it was a good interview. I imagine I didn't get an offer from simple lack of experience (I graduated college not too long ago). Their interview process is streamlined and efficient, and they were willing to fly me out even though I live in a different state. Working conditions there seemed somewhat rigorous, but Amazon expects a lot from their employees. Good luck!
Interview questions [1]
Question 1
"Tell me about a time when you failed at something."