I applied through an employee referral. The process took 3 weeks. I interviewed at Amazon
Interview
3 phone / skype interviews.
the first was with HR. She asked to review the code and explain few things about the given code. The second was with a technical guy, he gave 3 questions. All questions were quite familiar from the Cracking Coding Interview book. The third interview was about the system design. The question was "how would you implement the ITunes". Here I was quite weak. The next day after the third interview I got a decline.
Interview questions [3]
Question 1
given a method
private LinkedList doAction(List l1, List l2) {
LinkedList ret = new LinkedList();
for (int i = 0; i < l1.size(); i++) {
for (int j = 0; j < l2.size(); j++) {
if (l1.get(i) == (l2.get(j))) {
if (!ret.contains(l1.get(i))) {
ret.add(l1.get(i));
}
}
}
}
return ret;
}
questions:
* what does the method do
* what is bigO for the method
* how to improve the method
* how to test the method
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.