I applied online. The process took 2 days. I interviewed at Amazon (Seattle, WA) in Jun 2012
Interview
Received an email from HR about scheduling a phone interview. I applied at their website before that but they also could have found my resume another way. First phone interview was all techincal and asked me to code a method to do a depth first search of a binary tree. And also had me do a coding problem where I had an endless stream of integers and I had to keep track of the 1000 largest in big O of log N time.
Second phone interview was all technical and had be right a method to take in two numbers and raise one number to the power of the other ex: 2^3 = 8; Next questions was given an array of numbers to remove the duplicates in big O n log N times with memory space of big O(1).
I didn't make it pasted the second phone interview
Interview questions [2]
Question 1
given an array of numbers to remove the duplicates
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.