I applied through a recruiter. The process took 6 weeks. I interviewed at Amazon (Seattle, WA) in Oct 2011
Interview
3 Phone Screens + 1 in-house interview day
First phone screen: Development Manager position. I felt like I did good enough to warrant further consideration, but I knew I wasn't likely the best software manager candidate they ever interviewed. Interviewer was professional and friendly. He indicated there would be more screening.
Second phone screen: Senior Development Manager position. Interviewer was a very senior director level manager of a large organization within Amazon. When answering questions about about project scheduling and live site issues, I failed to realize that Amazon's highest priority is keeping their existing services working perfectly and that trumps any new development. If I had recognized that part of their business before the call, I may have given more impressive answers.
Third phone screen: Software engineering (individual contributor position). This was a very comfortable interview for me. Mostly all technical and programming questions. I knew I had done well when I got off the phone.
Between each phone screen, a few weeks would go by without hearing anything. I would wait at least a week and then politely email the recruiter about next steps. Each time, the recruiter would apologize for the delay and setup the next phase (which would usually be for the subsequent week). Treat those Amazon recruiters nicely - Amazon is going through a huge growth spurt right now and their recruiters have way too many positions to fill to give anyone individual attention. So if you get anxious, wait at least a week, and send very short and professional mails to the recruiters asking about next steps. They are good about following up to any email you send within a few days.
In person interview: 6 hours of interviews. This included 4 separate hour-long interviews of coding and design problems on the white board. I felt like I did very well.
Interview questions [1]
Question 1
I won't give away the questions asked, as that would violate the NDA I signed. (Because I might actually want to work there some time down the road...)
But I will say this: Almost every coding and design question asked has been posted on Glassdoor. While I am a very experience programmer, I recognized long before the interview process, that I would need to put in some long hours preparing for this company. I spent a lot of time spent refreshing myself on data structures and applying that to problem solving. I went through like fifty Amazon programming questions posted here. I copied each one down, and made a note of the number of times an equivalent variation of that question was posted. Then I made sure I could solve each one with my own code. Extra attention given to the problems posted multiple times.
Prior to my interview, I had heard from many friends who interviewed at Amazon that they were asked at least one question involving a hash table. Amazon is famous for asking questions about hash tables. Either they ask about the hash table constructs in various programming languages (like Java and Perl, hash vs. map, etc..), or a coding problem where the hash table affords an O(N) or O(1) solution. So if you are asked a question that involves looking up a value in one array and searching for a corresponding value in the same or other array - the answer likely involves "use a hash table".
Also, Amazon quizzes candidates on their ability to recognize runtime ordering of the coding solutions. So know your "big-O" notation (e.g. O(N), O(N lg N), polynomial, exponential, etc...)
Interview by recuriter, Phone interview over Chime with one easy Leet code problem and 2 behavioral questions. Although the interviewer was very casual at the start of the conversation, it quickly changed into behavioral questions at the start.
Interview questions [1]
Question 1
Encoding optimization algorithm and talk about a project you did recently.
First round is just leet code coding which screens through AI before going into live coding. Pretty simple and straighforward. Not too tough. Recruiter walks through it pretty nicely. Not sure how many rounds there are exactly
After submitting my application for the Software Engineer position, I received an invitation to complete an automated Online Assessment (OA). The assessment consisted of standard coding challenges, primarily focusing on algorithmic and data structure problems. Unfortunately, a few days after submitting my solutions for the assessment, I received an email informing me that I would not be moving forward in the interview process and was rejected.