Status: BS in Computer Science, 2 years of professional experience
Position: SDE2 at Amazon
Location: Austin, TX
Date: Sep 9, 2020
Disclaimer: Because I signed an NDA I won't be giving the exact questions I got on the interview. I will say, however, that all the questions I got during the whole process are here on Leetcode, without the Premium account.
LeetCode Stats
Easy: 71, Medium: 97, Hard: 32
For every problem I was presented with, I used Java.
Online Assessment:
This part of the interview was very similar to the experience other people have posted on this platform. I used the curated list provided under interview questions for Amazon (OA), and the 2 problems I got were from there. Nevertheless, I didn't do as good as I intended to. I think I walked into the OA feeling overly confident and the problems definitely took me by surprise.
There were 2 problems to solve in 90 minutes:
At the end of the 2 problems there is an opportunity to enter your comments/thoughts and I explained in as much detail as I could how I would have solved each problem.
To my surprise, I ended up making it to the phone interview.
Phone Interview:
The phone interview took place about 3 weeks after my OA, although I did this intentionally to prepare myself accordingly. The day before my phone interview I felt that the technical interview was going to be around the same topics of the second problem I could not solve during my phone interview, hence I focused more on that area.
The phone interview took place via Amazon Chime due to COVID. There were 2 interviewers, one of them was in training so he was in the background silent the whole time.
The interviewer started with some basic behavioral questions, all of which you can find on leetcode in other posts. In my personal experience, these questions are very easy to pass if you know what the interviewer is expecting to hear. I know for some this might be an ethical dilemma, but I always recommend going with the answer that they expect, even if you have to make something up. Then the interviewer gave me 30 min to solve a coding question.
The question was indeed about the same topic I failed on my second question in the OA. I had actually seen this problem before on Leetcode so I completely aced it.
At the end he gave me some time for questions and I went with some questions of my own and others that I gather from YouTube and other sources that are good to ask in ANY interview. Whatever the case, never end the interview without asking questions yourself, this looks terrible for any company.
Onsite (Virtual) Round
About 2 weeks after my phone interview I had my technical round. It was 4 interviews back to back, although I chose this format myself, the interviews can also be split in multiple days, although I think you have would have at least 2 back to back interviews.
Every one of the 4 rounds had behavioral questions similar to my Phone Interview. However the last round with the hiring manager had more "tricky" behavioral questions: hypothetical scenarios at work where each answer I could think of had a negative side. For example, "what would you prioritize, meeting a deadline with bugs or missing the deadline and delivering a perfect solution?". For this I answered with my instints and that seemed to work.
Hiring Feedback
About 4 days later the recruiter reached back to me and explained that the hiring manager gave an awesome feedback, but that during the other rounds they saw some "red flags" about my coding skills and that they could not extend me an offer. She continued to explain that if I was ever interested in applying again I had to wait 4-6 months.
Takeaways
Now that I have interviewed for other companies I can confidently say that Amazon holds a higher standard during interviews than most companies. Also the Bar Raiser seems to have the final say on the hiring decision. All in all I don't think is hard if you study enough and utilize the resources here on Leetcode. This was also my first ever interview with "Big Tech" so definitely learned a lot during the process.