I applied through an employee referral. The process took 2 weeks. I interviewed at Amazon (Vancouver, BC) in Aug 2012
Interview
I had two phone interviews. First phone interview went okay. The interviewer asked me to write a code which I did correctly but I kept getting confused with complexity a tiny bit. His question was to merge two sorted arrays in another sorted list. I didn't sound very confident in the first interview but overall experience was ok. I was then called for second phone interview and it went extremely well. I answered all the questions correctly. The coding question was very nice but I came up with a very good solution. The interviewer was complimenting me a lot. However, I got a rejection email after two days. Hence I don't know went wrong :(
I don't know how these companies hire. I would have understood if they rejected me the first time but why after second interview especially when it went so well.
Interview questions [1]
Question 1
There weren't any unexpected or difficult questions. I think I did okay.
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.