Hello leetcode,
Background :
I want to share my experience with the interview with Amazon. I am a graduate student, and I applied to Amazon SDE New Grad. Additionally, I have worked with Amazon as a Linux Engineer for about six months before starting Grad school.
My timeline is
October 18th 2019: I got an email that I have cleared all three rounds on online assessments and soon moving toward find round
After this email, I started studying like anything with an expectation that I will get an interview within 1-2 weeks. I solved all leetcodes questions in Top Amazon Questions(all easy, medium, hard). Additionally, I revised CTCI, which I have already solved for two times.
Though Amazon's ex-employee, I studied Amazon Leadership principles.
But to the sadness, I didn't get the final round for two months. I emailed them, and every time I got the same reply that due to a lot of interviews, they couldn't tell how much more time may require to schedule my final round.
While anticipating for the final round, I kept on solving Leetocde problems and kept on getting rejections from other companies. Rejections emails have become an everyday routine. I solved almost 100 leetcode problems. I also gave coding rounds of two companies, but till date, I haven't heard back from them.
Finally, I got the email around December 18th, 2019, to schedule a final interview email. But I didn't get any time slot suitable for me. I selected option 'none of the above options suits me.' Then there was Christmas break, so I had expected that I would not hear back from them during this time. My full vacation went on studying for an interview, though I enjoyed some days of it like New year's eve etc.
January 3rd 2020
I didn't hear from them till January 3rd, so I emailed recruiter again, and he replied with the link to select the timing. I chose January 10th, and I got three virtual interviews scheduled on that date. From January 3rd to January 10th, I studied for almost 12 hours continuously as I had to go through many things and get ready to tackle whatever type of question.
From October 18th to January 3rd, I had given six mock interviews on ***. I had completed leetcode 150 problems. I had completed facebook top questions too. I had given many mock interviews with my friends. I had made the list of questions asked in past interviews and solved them also. I had seen many videos of System design and object-oriented design. I solved many object-oriented design questions.
January 10th 2020
On the final interview day, I was ready. I was a little nervous but decided to give my best as I have spent almost three months for preparation of just this interview.
First Virtual Interview:
The interviewer was a young age SDE. He asked me some leadership questions. Then he jumped on the coding round. It was on DFS. I completed the question bit early. I finished the interview 15 mins before the anticipated time, so remaining minutes, I had a great discussion with the interviewer.
Second Virtual Interview:
As my first round was very nice, I was pretty confident about this round. The second interviewer was a lady. She was a bit strict. She didn't bother to give her intro nor to ask me but jumped directly to the coding question. She said I am looking for production-ready solution. She told me to write the code to add two numbers. I started asking the questions about what types of numbers (int, decimals etc). She gave me a constraint that there should be no limitation on the user's side. They may enter any name of any size. I started brainstorming and suggested different approaches. So I answered to use polymorphism. She said yes, but said think of some other way. She gave me a hint of string. I got what she wants me to do. So I started providing solutions on how we may add both numbers in a string. She said to begin coding the solution. I began to write code by handling all edge cases. I was continually conversing everything from my mind; I was explaining every line to her. I got confused sometimes, but her hints help me to come to the final solution. I gave her a working solution. Then she asked me a few behavioral questions to which I answered. But she was not satisfied with my answers, she asked me to give a scenario related to technical projects. I was skeptical if there is such a constraint that behavioral answers should exclusively be related to technical projects. Anyways, this round went ok, not right as the first round.
Third Virtual Interview:
In this round, I was tensed due to my second round. The third interviewer started asking me some leadership questions, and she was very nice and showed interest in my answers. Then she gave me one problem which can be solved using dynamic programming or using Priority Queue. I explained both my approaches, and she was satisfied with it. Then I discussed the best option to go for, and she agreed to that also. I coded the solution and also ran on example. My code was perfect. Then she asked me what test cases I may design for this code. I gave her 4- 5 test cases that can be used to test this code. She seems to agree on that too. This round was the best as the first round.
So finally two excellent round Vs. 1 ok round
I was of the thought that my two rounds were the best, and my one round was ok and not worst. So I was hoping to see a good result based on previous interview experiences.
Result
Then, I got an email after three days saying I couldn't pass the final interview. The email put me in a state of shock. I didn't believe that this was the outcome of my three months of hard work. It was the greatest failure of my life. But I need to accept this and needed to move forward. Now I am applying for other companies.
Things I felt skeptical about the interviewer:
Things I felt skeptical about the interview schedule:
While I was waiting for the final round, I didn't get an email through a regular routine to schedule an interview. I needed to send a reminder to my recruiter, and he sent me the scheduling link manually.
I don't want to say that I was right and they were wrong. But that's what in my life.
I guess my luck was not with me during that time.
Afterward, I applied to Facebook through my friend's reference. Today I got an email and got rejected in resume screening itself. Still the hard time continues for me.
But I believe the time will change. The last 4 - 6 months has prepared me to great extent. I have learned many new things and leetcode has helped me a lot in this. I want to thanks all for helpful interview experiences, solutions and discussions.
Questions:
Update:
https://leetcode.com/discuss/interview-experience/655873/Amazon-or-SDE1-or-3-times-rejection