I applied through a recruiter. The process took 1+ week. I interviewed at Amazon (Seattle, WA) in Nov 2011
Interview
I went through two phone interviews, but Amazon did not proceed to the next step. The first interview went decently well. It started off with basic Java/Object Oriented questions, and then moved to many performance related questions (Big O), such as the Big O of Java collections objects. There is also coding on a shared screen towards the end of the interview, and the interviewer would ask you to optimize the performance of your code. The second interview was similar to the first in terms of question structure. However, this interviewer had a heavy accent, so it was a bit difficult to understand some of the questions. In addition to the coding on a shared screen, this interviewer also had you give pseudocode over the phone for another exercise. After hearing that they were not going to proceed with the face to face interview in Seattle (with no reason given), I was contacted another 5 times within the next month and a half by other people recruiting full time positions for Amazon. My impression from all of this is that Amazon tries to go through a ridiculously large amount of interviewees across the entire country, and picks a very small % of them to actually hire. This part turned me away from trying for any other position.
Interview questions [4]
Question 1
What would you change about the Amazon website and why?
Which sorting algorithm would be good for sorting small-sized integer arrays and why? What is the performance? What about for large-sized integer arrays?
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.