The process took 2 weeks. I interviewed at Amazon in Feb 2011
Interview
I was contacted by an Amazon.com recruiter and we went on to schedule the first phone interview. The recruiter had mentioned that there would be 3 phone interview, followed by an onsite interview. They give you the choice of date and time for scheduling the phone interview, so in this regards they were very flexible.
Interview questions [5]
Question 1
Explain Depth First Search and Breadth First Search. Write a routine to traverse the nodes of a binary tree using BFS
Given an array of positive integers, print out all the numbers which are repeated an even number of times ? Can you do this without using additional storage ?
I applied through a staffing agency. The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Dec 2010
Interview
Two phone interviews over 2 weeks - 1 per week. Could have gone faster, but I didn't want to take too much time off work. And followed by a day of on-site interviews.
Most of the questions were about problem solving, and a lot of the problems were about the problems the team has faced in the past, and so were about how to go about building scalable systems, or removing bottlenecks. Some algorithms / data structure / OO-design questions were mixed in as well.
Two non-technical interviews - one with the hiring manager over lunch, just getting a feel for each other, and one with the Amazon recruiter at the end of the day, talking about Amazon's compensation structure, and other benefits.
Interview questions [1]
Question 1
How would you go about making a case for rolling back a feature?
I applied through a recruiter. The process took 5 weeks. I interviewed at Amazon in Aug 2010
Interview
After initial contact, I went through two technical phone screens over a period of two weeks. This was followed two weeks later by an all day in person interview at locations in Seattle. Confirmation of an offer followed a couple of days after that, and then the actual offer after another couple of days.
Interview questions [2]
Question 1
I was asked to write an algorithm to find the minimum number of 1 letter changes to get from a given start word to a given end word using a dictionary of valid words, i.e. Cat->Cot->Cog->Dog
Effeciently find the first 1 in an infinite sequence of 1's and 0's for which you have a random access function, given the contraint that the first 1 will only be followed by additional ones.