Amazon | SDE 2 | 2025 | Interview exp
Summary
I recently interviewed for an SDE 2 position at Amazon, undergoing four rounds covering LLD, DSA, HLD, and a final Bar Raiser round with coding and leadership principles. While I performed well in some areas, the overall outcome of my loop is still uncertain.
Full Experience
I recently completed my SDE 2 interview loop at Amazon, which consisted of four rounds.
Round 1 — LLD (Rate Limiter)
This round was focused on Low-Level Design (LLD) but also veered slightly into High-Level Design (HLD) aspects, where I discussed a Rate Limiter system. I also demonstrated strong leadership principles related to 'High standard and deliver result', leading to an 'Expected: Between Strong Hire / Hire' rating for this round.
Round 2 — DSA (Non-Bar Raiser)
The second round was a Data Structures & Algorithms (DSA) session. The problem involved designing a song recommendation system where a DJ plays the most frequent songs from a guest's list. I struggled a bit with finding the optimal solution in terms of complexity and speed. My leadership principles for this round focused on 'Bias of action and deep dive', resulting in a 'Lean Hire' expectation.
Round 3 — HLD (Aggregation System for Vending Machines)
The third round was dedicated to High-Level Design (HLD), where I tackled an Aggregation System for Vending Machines. I believe I showed good understanding after clarifications, proposed a correct data model, and logical aggregation. However, I missed some operational excellence considerations like retries, cron jobs, and Dead Letter Queues (DLQ). My leadership principles here were 'earn trust and ownership', and I was rated 'Expected: Lean Hire / Hire'.
Round 4 — Bar Raiser (Coding + LP)
Finally, the fourth round was with a Bar Raiser, combining both coding and leadership principles. I discussed leadership principles centered on 'customer obsession and new learning', for which I received a 'Strong Hire' expectation. The coding question required designing a data structure with add(c), remove(c), getMaxChar(), and getMinChar() functionalities. For this coding part, I was rated 'Expected: Between Hire/Lean Hire'. I'm currently waiting for the final decision and would be interested to hear from others in similar situations.
Interview Questions (4)
Design a Rate Limiter system. The discussion also touched upon High-Level Design (HLD) aspects.
Guests provide a list of songs with their play counts. Design a system for a DJ to play songs that are most played by the guests. I struggled a bit with complexity and finding an optimal solution speed.
Design an aggregation system for vending machines. I considered data modeling and aggregation logic but also noted areas where I missed operational excellence aspects like retries, cron jobs, and Dead Letter Queues (DLQ).
Design a data structure that supports the following operations efficiently:
add(c): Add a characterc.remove(c): Remove a characterc.getMaxChar(): Retrieve the character with the highest ASCII value.getMinChar(): Retrieve the character with the lowest ASCII value.