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.
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.