I applied online. The process took 1+ week. I interviewed at Amazon (London, England) in Sep 2011
Interview
I applied online submitting my resume. The role was intended to be for fresh graduates from computing-related fields. The hiring manager contacted me in mail asking for the most desirable date and time to have phone interview.
The phone interview lasted around 30 minutes. The interviewer was an engineer from Amazon Research Lab at Edinburgh asking me first the questions about my background, studies at the university I was then doing Master's course, and finally, questions regarding my skills in Java. The Java part was about collections, syntax and exceptions. It was heavily Java collections questions with problem, use case scenario and a question on how I would solve it, which data structure would chose and what the overall computing complexity would be as a result.
I have not been successful in getting next round of the interview. The hiring manger contacted me in 3 days after phone interview letting me know that they made decision not to continue with my application.
Interview questions [1]
Question 1
Why would you use ArrayList? Is there a way to implement the same logic using just an ordinary array of int elements? What is the pros and cons in your decision?
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.