Amazon SDE 2 Backend Interview Exp || Offer || August

amazon logo
amazon
sde 2 backendOffer
November 9, 202530 reads

Summary

I successfully interviewed for a Backend SDE 2 role at Amazon, completing six rigorous rounds including OA, screening, DSA, LLD, HLD, and a bar raiser, ultimately receiving an offer.

Full Experience

My interview journey at Amazon for an SDE 2 Backend role was comprehensive and challenging, spanning six distinct rounds.

Round 1 (OA): This was the Online Assessment. The questions were standard, though I don't recall the exact problems posed.

Round 2 (Screening Round): The screening began with about 10 minutes of Amazon Leadership Principle questions. Following that, the core problem was to Design a Type-ahead search system, which involved both Low-Level Design and Data Structures & Algorithms. They weren't looking for a complete working code but rather an implementation of key components. I focused on creating a trie and efficiently caching results at each node, explaining how a parent node's results could be formed by the union of its children's.

Round 3 (DSA): This round kicked off with another 10 minutes of LP questions. Subsequently, I was asked to solve three distinct LeetCode problems. I successfully implemented all three, providing working solutions.

Round 4 (LLD): The Low-Level Design round was conducted by Amazon's Head of Engineering and started with 15 minutes of LP questions. The problem given was to Design BookMyShow. The problem statement was quite vague, which meant I had to take the lead in driving the entire discussion. I designed the necessary classes, methods, and interfaces for the system. Towards the end, I was probed about which databases would be most suitable for storing different entities, and whether a different database type could be used for each.

Round 5 (HLD + HM): This round, focusing on High-Level Design and Hiring Manager aspects, included 25 minutes of LP questions. The design problem was to Design Chess.com (Online). A valuable tip provided was to conceptualize it as a chat application between two people, where chess moves are communicated in place of regular messages.

Round 6 (Bar Raiser): The final Bar Raiser round presented a problem related to dynamically computing top K values, specifically how to achieve this without iterating through all values during querying. Unfortunately, I don't remember the exact details of this problem.

Approximately two weeks after completing all rounds, I received the excellent news that I had been selected and extended an offer.

Interview Questions (6)

Q1
Design Type-ahead Search
System Design

Design a type-ahead search system, emphasizing both Low-Level Design and Data Structures & Algorithms. The expectation was to implement core parts, such as creating a trie data structure and caching results at each node. Results for a parent node could be formed by combining results from children nodes.

Q2
Brick Wall
Data Structures & AlgorithmsMedium

You are given a rectangular brick wall represented by a list of rows. Each row is a list of integers representing the widths of the bricks in that row. The total width of all bricks in any row is the same. You want to draw a vertical line from the top to the bottom to cross the fewest bricks possible. If the line goes through the edge of a brick, that brick is not considered crossed. You need to return the minimum number of crossed bricks.

Q3
Maximum Difference Between Node and Ancestor
Data Structures & AlgorithmsMedium

Given the root of a binary tree, find the maximum value V such that there exist two different nodes A and B where V = |A.val - B.val| and A is an ancestor of B. (Or B is a descendant of A).

Q4
Number of Islands
Data Structures & AlgorithmsMedium

Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Q5
Design BookMyShow
System DesignHard

Design the BookMyShow system. This was a very vague problem statement, requiring me to lead the complete discussion, designing classes, methods, and interfaces. Towards the end, I was also asked about database choices for storing different entities, potentially using different databases for each.

Q6
Design Online Chess Game (Chess.com)
System DesignHard

Design an online chess platform similar to Chess.com. A crucial tip provided was to think of it as a chat application between two people, where chess moves are communicated instead of messages.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!