Part 1: Online Assessment
My interview process for the Software Development Engineer (SDE) intern role at Amazon began with an online assessment. This assessment consisted of two coding questions, followed by some questions on leadership skills. The coding questions tested my problem-solving abilities and my knowledge of data structures and algorithms. After completing the assessment, I answered a few questions related to Amazon's leadership principles, which aim to evaluate how well candidates align with the company's core values.
Four to five days later, I received an email informing me that I had been selected for an interview. The interview was scheduled for the following week.
Part 2: The Interview
The interview was scheduled to start at 12 PM. I joined the call on time and began with a brief introduction about myself. The interviewer then explained that he would ask me two data structures and algorithms (DSA) questions. I needed to discuss my approach and then write the code for each problem.
Question 1: Rotate a Linked List
The first question was to rotate a linked list by k positions. This is a medium-level LeetCode problem.
I explained my approach to the problem, detailing how I would identify the new head of the rotated list and adjust the pointers accordingly. Unfortunately, I struggled with coding the solution because I hadn't brushed up on my linked list concepts recently.
Question 2: Maximum Sum Such That No Two Elements Are Adjacent
The second question was about finding the maximum sum such that no two elements are adjacent. This problem can be found on GeeksforGeeks.
I described my approach using recursion and wrote the initial code. The interviewer then asked me to optimize my solution. I provided a dynamic programming approach to optimize it, explaining how I would store intermediate results to avoid redundant calculations.
By this time, the interview duration was almost over. The interviewer asked if I had any questions for him, so I took the opportunity to inquire about how my interview went and any feedback he could provide.
Conclusion:
Two weeks after the interview, I received an email from Amazon. Unfortunately, I was not selected for the SDE intern role. However, this experience taught me a lot. It highlighted the importance of being well-prepared and having a strong grasp of fundamental concepts, especially those related to data structures and algorithms.
Although the outcome was not what I hoped for, the interview process itself was invaluable. It provided me with insights into my strengths and areas for improvement, and it motivated me to further enhance my coding skills and problem-solving abilities.