Amazon | SDE2 | Vancouver | Jul 2022 [Reject]
Summary
I interviewed for an SDE2 role at Amazon in Vancouver in July 2022 after being approached by a recruiter. Despite reaching the virtual onsite loop which included rounds on OOP/OOAD, System Design, and Algorithms, I ultimately received a rejection.
Full Experience
Personal Details
I have 4 years of experience in software engineering, specifically in e-commerce, and hold a degree in Informatics.
Job Details
I interviewed for an SDE2 position at Amazon in Vancouver, Canada, in July 2022.
How I Applied
A recruiter reached out to me on LinkedIn. After an initial call and some discussions, I decided to proceed with the interview process. The entire process, from the recruiter's first contact to the completion of the interview loop, took approximately 1.5 months.
Interview Rounds
Online Assessment
I requested two weeks for preparation before taking this assessment, which I could complete anytime within a 1-2 week window. This online round consisted of:
- Two coding questions (90 minutes) on Hackerrank, which were medium-level difficulty. I don't recall the specific questions.
- A work simulation, which was a simpler form of system design where I was presented with a case and multiple-choice questions.
- A work style survey, a simpler version of Leadership Principle (LP) questions.
I received the results after two working days and was selected for the final interview loop, even though I only passed approximately 60% of the test cases for the coding questions.
Onsite Loop (Virtual)
The virtual onsite loop was scheduled three weeks after the online assessment, as I informed the interviewer I needed more preparation time. Each round began with 2 Leadership Principle questions, some of which I'll mention later. I was also offered an informal 30-minute chat with a team member (who was not part of the interviewers and did not impact my result), which I found helpful for learning more about life at Amazon.
Round 1: OOP/OOAD
The interviewers were an SDE and a Senior SDE (shadowing). I was surprised to receive an OOAD question. I was a bit confused initially and needed to confirm the details with the interviewer. Since it was OOAD, it felt a bit unclear on what the 'solved' state truly was.
Round 2: System Design
This round was with an SDM (Software Development Manager). I had encountered a similar question before, but I felt nervous and went back and forth explaining my solution, feeling somewhat unconfident in this round.
Round 3: Algorithm
This round was with a Senior SDE. I would say this was the most stressful round, especially with the LP questions having so many detailed follow-ups. As it was an algorithm/coding round, the expectation was to solve as fast as possible. I needed some time to explain my rough ideas before jumping into coding. I wasn't able to finish the code, but I managed to convey my ideas, though they were not optimized.
Round 4: OOP/OOAD/Low-Level Design
This round was with an SDM and an SDE (shadowing). I would say this was the most enjoyable round; the interviewer was kind and humble, which helped me stay calm. Surprisingly, this round focused on low-level design and OOAD, specifically on how to design the classes, method signatures, and ensure maintainability. There were many follow-up questions, emphasizing the need for careful object design. I couldn't tell if I performed well or not, as there's no single 'right' or 'wrong' answer in such design discussions.
Leadership Principles Questions
As mentioned, every round started with 2 or more LP questions. Here are some that I recall:
- Describe a time when you contributed beyond your comfort zone (outside your responsibility).
- Tell me about a time when you received hard or challenging feedback from your manager.
- Describe a time when you had a different opinion with your manager, and how you tackled it.
- Share an instance when you didn’t meet a deadline, and what you did to still achieve the goal.
- Discuss a time when you did something great that exceeded customer expectations.
There were other LP questions, but I've forgotten them.
Verdict
I received the result after two working days when the recruiter called me. They informed me that I wouldn't be receiving an offer but could reapply next year.
Conclusion
Despite the outcome, it was quite an interesting experience interviewing with Amazon, especially as I hadn't expected to reach the final loop. I gained insights into their work and culture. Contrary to common belief, I didn't experience ghosting, though they were late in confirming my virtual onsite schedule, which created a moment of panic as I thought my application had been abandoned. In summary, I learned and brushed up on my skills during the process, and I hope to perform better in future interviews with any company. I hope this post helps others preparing for interviews at Amazon. Good luck to us all!
Interview Questions (9)
Design a model for simulating Amazon Lockers and Packages. The system should handle different types of lockers with varying sizes, determine the most efficient locker (smallest sufficient) for a package, and track package-to-locker assignments as well as empty/used locker status.
Design a social media platform that allows users to follow others, post messages, and view two types of timelines: a home timeline (similar to Facebook wall) and a user timeline (feeds showing posts from followed users). The design should account for users with millions of followers and focus on the flow of new posts and how they appear on followers' timelines.
Given two strings, beginWord (e.g., 'hit') and endWord (e.g., 'cog'), and a wordList (e.g., ['hot', 'dog', 'cog', 'dot', 'abc']), find the shortest transformation path from beginWord to endWord. In each transformation step, only one letter can be changed. Example: 'hit' -> 'hot' -> 'dot' -> 'dog' -> 'cog'.
Implement a library similar to the Unix find command to search files within directories. The library must support criteria such as 'files with size greater than 5 MB' and 'files with extension XML'. A follow-up requires the library to support logical operators on these criteria, for example: (size > 5MB AND XML) OR (JSON) or (size < 5MB AND (NOT)XML) OR (JSON). The focus is on designing the object and interface, not the search algorithm itself. Further, discuss handling service changes (communication, re-testing) and testing strategies if this library were exposed as a service (e.g., REST API).
Describe a time when you contributed beyond your comfort zone (outside your responsibility).
Tell me about a time when you received hard or challenging feedback from your manager.
Describe a time when you had a different opinion with your manager, and how you tackled it.
Share an instance when you didn’t meet a deadline, and what you did to still achieve the goal.
Discuss a time when you did something great that exceeded customer expectations.
Preparation Tips
Prior to the online assessment, I requested two weeks for preparation. I also asked for additional preparation time before the virtual onsite loop. Throughout the interview process, I focused on learning and brushing up on my skills, which I found beneficial for my overall development.