AMAZON | SDE 2 | interview experience

amazon logo
amazon
SDE 2
June 14, 20252 reads

Summary

I participated in an Amazon SDE 2 interview, which included an Online Assessment followed by several virtual rounds focusing on System Design, Data Structures & Algorithms, and Low-Level Design. Despite solving most problems effectively, I received a rejection email after two weeks.

Full Experience

Started with OA, a bit hard was only able to solve 1 but still got call for interview. All rounds happened within same week and virtual interview were on Chime. Each round had 2-3 leadership-based question.

  • Round 1: Hiring manager: Discussion about the project and LLD for a DNS resolver with a health check. Follow-up: support TTL and fast on reads.
  • Round 2: System design for Twitter: Consistent tweet write with HA, followers list, timeline, and consistent tweet ID support. Follow up: support 5MB video with tweet. Topics: NoSql vs SQL, Fast write DB (LSM tree vs BTree, cassandra internal), Consistent Hashing (tweet id generation), read-after-write consistency, geo load balancer, Sharding (Partition) vs Replication, Skewed partition issue (celebrity issue).
  • Round 3: DSA: a) https://leetcode.com/problems/find-median-from-data-stream/description/ b) https://leetcode.com/problems/first-missing-positive/description/ I was able to solve (a) with most optimal approach and (b) with TC: O(n) and SC: O(n). Space complexiy expected was O(1).
  • Round 4: LLD: "Design an event forwarding framework where event generated from a system(s) is required to be consumed by another system(s)." So, question was like event producer and consumer, with batch processing and some event processing can take lot of time, events can fail and shouldn't block other events.

After 2 week got rejection email.

Thanks and hope this post helps!

Interview Questions (5)

Q1
LLD for DNS Resolver with Health Check
System Design

Design a Low-Level Design (LLD) for a DNS resolver that incorporates a health check mechanism. Follow-up questions explored supporting Time-To-Live (TTL) and ensuring fast read operations.

Q2
System Design for Twitter
System DesignHard

Design a system for Twitter, focusing on achieving consistent tweet writes with High Availability (HA), managing followers lists, generating user timelines, and ensuring consistent tweet ID support. A follow-up asked about supporting 5MB video uploads with tweets. Key discussion points included NoSQL vs. SQL databases, fast write databases (LSM tree vs. B-Tree, Cassandra internals), Consistent Hashing for tweet ID generation, read-after-write consistency, geo load balancing, Sharding (Partition) vs. Replication, and handling skewed partition issues (e.g., celebrity problems).

Q3
Find Median from Data Stream
Data Structures & AlgorithmsHard

Design a data structure that supports the following two operations:

  • addNum(int num): Add an integer number from the data stream to the data structure.
  • findMedian(): Return the median of all elements so far.

For example:

addNum(1) addNum(2) findMedian() -> 1.5 addNum(3) findMedian() -> 2

Q4
First Missing Positive
Data Structures & AlgorithmsHard

Given an unsorted integer array nums, find the smallest missing positive integer.

You must implement an algorithm that runs in O(n) time and uses constant extra space.

Example:

Input: nums = [1,2,0] Output: 3

Input: nums = [3,4,-1,1] Output: 2

Q5
LLD for Event Forwarding Framework
System Design

Design an event forwarding framework where events generated from one or more source systems are required to be consumed by one or more destination systems. The design should address aspects such as event producers and consumers, batch processing, handling scenarios where some event processing can take a long time, ensuring events can fail without blocking other events, and overall system reliability.

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!