The process took 1 day. I interviewed at Amazon in Apr 2012
Interview
Just got a phone interview yesterday! It went great. My interviewer asked some resume questions, which were very easy going, and I was only given one problem to solve: one on object-oriented design (in Java). We worked on collabedit.com. The design was straightforward, although he was a bit picky about one of the methods I wrote and fed me hints for quite a while on how to perfect it. He sounded like he was in a bit of a rush as he told me he had a meeting to go to afterwards, and our conversation was wrapped up quickly. But I continued to work on the code afterwards and after he came back online and saw me, he very generously continued to guide me through it and after a while I got just about everything right. I just found out I made it through to another phone interview, so I'm guessing I did reasonably well or he was impressed by my persistence.
Interview questions [1]
Question 1
Implement some classes to simulate a deck of cards.
the card class should have getRank() and getsuit() methods.
the deck class should have a shuffle() method and deal() method. The constructor should create a shuffled deck. The shuffle method must be hand-coded; the Collections.shuffle method is not allowed.
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.