Hello Leetcode community, I had my final virtual on-site interview recently and I'd like to share my interview experience without getting into detail as I signed an NDA.
Status: Software Engineer with almost 2 YOE at a Tech company, BS degree in Computer Science
Position applied for SDE1 at Amazon
Location: Seattle, WA
Interviewed on: Last week of April
Online Assessment - First week of April
AMCAT Platform
- Backtracking problem (Leetcode Medium) - Was able to pass all test cases.
- Tree-traversal problem (Leetcode Medium) - Was able to pass all-but-one test cases. Ran out of time before I was able to cover the last test case.
I thought that this would mean that I won't proceed to the next round. I got an email later that day from my initial recruiter that I'll be proceeding to the next round. I purposely scheduled it weeks ahead so that I can prepare well enough for it.
Virtual On-Site
-
Round (SDE2 with shadow) - Design:
- LP Questions: Ownership, Earn Trust, Insist on Highest Standards
- Technical Question: OOD question to design multiple classes that would work well together with lots of follow-ups.
- Takeaway: I was given a very vague input and so I did ask a LOT of clarifying questions before I started designing. Even after 10 minutes of questions, I felt like I still couldn't get what he's asking me to do. I eventually understood the problem and was able to answer the initial question. There were tons of follow-up questions.
-
Round (Sr. SDE) - Bar Raiser:
- LP Questions: Customer Obsession, Ownership, Bias for Action
- Technical Question: Given a Linux-like file system, create required classes that would output the list of files that meets the search criteria.
- Takeaway: The interviewer immediately went straight into asking questions but was very professional throughout. I thought I did my worse here cause knowing that he was the bar raiser got into my nerves early. I was able to provide an approach but was not able to finish it because we're running out of time. In the end, he said he was satisfied with my approach.
-
Round (Lunch break):
- I think it's important for you to be able to reset yourself if you think you've done badly in the previous rounds. What's done is done and you can only focus on what's ahead of you.
-
Round (Hiring Manager):
- LP Questions: Learn and Be Curious, Customer Obsession, Dive Deep
- Technical Question: Recursion-problem (Leetcode Hard)
- Takeaway: Had a mental block in the middle of it so I decided to write on my whiteboard and see if I can figure out how to solve the problem. After about 5 minutes of babbling, the interviewer asked me Why don't you just start writing code? I think you'll recall it better. I did just that and sure enough, I was able to think of a solution. He then proceeded to ask me how would I optimize it. I knew that I could integrate DP into the problem but had some errors in my code that he had to point out to me. In the end, he said that my solution was good and asked me when can I start (foreshadowing (?) 😂 who knows).
-
Round (SDEI with shadow):
- LP Questions: Customer Obsession, Ownership, Are Right A Lot
- Technical Question: Array-problem (Leetcode Medium)
- Takeaway: I'd like to think that I aced this round. The interviewer was satisfied with my LP answers as well as my coding answers. We had extra time in the end so I was able to ask extra questions about the team and what they do.
Overall thoughts
-
Preparation:
- I did buy Leetcode Premium and while the questions that I had were not in the top questions for Amazon, I found the explore section for Amazon to be really helpful.
- I did not do tons of Leetcode problems, instead I tried to focus on looking at problems and figuring out what data-structure/algorithm I could use in each question.
- Like the hiring manager and my recruiter said, If you ever feel like you need some more time to prepare, please reach out to us ASAP and we will try to accommodate for you until you're ready. I was quite unsure about this but still asked if I could have my final interview 3+ weeks after I passed my OA as I knew I was not ready for it at the time.
-
Interview:
- I think that Amazon has one of the smoothest interview processes that I've had. I've gotten to multiple final interviews in the past and sometimes even major companies tend to screw something up during the interview process (mostly communication from the recruiters and the interviewers).
- All my interviewers were very nice. While they're from different teams under one org, they seem to all be passionate about what they do and that really resounded to me as this could be my potential team in the future.
- I thought virtual interviews would be weird, but it turned out fine for me. Just make sure you set your mic gain / audio output volume to a level where you can comfortably hear your interviewer and they hear you, too.
- As of right now, my recruiter pretty much just told me that they will be making me an offer. I have a 30-minute meeting with my manager next week to give me what I could expect if I were to join the team. We have not discussed TC yet, but I will update this post next week once I get it.
- I asked my friends who interviewed with the company as well and they said their interviewers didn't have shadows. For me, that extra person in the call added some tension to me.
Lastly, I'd like to thank the Leetcode community for all your tips and experiences shared! Cheers!