I applied through a recruiter. The process took 4 weeks. I interviewed at Amazon
Interview
Was contacted by recruiter on LinkedIn who was looking for people for Amazon roles and my background fit well with the position. I responded that I was interested, and they set up a 1-on-1 phone interview with an engineer from the team I was interviewing to join.
It was a pretty basic and straight-forward interview, not much chit-chat. I was asked to give a brief introduce myself and my career, and was then asked about recent big projects I worked on. There was one small coding exercise, to write a function to traverse a tree in-order, which was fairly easy.
I passed the first interview and had a second phone interview with the manager of the team. First I was asked to provide many technical details and explain the workings of the system I am in charge of at my current job. After that, I was asked to write a class to count the most popular words in a file while referencing a blacklist. The interviewer told me I could choose any language I want, but also mentioned several times this was a Java team and a Java position, so I went for Java to write this class even though I hadn't used Java heavily in about a year. This was a mistake, as I was able to write the logic of the algorithm easily, but I'd mixed up some of the method/iterator names of standard Java classes with those used the languages I'd used more heavily in the more recent past. I knew I was doing it, and mentioned this, and the interviewer said it was OK at the time, but I learned afterwards that I would not be able to proceed to the next step, so I don't think the interviewer like my answer there.
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.
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.
Recruiter reaches out after applying through Amazon careers, no referral. Had an initial OA, then after a month had four rounds in two days - three coding one system design. Each round had 30 min behavioral and 30 min coding.
Interview questions [1]
Question 1
Questions were mainly hashmap, sliding window and interval related.