I applied online. The process took 4 weeks. I interviewed at Amazon (Seattle, WA) in Oct 2012
Interview
I applied through Amazon's website. I was contacted by a recruiter not too long after (< 2 weeks) to set up the first of two phone screens. There was about a week in between the two phone interviews, and after the second there was about another week before I got contacted to arrange the trip out to Seattle for the on-site.
The phone interviews were very standard SE interviews. We used an online text editor for coding questions, and there were also higher-level design and algorithm questions.
The on-site consisted of four technical interviewers with engineers on the team I was being interviewed for (Kindle) and a lunch with a manager of the same team. They asked more personal questions during the on-site than is typical (from my experience), but each interview focused around one technical problem to solve on the whiteboard. The lunch was also an interview with the interviewer asking so many questions I didn't get to finish my food, actually.
I wasn't too confident with my solutions (I was being sloppy and tripping over syntax), but I was contacted during my trip home from Seattle to extend an offer. I had an offer from my #1 choice though, so I ended up declining. The impression I got from the engineers I talked to is that you can get worked very hard at Amazon, and while the engineers would say that the policies were fair (since if you were working long hours you were working to fix your mistakes), when I pressed the issue they seemed to waffle a bit on it.
Interview questions [1]
Question 1
Nothing too crazy. Standard data structures / algorithms / design type questions.
Interviewed for silicon team. Have only been asked about the domain specific knowledge in 1st round and system design in 2nd round and C coding in 3rd round.
The interviews were 50 mins each.
First round with hr screening - 2 leetcode questions then hr manager screening then the loop which consists of 4 interviews each an hour long. The 4 interview questions they asked where three medium leetcode questions. And one system design interview question about how to shadow deploy a test software to millions of users.
The phone screen went longer than expected, focusing heavily on implementation details. The interviewer really grilled me on my approach to a Least Recently Used (LRU) cache, asking how I'd combine a hashmap with a doubly linked list. I felt well-prepared since I had gone through system design examples on PracHub, which made me comfortable discussing eviction policies. The later rounds included more technical questions and behavioral interviews, but in the end, I received an offer, though I ultimately decided to decline. Overall, I’d say the process was average, with solid questions.
Interview questions [1]
Question 1
Design and implement a Least Recently Used (LRU) cache supporting get(key) and put(key, value) in O(1) average time. Walk through combining a hashmap with a doubly linked list, eviction policy when capacity is exceeded, and how you'd extend it to handle thread-safe concurrent access.