Google Lost a chance to hire me… Finally, Amazon hired me !!!
I am one of the luckiest people who interviewed at Amazon HQ, Seattle. I will share with you my experience and how I cracked the Amazon interviews. In July 2018, I interviewed at Google HQ. Google rejected me despite cracking all their questions easily. You can find the medium posts of my Google Interviews below :
I will also share how I used Google’s rejection as a motivation for my success at Amazon’s Interview.
AfterMath of Google’s Rejection [July 2018]
After Google rejected me, I went into a state of depression for 15 days. After 15 days, I decided I will land myself into one of the following tech companies:
- Microsoft
- Amazon
- Uber
- Apple
- Lyft
- Airbnb
- Yelp
- Twilio
After I interviewed at Google, I did understand that algorithms and data structures are language independent. After Google interview, I realized that I am technically strong and I have special skills that companies are looking for; I started rejecting many companies for below reasons:
- I started rejecting companies if they forced me to solve coding questions in a specific language other than Python.
- I also started rejecting start-up companies which included positions like Machine Learning, Deep Learning, Computer Vision, who gave me tasks like analyze the data and prepare Jupyter Notebook, detect cars in the videos, given set of data do something interesting. I rejected these companies because doing all these tasks takes more than 2 hours and on the contrary, they mentioned to not give more than 2 hours (seriously? You guys are start-up and not Google, so behave like a start-up) and you need high GPU powered machines for a few of these tasks which the companies do not provide.
- I also rejected companies if they did not offer me a decent competitive pay. (I have also rejected Apple for this reason)
- I also rejected companies if they were not ready to sponsor my H1B visa.
Finally, I landed myself into Charles Schwab in Nov 2018 with decent pay. I was still hungry to be at one of the top tech companies that I have listed above.
Amazon mass Recruitment [Nov 2018]
Amazon announced in November 2018 about their second Head Quarters at New York and Arlington. I was knowing this is a correct time to try for Amazon. Through Facebook page, I also came to know that Amazon is hiring in bulk. I was planning to apply at Amazon and one day before even applying, one of the Amazon recruiters emailed me:
Hi Jai,
I just wanted to reach out to you, our Amazon FBA team is very interested in connecting with you.
We have an upcoming interview event in the Greater Seattle area that we’d love to invite you to. We’re looking for exceptional folks like you to join our team! Using your expertise you’ll have the freedom to solve some of the most complex, challenging problems in tech.
If you’re interested in exploring this career journey with us, please let me know and we can chat about next steps.
Thanks in advance for your time
Amazon Online Assessment [Dec 2018]
By this time I had given 60+ interviews and because of my Google interview preparation in the past, I did not need to prepare for my online assessments. After my Google interview, I used to give all the phone interviews and online assessments casually, and so I gave the Amazon assessment casually as well. The assessment was 120 minutes long. I cracked the two questions within 20 minutes and passed all the test cases. Despite passing all the test cases, I was rejected. I was disappointed by their decision.
Amazon Second Chance [Jan 2019]
One day, one of my friend in January 2019 shared an Amazon recruiter’s contact with me. I wrote a cold email to the recruiter:
Hello,
I hope this mail finds you well! My name is Jai, and I’m a software engineer looking for new opportunities in Amazon. You are looking for Software Developers, and I want to reach out to you. Amazon is one of my dream company and has a nice workplace to grow professionally and technically.
I have very good algorithmic and data structure skills and I am among the top 1% coders on CodeSignal. I take pride in saying that I am an expert in Python programming and I am ranked in the top 10% on StackOverflow in Python. I have graduated from my university with a GPA of 3.9. I think I would be a great fit at Amazon. Would you be available to chat a bit more about the opportunities next week, either Monday or Tuesday? I am attaching my resume for your reference.
Thanks,
Jai
The recruiter called me the next day and told me he liked my profile and he is forwarding my profile to the team and I might get an interview. Within the next 2 days, I got a confirmation email that Amazon wants to do a phone Interview with me. I did a phone interview with them without preparing and cracked all the questions.
Amazon On-site Confirmation [Early Feb 2019]
I got an on-site confirmation after my phone interview in Feb 2019. Amazon was hosting a hiring event on 1st March, because of the H1 season coming near, I told them to do the interview two weeks earlier. My interview was postponed by a week due to a snowstorm in Seattle.
Overview of the Amazon interview process
Phone interview process
Amazon’s recruiting process usually begins with one or two phone screens in which you interview with a specific team. The engineer who interviews you will usually ask you to write simple code on live-code, which is Amazon’s custom editor used for phone interview purpose.
Onsite interview process
Next, you fly to Seattle for four or five interviews with one or two teams which have selected you based on your resume and phone interviews. Each interview round is 1 hour long. Interviewers are each assigned a specific area to probe and may seem very different from each other. The first 20 minutes are behavioral questions based on Amazon’s 14 leadership principles. Behavioral questions are of type “Tell me about a time when…” which you have to answer in a S.T.A.R method format. During these 20 minutes, the interviewer types your verbal answer on their machine. These behavioral questions give a better understanding of how your work history coincides with Amazon’s 14 leadership principles. The next 40 minutes of the 3 rounds out of 4 are white-board coding. 1 round of 4 is a system design only questions. Amazon has made system design round mandatory for all the levels of SDE, even for undergrads and new grads. Amazon has a unique concept of “Bar Raiser” interviewer. Amazon’s “Bar Raiser” interviewer is charged with keeping the interview bar high. The “Bar Raiser” is brought in from a
different team to keep the bar high. They attend special training and will interview candidates outside their group in order to balance out the group itself. If one interview seems significantly harder and different, that’s most likely the bar raiser. This person has both significant experiences with interviews and veto power in the hiring decision. One of the interviewers will be a Manager who also has veto power in the hiring decision.
After the interview process
Interviewers can not see other interviewer’s feedback until they have submitted their own and they are discouraged from discussing it until the hiring meeting. During the hiring meeting, each interviewer's feedback is reviewed and the ones who took your interview are the people reviewing the feedback and making the decision to hire you or not. Amazon has a policy of 2–5, which means up till 5 business days Amazon gives the decision out to the candidate.
Interview Preparation [Mid Feb 2019]
After doing the above research regarding Amazon’s interview process, one thing was sure I had to practice design questions and behavioral questions. I was confident regarding my Algorithms and Data-structure skills.
System Design Preparations: I went through the following topics to prepare for my system design preparation:
- Introduction for System Design
- Load Balancing
- Consistent Hashing
- Database Sharding
- Microservice Vs Monolithic
- Redis Cache
- Facebook and Memcached
I went through the following system design questions for my preparation:
- Design Twitter
- Design Whatsapp
- Design Facebook Messenger
- Design Tiny Url
- Design Autocomplete search
- Design Dropbox
- Design Uber:
https://www.youtube.com/watch?v=J3DY3Te3A_A&t=1643s
https://www.youtube.com/watch?v=umWABit-wbk&t=29s - Yelp
- Caching at Netflix
System Design strategy that I chose is from the below medium article:
https://blog.pramp.co m/how-to-succeed-in-a-system-design-interview-27b35de0df26 (A Step-by-Step Approach to Acing your System Design Interview)
The steps mentioned in the above article are the steps that I used during my design interview.
Behavioral Round Preparations: Behavioral round is very very very very very important for Amazon. Amazon is a customer-centric company and they expect to have some customer obsession in your answer. I went through the following material for my behavioral round preparation:
- Why Amazon: This is a question that is being asked to everyone. You do not want to miss this question.
- 10 mistakes to avoid in Amazon interview
- How to answer in Amazon behavior interview
- 5 most asked question during the interview
- How to answer Amazon Interview Question: Tell me about a time you failed
- Tell me about your strengths. What is your greatest weakness?
- What’s the most innovative new idea that you have implemented?
- How To Answer Ownership Principle Questions During The Amazon Interview
- Answering Amazon Interview Question: Do you collaborate well? (team communication & negotiation)
You can go through the whole playlist: https://www.youtube.com/watch?v=UJXkaide9bU&list=PLLucmoeZjtMTarjnBcV5qOuAI4lE5ZinV&index=30. Definitely watch the ones that I have mentioned. You might find the videos are boring (yes, the videos are boring), but believe me his videos are helpful, and I felt that after I gave my interview.
The onsite interview day [Feb End 2019]
Amazon booked my stay at the Fairmont Olympic hotel. It’s a beautiful hotel. On the day of the interview, there was a fire in my eyes to crack this interview. After all that hard work that I did in the past, this was the day to show my skills. I was confident and determinant. Before leaving the Hotel that day, I looked myself into the mirror, and shouted three times:
😤 How’s the Josh? High Sir !!! 😤
Interview Round 1 (Manager)
The interview timing was 10:00 AM but my interviewer, let’s say Interviewer-A, he was 5 minutes late because of which I got a little nervous since I felt I wasted my precious time. Interviewer A was the manager of the team. Interviewer A looked at me and asked how are you feeling? I said, “I’m little nervous”. Interviewer A smiled at me and said: “Little nervousness is always good”. I went into the interview room and the first thing I checked that all the markers are working (I did not want to repeat that happened in the Google interview, I won’t let a marker steal my glory !!!). Interviewer A said: “You can keep the marker down and sit. We will discuss a few things”. He asked me two behavioral questions which I answered him in a S.T.A.R method. After behavioral questions, he asked me a coding question which I had to solve on a whiteboard. After looking at the question I went blank, I could not think anything but I had seen the question and had solved multiple times. Because I had solved the question before, I was trying hard to remember the solution but I could not and there was a 2-minute silence. I realized I am losing precious time and such a long silence is a red flag, so instead of remembering the solution, I told my mind to wash away the memory of me seeing this question and think that this is the first time I have encountered the question, as I did that my mind just gave me all the solutions by which the problem could have been solved. I was amazed by my dynamic thinking. Luckily, I cracked that question with the optimized solution.
Interview Round 2 (Lunch Interview)
Lunch interviewer, let’s call him Interviewer B was a young guy. Interviewer B was from the same place, where I am from, because of which we both connected really well. Interview B was the person who told me that Interviewer A was the manager of the team and this team is a new team, at that point, I knew that I won the half battle because I performed exceptionally well in the 1st interview round which was with the manager.
Interview Round 3 (System Design)
This was going to be the toughest round as I do not have any prior interview experience for System Design. Interviewer C gave me a very hard time. Interviewer C asked me 4 design questions. I managed to give a solution for all the four but none of the solutions impressed him. For all the solutions I provided the only thing he told me that this will work but it’s not an elegant solution. In this interview round, I did my best I could and I think I did well in this round in terms of clearing the questions and giving scalable solutions. Although this round the solutions were not what Interviewer C was looking for, all my solutions did say loudly about my problem-solving ability.
Interview Round 4(Bar Raiser)
Interviewer D was a lady. She started with a few behavioral questions. After the behavioral questions, she asked me Object-Oriented Design question. I drew the Class diagram for the problem. Then she told me to code the class diagram. After coding the class diagram she gave me a coding question based on that object design that I created. I immediately told her that it’s a graph problem and most of the graph problems are solved by DFS or BFS. She told me to go ahead and code. I coded the solution and explained her each and every line like I am the compiler and I am running the code line by line. She was impressed by my explanation style. She gave me a follow-up which was tricky. For the follow-up, I had to remodel my object design so that I do not complicate my solution. She told me to go ahead and make the changes. I quickly changed my object design and started coding the solution. As I was coding I was explaining each and every word that I was writing. At the end when I was going test my code she told me no need to do that you already tested when you were writing the code. At the end, she told me if I had questions for her and mentioned she won’t be able to answer team specific question since she was not from the team, at that point, I realized that she is the Bar Raiser and I was dancing in my mind that I have almost won this battle, just had to do well in the last interview.
Interview Round 5
Interviewer E was a Program Manager. He asked me a difficult behavioral question that was a little unexpected. I took my time to frame my answer and smartly answered him. He asked me a few follow-up questions based on my answer and at the end, he was satisfied with my answers. He asked me a coding question to solve. The question seemed to be easy and I verbally told him my approach. He agreed with my solution and told me to code it. When I started coding it there was confusion, as I was explaining to him what I was coding he stopped me and asked me why am I doing this. I explained to him the code and he told me this is not what we need, at that point, I suspected that I had misinterpreted the question. I gave him a few test cases and asked him to give me the output for each test case so that I can understand what is needed from the question. He explained to me the output for all the test case, and after his explanation, what I suspected was right, at this time I had lost around 20 minutes because of the confusion, it was my mistake I should have cleared the question at the beginning itself. I had 10 minutes in my hand, so I gave him a working code but I was not sure if my code took care of all the test cases. Before I could test my code for few edge case, the time was already up by then and Interviewer E told to me to stop, I got a little frustrated because I felt somewhere that I had messed up this interview.
The Offer [March 2019]
After the interview, I just forgot about the interview and the decision. One day when I was leaving from office the recruiter unexpectedly called me and said “Congratulations !!! We are extending the offer to you.”, after listening to those words I was speechless, and there was a 15 seconds complete silence and recruiter was asking me over the call “Are you there ??? ”, I just did not know what to say, so I say to her “Can you call me tomorrow, I need some time to gulp in reality. Thank you.”