Developer applicants have rated the interview process at Amazon with 3.3 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 67% positive. To compare, the company-average is 61.5% positive. This is according to Glassdoor user ratings.
Here are the most commonly searched roles for interview reports -
I applied online. The process took 1 day. I interviewed at Amazon (Seattle, WA) in Jan 2011
Interview
First phone interview, which didn't go well.
First question was about linked list traversal finding a node towards the tail. The algorithm I gave them ran in O(n), then they said it wasn't good enough, so I thought about reversing it and counting from the tail. That took up too much s...pace complexity so I was baffled for a while because I thought they wanted a much more efficient algorithm. Turns out they just wanted two pointers to traverse, which would only be faster than my original algorithm by a constant amount. I failed to see why that would make that much of a difference.
Second question was about Comparable vs Comparator. I NEVER used comparator during my years using Java so I couldn't answer that one.
Third question was finding duplicates in an array. Create another array to keep track of the repetitions, done.
Last question was the hardest - determining the angle between an hour hand and minute hand on a clock. I wasn't expecting a mathematical type question, plus I never really bothered to learn how an analog clock works that well anyway. I took a long time - and screwed up the formula for it, but basically it was dividing the degrees of each quadrant and applying what I know about hours and minutes to it. Didn't do that well - cause clocks aren't exactly my area of expertise.
Interview questions [2]
Question 1
Find the angle between the hour hand and the minute hand on a clock given the hour, minute and second.
The process took 2 weeks. I interviewed at Amazon (Orange, CA) in Jan 2011
Interview
Applied on-line, set phone interview:
First phone interview: talked about resume; past project, concept design, technologies, he asked so many question related with my projects; then he asked OOP - OOD; then shared document and gave me four function and asked to choose any 1 to complete, all of them were simple: int to string: palindrome; count max char. appeared in given string; he was cool and friendly.
Second phone interview: He was busy in meeting so reschedule on same day, he talked in-detail of projects design: and core logic part of all my projects one after one, He planned to ask programs, we didnt get time: but he was so impressed and he liked all my works and answers.
Take-home project: As I expected but without any notification they gave me simple problem to solve and willing to submit within 2 days, I was busy in other work so 1st day wasted: he expected some questions from me: and I asked some, as problem was so simple, I asked view questions: My solution was perfect as he want: submitted final answer.
End-up with no offer :( may be I asked few questions and he wanted some more
Interview questions [1]
Question 1
integer palindrome: give character which appeared max in string
I applied through a recruiter. The process took 3 weeks. I interviewed at Amazon (Seattle, WA) in Jul 2009
Interview
An external recruiting consultant put me in touch with the company and suggested 2 positions that matched my profile. I had phone conversations both with the recruiting consultant and with the actual Amazon recruiter. The questions were generic about the kind of work I was doing and why I wanted to leave, why I was interested in Amazon, if I needed a work permit, etc.
Then I had a first technical interview via phone with a dev from outside the hiring teams. Apart from questions about Java, she asked me to code some graphics algorithm - to display a certain pattern on the screen. I found it funny that I had to write the code on paper and read it out loud, for her to write it down !? (Maybe these days they have some form of shared editable document such as collabedit).
The second technical phone interview asked questions related to the position applied for, trying to assess if I had the right background and if I was familiar with the problem domain. We finished with some OO design - I was asked to design the elevator system for a building.
Finally, I had 2 on-site interviews, with the teams I was interested in. In both cases I had discussions with the hiring manager about the specific charge of the team and the current/future projects and plans. The 1:1 interviews with the devs were not directly related to the team's area (with the exception of one request to design a "Subscriber - Broker - Publisher" architecture (a) running on a machine; (b) running on a cluster) but rather design and implementation of "real" (or realistic) problems (resolve a puzzle; analyze the patterns usage of a parking area; find contradictions in a person's set of statements about a drag race).
So the problems were very practical and required some design, as well as implementation or sketching of an algorithms, rather than "textbook problems" such as traversing a tree or reversing a linked list.
The place looked quite frugal (the desks were cheap wooden desks) and chaotic (I was told that each team decides what language and environment to use, and what versioning system.
Interview questions [1]
Question 1
Design a "Subscriber - Broker - Publisher" architecture (a) running on a machine; (b) running on a cluster. Write the code for the 3 classes.
Details: there are Events, specified by an "event type" and a blob of detailed info. Each subscriber subscribes with a Broker for a certain event type that it wants to get. Subscribers send events to the broker, and the relevant subscribers need to be notified.