← Interview experiences
Rejected

SDE2 at Amazon

Difficulty
Process took
3-4 Weeks
Rounds
5
Format
Remote
Applied via
Company Website

How it went

  • If you make a mistake (like I did during the Bar Raiser round with topological sorting), don’t panic. Take a step back, correct the mistake, and explain how you would approach it differently. This shows maturity and problem-solving skills.
  • When you don't get something right on the first try, show your willingness to adapt. If the interviewer corrects you, respond confidently by reframing your thought process. This shows you're able to learn and adjust quickly.

What they would tell you

  • If you make a mistake (like I did during the Bar Raiser round with topological sorting), don’t panic. Take a step back, correct the mistake, and explain how you would approach it differently. This shows maturity and problem-solving skills.
  • When you don't get something right on the first try, show your willingness to adapt. If the interviewer corrects you, respond confidently by reframing your thought process. This shows you're able to learn and adjust quickly.

How to prepare

  • Although I did not receive an offer from this interview, it was an immensely valuable experience.
  • Prepare for interface-driven designs and familiar patterns like Factory and Strategy. In rounds like LLD, where you design systems, ensure your design is extensible and can handle future changes smoothly. Understand common patterns and know when to apply them.

Round by round

  1. 1

    OA60 min

    I recently had the opportunity to interview for a SDE2 position at Amazon. The entire process consisted of one OA and four rounds.Though I ultimately did not get the offer, I wanted to share the experience and reflect on the learning from each round. Online Assessment, I successfully solved two questions and received an interview invitation.

  2. 2

    LLD60 min

    In this round, I was tasked with designing a system to model different types of Alexa devices. The devices included variations like audio-only, screen-only, and devices with both audio and screen. These devices could either have a battery or not, with battery-powered devices needing to display battery percentage. Problem Breakdown:

    • The main requirement was to write a show method that would display the battery percentage for devices with a battery, or indicate "battery not available" for others.

    • The show method would also print whether the device is charging or not. Solution:

    • I approached this problem using interface-driven design. Each type of Alexa device (audio, screen, etc.) would implement a common interface that defines a show method. I used design patterns like Factory for device creation and Strategy for charging behavior. The interviewer appreciated my design approach, especially the use of design patterns and interfaces. However, the feedback was that I could have further refined my design for better extensibility.

  3. 3

    Data Structures and Algorithms60 min

    This round was focused on solving algorithmic problems,the problem was to find the median of numbers in a stream of integers, with new numbers being continuously added. I proposed an optimal solution using two heaps: one max-heap for the lower half of the stream and one min-heap for the upper half. This allowed me to efficiently compute the median in logarithmic time.

  4. 4

    High-Level Design (HLD)60 min

    I was asked to design a reservation system for booking slots, where there was a maximum booking limit per slot. We also discussed concurrency and handling cases where multiple users select a particular slot but haven’t confirmed their booking. The system had to ensure that slots weren’t overbooked while handling situations where multiple users tried to book the same slot. Concurrency was a key aspect, especially in a multi-user environment. I proposed a system where we could use a centralized database for managing slots and locking mechanisms to handle concurrency. I discussed optimistic locking to prevent double-booking and transaction management to ensure data integrity. The feedback from the interviewer was mixed. While they appreciated my design, I was told I could’ve gone deeper into handling edge cases and fault tolerance. I also needed to be more specific about database choices and scalability concerns.

  5. 5

    Bar Raiser60 min

    The bar raiser round was the most challenging. The interviewer joined a bit late, but once the interview began, the questions were quite tricky. The problem was a variant of topological sorting, where I was tasked with ordering nodes given a set of constraints. Initially, I misunderstood the problem and used a BFS-based approach, but the interviewer pointed out the mistake during the dry run. I then corrected myself and discussed the DFS approach instead. The interviewer did not ask me to code the DFS solution, as the discussion was mainly around understanding the algorithm. While I felt that I had recovered well, the feedback seemed to indicate that I hadn’t fully understood the problem at first.

What came up

MediumRemote3 4 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources