I applied through college or university. The process took 4 weeks. I interviewed at Amazon (Seattle, WA)
Interview
An Amazon recruiter came to my University to give us a spiel about working at Amazon and accepted resumes at that time. She contacted me by phone to see if I would be interested in interviewing. This was an expenses-paid trip to Seattle for a few days.
The day started with a general QA session with some really nice Amazon SE Engineers. The bulk of the interview after that was a group programming project; we were given a task, split into teams of 3, and had around 6 hours to program. We were pulled out individually during that time to discuss our individual implementation and ideas. They wanted to, of course, discuss the time complexity of the implementation. I was a bit turned off by the fact that they asked 0 questions about projects we had worked on in the past or questions to learn more about us as people--but maybe they were getting some of that information just by observing how we interacted with our teammates?
I personally think I flubbed this one--I got flustered at the start and it took me too long to get started. Be prepared to think through a large, complex problem that could involve a lot of programming and data structures. The problem in our case was divided into three parts--I took the third one, but I think it was more reliant on the other parts than I had anticipated. I recommend trying to pick a part of the problem that doesn't necessarily build from the other parts if you plan to "divide and conquer" to solve the problem.
If I had to do it again, I might try a more team-oriented approach. Instead of trying to get everything implemented in such a short amount of time, work together to really iron out the implementation on paper, and THEN get started on the implementation with really well-defined (and modest) goals for each programmer. One of the reasons I didn't feel quite comfortable with this approach at the time is that one of my teammates was sort of bashing people he had programmed with in the past... and I felt uncomfortable about adding myself to his roster of bash-ees! If I do apply again in 6 months as Amazon suggested, I'll be sure to ignore such impulses and really apply myself to the idea of working as part of a team.
Interview questions [1]
Question 1
Large group programming project--working on a small development team and brushing up on datastructures would be helpful for preparation
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.