I applied through a recruiter. I interviewed at Amazon in Dec 2011
Interview
It was a standard Amazon interview process. I could not get past the phone round itself. The position that I interviewed for was in the Cloud team. The questions basically ranged from how a normal process works to multi-processing and cloud computing.
The interview call was a stroke of luck, I had a resume that was just floating around in one of the job seeking websites and I got a call from the recruiter out of the blue.
The initial part of the interview was the friendly chit chat as to what they ( the team ) do, followed by questions about my resume and my work experience so far.
Interview questions [1]
Question 1
Simplest way to make the same change to thousands of html files stored in a Unix environment. Should have been able to answer it but dint.
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.