Amazon | SDE-1 | Seattle | December 2021 | Offer
Summary
After a persistent 2.5-year journey and numerous rejections, I successfully landed an SDE-1 offer from Amazon in Seattle, fulfilling a long-held ambition after a rigorous interview process.
Full Experience
After trying to get into Amazon for 2 and a half years and making it to the final round each time, I can say I have been determined to get this job since my Sophomore Year of University. This has been a long time coming, and I prepared rigorously for this opportunity. I endured endless nights of studying, LeetCode, Hackerrank, Systems Design Practice, and CodePath Courses. If I can say anything about rejection, it's that I've been rejected countless times by over 100 companies and made it to the final round about 30 times without closing until now. My advice is to start interviewing early, practice enough until it becomes a conversation, and start Leetcoding/Hackerranking until you have basic ideas and a foundational approach to any problem.
If I could recommend anything at all, it is the CodePath Interview 12 Week FREE Program. It provides structure, and what I mostly struggled with at first was the initial idea of how a problem should be approached. They help in learning keywords to look for and effective approaches. Everyone should sign-up.
Other than that, do not get discouraged by rejection. Do what programmers do best: put your hood back up, put a smile on your face, and Code.
ROUND-1 : Call with Recruiter
This was an initial call to review my interest in the company, my resume, and the following steps. The recruiter informed me about the team and said they had to speak to the Hiring Manager for a potential fit.
ROUND-2 : OA
There were 2 questions. I believe I got this one and passed most test cases for both.
ROUND-3 : Technical Interview Phone Call
I received a message from the coordinator to schedule a 1-hour phone call with an SDE-2. The interview was pleasant. I don't remember the exact question, but I had programmed something with O(N) complexity, and he asked if I could improve it. (Note: any improvement to an O(N) solution is a huge hint to try making it solvable using Binary Search.)
ROUND-4 : 5 Virtual Onsite Interviews
- (1 hour) - Product Manager: This was a full behavioral interview where I was asked about past projects and had a heavy deep dive into the Leadership Principles. I was able to formulate my experiences to provide suitable answers to the LPs they asked.
- (30 Behavior + 30 code) - SDE2: The first 30 minutes were behavioral questions focused on Leadership Principles, and the other 30 minutes were for a coding question.
- (30 minutes + 30 Minutes) - SDE2: This round consisted of 30 minutes of LP questions with a deep dive into the technologies used, followed by a coding question.
- (1 hour) - Hiring Manager: Another 1 hour of behavioral questions, and some technical questions in terms of Software Practices, Systems, Networking. I thought I bombed this one as I felt like my answers were adequate, but like many of us, I don't speak super technically because I don't have much real-world experience.
- (15 Minutes) - SDE1: This was essentially a lunch break where I was able to ask another person on the team about the culture and how the team operates. No data points were tracked here.
Interview Questions (4)
Implement an algorithm to find the Minimum Spanning Tree of a given graph.
Given a graph and a specific point, find the points closest to that spot.
Design a system that records 'hits' occurring at specific timestamps and then, given a query time, returns all hits that happened within a certain duration (e.g., 'X' minutes) before that query time.
Given a collection of words, write a function to group all words that are anagrams of each other (i.e., they contain the same letters but in a different order).
Preparation Tips
My preparation journey was extensive and challenging, spanning 2.5 years of dedicated effort. It involved endless nights of studying, practicing on LeetCode and Hackerrank, and engaging in Systems Design practice. I also enrolled in CodePath Courses. I highly recommend the CodePath Interview 12 Week FREE Program, as it provided much-needed structure and helped me with the initial approach to problems, teaching keywords and effective strategies. My key advice from my experience is to start interviewing early to gain practice, refine your problem-solving until it feels conversational, and build a strong foundation in basic algorithmic ideas and approaches.
For coding problems, my approach was to tackle them with a clear head, similar to real-world challenges. I made sure to understand the question, ask clarifying questions, state my assumptions, and get approval from the interviewer. I tried to match the problem to patterns I had seen or thought processes like DFS, Binary Search, Tree Traversals, Graph Traversals, and Adjacency List. I always discussed edge cases, starting with a good approach and explaining why other approaches might not work. I communicated my ideas (multiple approaches with pros, cons, and complexities) to the interviewer, as they sometimes help when I got stuck.
For behavioral questions and Leadership Principles (LPs), I diligently wrote down many stories that aligned with Amazon's LPs. I didn't stick to the "two stories per LP" rule; instead, I had about seven concrete stories that demonstrated behaviors like Ownership, Customer Obsession, and Learn and be Curious, ensuring they correlated well with the principles.