I applied online. The process took 2 months. I interviewed at Amazon in Feb 2012
Interview
Received three appointments for phone interviews all set up via email, none of them very quick as far as responses. Each interview was 45 minute, the last interview that was set up was a template email sent to my address "Hello [Name] I'd like to set up an interview on [Date]"... that never turned into an interview, and I removed myself from the process because I found a job locally in the mean time (the three interviews were over the course of more than a month). The interviews were all pencil and paper problem solving and programming knowledge. It was a review of technical algorithm and data concepts from school, I would suggest anyone to review their basic programming before the interviews. I watched Stanford's free youtube videos and they helped. Focus on heaps and other data structures and try to remember computational complexity, there is a concern for what is fastest versus slowest in the questions. The interviewers were generally nice, about par for a developer interviewing a developer.
Interview questions [1]
Question 1
I was supposed to make a method that implemented the Fibonacci sequence. I froze up and forgot the actual equation before I stalled and finally stumbled my way through it.
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.