Amazon | SDE2 | Austin | Sep 2020 [Reject]
Anonymous User
1369

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:

  • The first one I completed, but didn't get a perfect answer. Although it passed the tests they provided, I knew the solution I gave would break for some cases.
  • The second problem I could not complete in time. Instead I gave a solution that compiled, but didn't solve the problem.

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.

  1. The first round was about Object Oriented Design. Given some system, design the classes and write up some basic constructor and methods. The interviewer was very well versed on Python, but since I chose Java I found myself having to explain the interviewer even the most basic stuff, like how an array of primitives (for example integers) is initialized in Java. He didn't ask me for this, but I had to explain it because he was suggesting I'd do some stuff in Java wich is not possible, but it is in Python. At the end he mentioned as a feedback that I should be more "open minded".
  2. The second round was a LeetCode hard problem about Trees that I have seen before. The problem in itself is quite tedious, so it took me all 45 minutes of the interview to do it, but I got it correct. The interviewer didn't ask me anything about time or space complexity, probably due to time.
  3. The third round was with the Amazon Bar Raiser. I could tell he was a Bar Raiser becuase his team/role was part of a whole different organization than the one I was applying for. His question was a LeetCode medium question, very similar to Number of Islands. Although I prepared myself extensively around a lot of problems, this one (Number of Islands) I had not prepared for and it took me by surprise. I stumbled a lot during the first 10 minutes or so but eventually arrived to the correct solution, although I didn't have the time to fully code it out. I think the Bar Raiser didn't like my thought process, or the fact that I stumbled so much at the beginning, and this was probably the reason I got rejected.
  4. The fourth and final round was with the hiring manager, which is also the team manager. This was a System Design question that I could not find anywhere online. However I consider myself very well versed in System Architecture since my current role demands that everyday. I could totally tell that the interviewer was "trying to break me", as he would always come back with another question about my design after I got his previous question correctly. He kept probing my thinking process, and as a matter of fact we went over time because of this. At the end he was very satisfied with my answer and said "I've never seen anyone get this question perfectly".

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.

Comments (2)