Amazon (AWS) | SDE2 (L5) | Herndon VA | July 2024 [Offer]

amazon logo
amazon
SDE2 (L5)Herndon VA3 yearsOffer
July 20, 202413 reads

Summary

I successfully interviewed for an SDE2 position at Amazon AWS, navigating through a comprehensive interview loop that included system design, coding, and behavioral rounds, ultimately resulting in an offer.

Full Experience

I have 3 years of experience, with 1 year in the US. My journey to Amazon AWS started on June 13th when I randomly applied for an SDE2 role. The very next day, I received an email to complete an assessment, which I took on June 16th. A day later, recruiters reached out with interview preparation material and asked for my availability for an interview loop.

My interview loop was scheduled across two days. On July 1st, I had two rounds. The first round, with a Hiring Manager, included 30 minutes dedicated to basic Leadership Principles (LP) questions, followed by a High-Level Design (HLD) problem where I had to design Kindle, focusing on syncing page offsets across multiple devices. The second round, lasting 25 minutes, also started with two standard LP questions. For the technical part, I was asked to implement a String formatter, similar to the Java java.util.Formatter, where I had to replace indexed placeholders with given strings and handle exceptions for invalid inputs.

On July 2nd, I completed the remaining two rounds. Round 3, with a Bar Raiser, began with 25 minutes of LP questions. The technical problem was initially ambiguous but ultimately simplified to a variation of the Number of Islands problem, first asking for the count of clusters and then for a list of each cluster's size. Finally, Round 4, a 20-minute session, also started with LP questions. The technical problem involved finding the longest sequence of page visits that appears at least twice, similar to a 'Longest Duplicate Substring' for sequences. The interviewer expected an O(N) approach, and I proposed a solution using Polynomial Rolling hash to store page sequences and reduce complexity, suggesting multiple hash combinations to minimize collisions. The interviewer seemed quite impressed with my approach.

On July 9th, I received the verdict: an offer! Reflecting on the interviews, I felt confident about most rounds, but I was initially concerned about my performance in the HLD round. However, the recruiter later informed me that the hiring manager was very impressed with my showing in that round. She also highlighted that my responses to the LP questions were exceptionally strong, which led the interview panel to extend an offer without any hesitation.

Interview Questions (4)

Q1
Design Kindle Page Sync
System Design

Design a system like Kindle. The main focus is on how to sync page offsets among multiple Kindle devices, ensuring a user starts reading from page 100 of a book on one device if they were on page 100 of the same book on another device.

Q2
Implement String Formatter
Data Structures & Algorithms

Implement a string formatter. Given a string and a list of replacements as input, return the formatted string by replacing valid indices with the appropriate replacement string from the given list. For example, if input is "Sample{{ {1}, {0}{1}" and replacements = ["alice", "Bob"], the output should be "Sample{{ Bob, aliceBob". If the input is "Sample {1}" and replacements = ["alice"], it should throw an exception. Throw an exception for any invalid case.

Q3
Number of Islands and Cluster Sizes
Data Structures & AlgorithmsMedium

An ambiguous problem that ultimately simplified to the Number of Islands (0-1 matrix) problem. The original problem asked to return the number of clusters (components). A follow-up problem asked to return a list of the size of each cluster.

Q4
Longest Duplicate Page Sequence
Data Structures & AlgorithmsHard

Given a sequence of page visits, return the longest sequence of pages that appears at least twice in the overall sequence. For example, if the sequence is A, B, C, D, A, B, C, E, A, B, C, F, then A, B, C appears 3 times. If the sequence is A, B, C, A, B, C, then A, B, C appears twice. This problem is similar to 'Longest Duplicate Substring' but applied to sequences of page visits.

Preparation Tips

During my preparation, I focused on several key aspects. For Leadership Principles (LP) questions, I prepared 12-15 strong stories, which proved sufficient for the eight questions I encountered. I kept a small note with story titles open during the interview to help me select the most suitable one. While I followed the STAR approach, I emphasized storytelling and engaging conversation rather than rigid adherence. Crucially, I learned to always quantify results with metrics, a valuable tip I received during a mock LP interview.

For the technical rounds and general interview demeanor, I adopted the mindset of conversing with a colleague to reduce nervousness, practicing this through mock interviews. I aimed to act as a software engineer, not just a programmer, by clarifying requirements, proposing multiple approaches, discussing tradeoffs, and gaining confirmation before coding. My recruiter had warned that premature coding, even with a correct solution, could lead to rejection. I made sure to communicate every thought, keeping the discussion engaging. I also ensured I had a decent typing speed and familiarity with the design tools, allowing me spare time for discussions about team culture and the AWS environment. Finally, I found that maintaining my regular routine, like morning runs, helped manage nervousness and keep me active. My ultimate advice is to just chill!

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!