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:
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]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.