Amazon SDE-2 Interview Experience
Summary
I went through four rounds of Amazon SDE-2 interviews, solving DSA problems, a system design, and a low‑level design. I received an offer.
Full Experience
Hi folks, i recently went through the full amazon interview experience
Round 1 - DSA
was asked two questions
https://leetcode.com/problems/longest-consecutive-sequence/description/
https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/description/
managed to solve both
two LP questions: Customer Obsession and Deliver Results
Round 2 - HLD
Design chatgpt - no explicit requirements
Did requirement gathering and was able to explain the tradeoffs i will make, interviewer kept interrupting and that made keeping the mental flow difficult
so if you are practicing make sure you do mock interviews
LP - Disagree and commit
Round 3 - LLD
Design Logging Framework - no explicit requirements
Did requirement gathering and explained the class structure
Self verdict: should have done a lot better in this round
Round 4 - Bar raiser
Some grilling on LP and then a standard question: https://leetcode.com/problems/insert-delete-getrandom-o1/description/
my compensation details:
https://leetcode.com/discuss/post/8521277/amazon-sde-2-offer-details-should-i-swit-ek65/
Interview Questions (3)
Longest Consecutive Sequence
Given an unsorted integer array nums, find the length of the longest consecutive elements sequence.
Your algorithm should run in O(n) time.
Remove Duplicates from Sorted Array II
Given a sorted array nums, remove the duplicates in-place such that each element appears at most twice and return the new length.
Do not allocate extra space for another array; you must do this by modifying the input array in O(1) extra memory.
Insert Delete GetRandom O(1) - Duplicates allowed
Design a data structure that supports inserting a value, removing a value, and getting a random element in average O(1) time. Duplicates are allowed.
insert(val): Inserts an itemvalto the collection. Returns true if the item was not already present.remove(val): Removes an itemvalfrom the collection if present. Returns true if the item existed.getRandom(): Returns a random element from the current collection of elements. Each element must have the same probability of being returned.