Amazon || SDE 1 || March 2022 || Off-campus
Summary
I successfully secured an SDE 1 offer at Amazon after a thorough interview process in March 2022, which included an online assessment and three demanding interview rounds covering data structures, algorithms, project deep-dives, and Amazon's leadership principles.
Full Experience
I had been diligently applying to Amazon for over two years, initially for internships and then for full-time SDE-1 roles, but without much success. In January 2022, I finally received an email for the Software Development Engineer-1 role and applied. About 10 days after completing the online assessment, I got a congratulatory email, indicating my interviews would be scheduled soon. The entire process, from application to offer, took approximately 1.5 months.
Online Assessment
The online assessment was conducted on HackerRank and consisted of two sections:
- Coding (70 minutes): This section had 2 DSA questions.
- Work Style Assessment (20 minutes): This assessment was focused on Amazon’s Leadership Principles.
I received confirmation that I cleared the online assessment on February 2nd, 2022.
Interview Round 1 (40 minutes)
My first interview was with an Amazon SDE-2. We started with brief introductions, and then I was asked to introduce myself and discuss a project I had worked on, followed by a few follow-up questions. Afterwards, we moved to DSA, where he stated I would need to code two questions. While I cannot disclose the exact problems due to an NDA, I can share the topics.
- The first question was a straightforward tree traversal problem, quite similar to the lowest common ancestor problem. I initially started with a brute-force approach and then optimized it to an LCA-like solution. I missed a few corner cases during coding, which the interviewer kindly pointed out, and I corrected them.
- The second question was a dynamic programming problem, akin to a stock sell problem. I explained various approaches, discussing their time and space complexities. The interviewer continuously encouraged me to optimize, and once he was satisfied with my proposed solution, he asked me to code it.
At the end, I asked him about the scale of impact an SDE-2 makes at Amazon.
Interview Round 2 (60 minutes)
This round was conducted by an SDM with 20 years of experience. After introductions, he asked me to explain one of my Web Development projects in detail. I had to share my screen and walk through the complete project, explaining every part of its functionality and the tools I utilized.
Next, we transitioned to the DSA part. The question was entirely new to me; I had never encountered anything similar before. It was related to Tries, and even after the interview, I couldn't find a similar problem online. I spent a considerable amount of time on this question. The code was quite lengthy, and there were many edge cases to consider. While I was able to build the core logic, I unfortunately couldn't code the complete solution within the given time. Towards the end, I asked him how Amazon, as a massive organization, ensures it tracks and suitably rewards every employee’s contribution.
Interview Round 3: Bar Raiser (60 minutes)
This was my final interview round, led by another SDM with 15 years of experience. After introductions, he asked me to share my screen and explain another one of my projects. Following the project discussion, he gave me two coding questions.
- The first question was similar to reversing a Linked List in a group of K-nodes.
- Building on my approach for the linked list problem, he then challenged me to reverse a stack without using any extra space. It took me a little while to conceptualize the approach, but ultimately, I was able to explain it and code my solution without any errors, which seemed to impress him.
After coding the second question, I dry-ran it for an input he provided. Then, he gave a bigger test case and suggested my code would fail. I quickly re-evaluated and confidently stated, “Sir, it will work.” This was a crucial moment, but I was certain about my code. I then dry-ran the larger test case, and it indeed worked perfectly.
Following the coding segment, the interviewer asked several behavioral questions:
- Tell me about a time when you were in a team project, what was your contribution, and what would you do if a team member was on leave but you had to finish the project on a deadline? How did you handle it?
- How do you approach any new feature?
Finally, I inquired about his experience at Amazon and the new products the company is currently working on.
Result
I received the offer! 🎉
Interview Questions (3)
I was asked to implement a function to reverse a singly linked list in groups of K nodes.
Building on the previous linked list reversal, the interviewer then posed a more challenging problem: to reverse a stack in-place, without utilizing any additional data structures or auxiliary space.
I was asked about my past contributions to team projects and how I handled situations where a team member was absent on a tight deadline. Additionally, the interviewer inquired about my general approach to integrating new features into a project.
Preparation Tips
Tips for Aspiring Amazon SDEs
Based on my experience, I would strongly advise future candidates to consider the following points:
- Resume Honesty: Never misrepresent anything on your resume; always be truthful about your experience and skills.
- Active Listening & Clarification: Listen very carefully to all questions and do not hesitate to ask clarifying questions to ensure you fully understand the problem.
- Think Aloud: Always communicate your thought process while coding. Talk through your approach, assumptions, and logic. This 'Talk and Code' strategy is highly valued.
- Thorough Testing: Always test for edge cases and consistently perform sample dry runs for your code.
- Code Quality: Strive for good, clean, and readable code quality.
- Leadership Principles: Amazon places a significant emphasis on its Leadership Principles. Prepare for these behavioral questions thoroughly beforehand.
- Engage with Questions: Always ask insightful questions at the end of the interview. This demonstrates your genuine interest in the role and the company.
- Perseverance: Have faith in yourself and never give up. Don't be disheartened by rejections or limited opportunities; continuous preparation and one strong performance can transform your career.