AMAZON | SDE1 | EU | FIrst-timer [Rejection]
Anonymous User
1848

Hello community,

I would like to give back and share my experience of my recent Amazon interview.

Background: 1 YOE as Front end engineer + MSc Computer Science
I found out about LeetCode this year in late March and I grind the monthly challenges since then and I also did some extra. (Overall Solved Question 170 / 1531)

I mass applied to Amazon Career sites and after dozens of rejections emails I got my first invitation for a phone screening for Amazon Transportation Services (ATS) SDE1. The interviewer asked me about my background first and then we proceed with Leadership Principles(LP) questions.

I passed that round and I got an positive response the next day also asking me my availability for the coming interview which would be a more technical one.

Fast forward one week, I meet with a very pleasant interviewer starting with some standard LPs and proceeding with 2 easy+ Leetcode-like questions. One was a variation of 2 sum and the other was a variation of designing a simple cache (nothing tricky so I will not go into details). He wanted to see how I approach the problem and how I optimize my solution. Also he wanted to see some well-structured code.

Next day, I received the invitation for the final interviews which was scheduled couple weeks ahead. So the summary of the onsite virtual interview was:

  • Round 1: Same guy I did the previous interview. Same structure of interview but a bit more advanced. More specific LP questions and the coding part consisted of two medium problems which I solved them with recursion + memoization. I have solved similar problems here in Leetcode. [Felt I couldn't do better]
  • Round 2: Non-native speaker and also very new to Amazon. He was not very structured. We dived into LPs and then he just copy pasted a very big problem description muted his microphone and left(?) because I was asking questions and didn't receive any feedback. I think it was like a real life work problem with various constraints and he was not very helpful providing any further information. At the end of the day the problem was related with a list of routes[DriverID: Src->Dest Time] and I had to find out any problems that this list might have meaning any unwanted delays, wrong routes etc. Also, I thought that list was sorted based on timestamp but that was not the case. Eg the given testcase was something like that 0: A->B 10am, 1: G->Y 12pm, 0: B->D 5am. Note that he said that B->D was taking place before A->B time-wise. When I asked how can I know that he told me that time is also a date. I tried to structure my code with classes and I felt I was just talking alone. Eventually he stopped me and terminated the call. [My worst round]
  • Round 3: Non-technical which I guess was the bar raiser. He was very serious and cold. We discussed about previous project and how they could be improved and generally the systems design I have selected. We talked about details so be prepared. I couldn't read him so I was unsure if he was pleased or not.
  • Round 4: Very pleasing guy. I did a tremendous mistake on one of the LP question and tried to improvise a story that I haven't prepared. I was not very clear and half way throught I regretted my decision. We moved to coding part which was a dfs/memo problem underneath but camouflaged with difficult and not understandable instructions. It was a game that the player needed to go from A to B but I was confused because I immediately thought of a 2D array like in problems here. The tricky part were understanding the 3 different ways of moving the player and then try to create a corresponding data structure for each so at the end you could perform a dfs. He was helpful tho and I think I managed to solve it. However as in round 2 he stopped me.

After few days, recruiter reached me back and said to me that even tho they saw that my LP & communications skills were good my software engineering skills were not as good as they wanted them to be. The recruiter also said that I am automatically rejected for the next 6 months for any software engineering role in Amazon.

Closing thoughts:

  • Do prepare well for the Leadership Principle part. Record your answers, practice with friends and generally do your research. Apparently it worked out in my case. Also understand what they expect to hear from your stories.

  • For the virtual onsite... well try to be as relaxed as possible; Easy to say hard to do. I failed hard on that since it was my first FAANG experience. Due to anxiety I couldn't eat that day and I remember when standing up from my chair and getting dizzy - not pleasant.

  • Coding part, since I failed I am not sure if I should give any tips. Apparently, I was not well-prepared for long problem-descriptions and I was too focused on 'easy to understand' & 'hard to solve problems' which are most of the LeetCode problems I have seen. I felt I was lacking to fully understand the problem without spending a lot of time and also keep forgetting the problems constraints which were a lot.

  • System Design: various youtube videos and also one more experienced friend of mine helped me a lot by casually discussing about that topic since I had no prior experience.

  • Mass applying was not a good idea because I feel like I applied to a more experienced job role (Prefered requirements 4+ YOE) and for this reason the questions needed more experience tackling real-life complex problems than just leetcoding.

As a positive sidenote at least I reached my first goal that was to do an interview with a FAANG company. Many people did not have that chance so I am grateful that it happened and reached the final round.

Best of luck to all of you.

Comments (2)