Amazon SDE 2 Interview Experience
Summary
I successfully interviewed for an SDE 2 role at Amazon, navigating through multiple rescheduled rounds including DSA, LLD, HLD, and a Bar Raiser, ultimately receiving an offer.
Full Experience
I applied to Amazon via a referral and received an Online Assessment link after 10 days. The OA on April 27th consisted of two medium coding questions (whose exact details I don't recall), along with behavioral and work style assessments.
A recruiter contacted me two days later to confirm my availability. Since I was going on vacation, I scheduled my interviews after May 18th. My first interview, which was initially scheduled for May 19th with both DSA and LLD rounds, was rescheduled due to interviewer unavailability. Although disheartened at the time, this worked out in my favor as I felt I wouldn't have been able to clear the system design round if it had happened then.
DSA Round (May 27th)
Only one interview was scheduled for this day. The first 10-15 minutes were dedicated to discussing Amazon's Leadership Principles (LPs). The recruiter had informed me which two LPs to prepare for, so I had already formed STAR pattern answers for 8-10 questions.
- The first question was a variation of the Max Island problem, where I needed to find the largest island possible by changing just one 0 to a 1 in the matrix. I solved this by finding all connected components (islands) and then greedily checking each 0 to determine the maximum island size if it were flipped to a 1.
- The second question was a simple hashing-based problem. I don't remember the exact question, but we only had a discussion on it without implementation due to time constraints.
My self-assessment for this round was Hire/Strong Hire, though I wasn't entirely sure because of the last question.
LLD Round (June 17th)
This round was initially scheduled for June 10th but was rescheduled at the last moment. Again, the recruiter informed me of the two LPs to prepare, and I used the same approach as before. The initial 15 minutes were spent on LP discussion.
I was asked to design an Issue Management System, which needed to handle different priorities, escalations, and a wait queue. Overall, the round went well, and the interviewer seemed satisfied with my solution. My self-assessment for this round was Strong Hire.
HLD Round (June 17th)
Due to multiple reschedules, I requested the recruiter to schedule both the LLD and HLD rounds on the same day if possible. The recruiter again provided the two LPs to prepare. I was asked to design a Parking Lot system. Since this was an HLD round and the question felt more like an LLD problem, I got a bit confused and ended up discussing the LLD aspects. The interviewer was supportive and still asked meaningful questions relevant to LLD. The last 15 minutes were used for LP discussion, where I was asked four questions based on the two LPs I had prepared.
My self-verdict for this round was Lean Hire/Hire, largely because of the LLD discussion during what was supposed to be an HLD round.
Bar Raiser (June 23rd)
I received an email two days later stating that a bar raiser round was scheduled, focused on HLD. I had anticipated this due to my performance in the previous HLD round and had been preparing accordingly. The first 10-15 minutes involved LP discussion.
I was then asked to design an Amazon Locker System. The next 40-45 minutes went very well. Although I was designing it for the first time, I utilized various concepts I had learned from other system design problems. For example, my knowledge of proximity services from another question fit perfectly into this problem. The interviewer asked a few questions about concurrency and scaling, which I answered properly. Overall, I was happy with my performance, and the interviewer also seemed satisfied. My self-verdict was Strong Hire, mainly because I was proud of the design I presented.
I received the congratulatory email two days later, followed by a verbal offer discussion. The verbal offer included a base pay of 43 LPA, bonuses of 15.3 LPA + 12 LPA, and RSUs totaling 210 units. This brought my total first-year CTC to approximately 60 LPA. I felt the offer was a bit low-balled and tried negotiating, but the recruiter remained firm, stating they couldn't go beyond 61 LPA, even though I had another offer for around 55 LPA (for a profile I wasn't as keen on).
The location for the role is Bangalore, and I would be joining an Amazon Fresh-related team.
Interview Questions (4)
Given a binary matrix representing a grid of islands (1s) and water (0s), I was asked to find the largest island possible if I could change at most one 0 to 1. The problem is a variation of the 'Max Island' problem.
I was asked to design an Issue Management System that supports different priorities, escalations, and a wait queue for issues.
I was asked to design a Parking Lot system. Since this was an HLD round and the question felt more like an LLD problem, I got a bit confused and ended up discussing the LLD aspects. The interviewer was supportive and still asked meaningful questions relevant to LLD.
I was asked to design the Amazon Locker System. I focused on various aspects, including proximity service for locker location, concurrency for locker access, and scaling to handle high demand, utilizing concepts learned from other system designs.
Preparation Tips
My preparation involved creating STAR pattern answers for 8-10 questions based on the Amazon Leadership Principles, which the recruiter specified for each round. For system design, I focused on understanding general architectural patterns and components, which allowed me to apply bits and pieces of knowledge from various systems to new design problems effectively. Although I didn't mention specific resources, my approach leveraged previously acquired system design knowledge.