Software Engineer applicants have rated the interview process at Amazon with 3.3 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 48% positive. To compare, the company-average is 57.5% positive. This is according to Glassdoor user ratings.
Candidates applying for Software Engineer roles take an average of 24 days to get hired, when considering 3,651 user submitted interviews for this role. To compare, the hiring process at Amazon overall takes an average of 28 days.
Common stages of the interview process at Amazon as a Software Engineer according to 3,651 Glassdoor interviews include:
Phone interview: 30%
One on one interview: 18%
Skills test: 17%
Presentation: 10%
Personality test: 7%
Group panel interview: 6%
IQ intelligence test: 5%
Background check: 4%
Other: 2%
Drug test: 2%
Here are the most commonly searched roles for interview reports -
I applied online. The process took 2 weeks. I interviewed at Amazon (Seattle, WA) in Aug 2012
Interview
Had 2 phone interviews. For the first interview I got some common questions and then a technical question: print all permutations of a string. The interviewer was nice and patient, giving hints along way. The phone conversation ends after 1 hour but I continue to work on that and send him my complete answer later. The second interview consists many technical questions and I did not so good.
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.