I have been selected as a 6 month SDE Intern at Amazon and I will be starting from Jan 2021. Leetcode has been my primary resource for preparing and I am extremely grateful to the Leetcode community. It's my turn to give back to the community so here it is, my entire Amazon internship interview experience.
Application Process: Amazon conducted a pool campus drive in the month of October where students from various colleges across West Bengal registered and appeared for the Online Test.
Online Assessment: There were four sections namely, code debugging, coding, workstyles assessment and aptitude. The code debugging section consisted of 7 code snippets that were faulty and we had to debug them and find the correct output (20 minutes). The coding section consisted of two coding problems and the difficulty was of Leetcode Easy-Medium level (70 minutes). The workstyles assessment were based on the leadership principles of Amazon. There was no time limit for this section. The last section was based on aptitude and reasoning questions. There were 24 questions and we had 35 minutes to solve them.
Technical Interview I: The interview started with a brief introduction about myself and what projects and internships I had done. The interviewer directly jumped into coding and I was given two coding questions that I had to solve. The questions were of Leetcode medium difficulty. This round lasted about an hour.
Technical Interview II: This round went for about an hour and 20 minutes. The interviewer was friendly and we had a brief discussion about one project that I made using React. Then he gave 3 coding questions to solve. The questions were based on DP and trees. I had a good time discussing my approach. He seemed satisfied. He also asked follow up questions based on the primary questions.
I asked him about the challenges interns and SDEs face on a day-to-day basis in Amazon and got to learn quite a bit about Amazon.
Preparation: Leetcode and gfg have been my primary sources of preparation and I cannot thank the community enough. My advice would be to consistently solve problems and maintain a streak. Some of the important topics to cover would be DP, Trees, Graphs, LinkedLists, Stacks, Queues and Arrays. If you are a beginner start with the easy questions first, solve quite a few of them, then move on to the medium ones. Stick to a plan and execute it on a daily basis and you'll eventually crack your dream company.
Also, practice with friends. Give mock interviews. This will help improve your communication skills. Thinking out loud and explaining your thought process is extremely crucial during the interview. Always start with a brute force and slowly build your way upto an optimised solution. Time and space complexities are also important. You should be knowing the time complexities of various data structures and sorting algorithms.
Believe in yourself. Be consistent, don't lose hope. Work hard towards your goal and you'll eventually land your dream job. I wish you all the best for your future endeavours. :)