Amazon | SDE2 | North America | Reject

Background
Roughly 3 years of experience, degree in math and comp eng in Canada.

Process
I wasn't even looking for a new job but Amazon recruiters kept reaching out and I decided I might as well practice interviewing. I spoke with the recruiter and set up an OA date.

OA was relatively simple, I think it was "find duplicates in these logs" and "rotting oranges", didn't struggle with this at all.

2 days after I heard back from the recruiter about scheduling an onsite interview. Since I hadn't been studying/preparing at all, I tried to schedule the onsite as late as possible, I was able to schedule it 30 days later.

For roughly 3 weeks, I did around 60 leetcode questions and watched a lot of system design videos on Youtube.

Luckily, I have a few friends who work at Amazon and so I also did about 3 mock interviews. I was generally able to answer their questions.

Honestly, studying for the LPs was probably the hardest, I made sure to cover literally every behavioural question possible.

Onsite
Question 1: Design Amazon Locker System and implement two methods (getPackage and putPackage).

  • Pretty regular OOP question. Interviewer was guiding me in the right direction and I generally thought this round went pretty well. The interview ran late and I wasn't able to ask any questions. Asked 2 LPs.

Question 2: System Design - Design Recommendation Service for Amazon

  • Interviewer was very pleasant on this round and I was able to get a pretty solid, scalable system and then we spent the rest of the time making minor improvements. Asked around 2-3 LPs.

Question 3: Bar Raiser (I think)

  • After the lunch break, this was the bar raiser round. The guy came in with a broken mic and also broken English, I could BARELY understand him, awful experience. He asked me 3 LPs and for one of the LPs he dug REALLY deep to the point where his questions weren't actually making sense anymore. It's almost like he was just trying to find a reason to be cynical, honestly a pretty terrible interviewer. After the LPs, had around 25 minutes left and he asked https://leetcode.com/problems/longest-increasing-path-in-a-matrix/ except it was longest decreasing path and he wasted around 5 minutes telling a story about how the problem was happening on a ski hill.

I accidentally tried to do BFS for this because I'm stupid and then realized I should've done DFS and pivoted half way through, I was able to get the solution down but it was slightly buggy and wasn't greaet code. The interview ran overtime here as well.

Question 4
This interviewer was nice to talk to and asked me 3 LPs. However, my head physically started to hurt at this point since it had been 5 hours and the last interviewer really rattled me by being rude.

The question was this: https://alexgolec.dev/ratio-finder/ . It sounded deceivingly easy but for some reason I just couldn't produce any good code. In the last 3 mins, I wrote some pseudo code for a DFS approach but it was awful code. Then at the end, I think the interviewer felt bad for me and asked if I had any good projects that I can tell her about that I didn't mention to the other interviewers.

Results/Learnings
I got a rejection e-mail two weeks after because apparently the recruiter was OOO. I wasn't really upset since I didn't do much studying and I didn't deserve to pass but I was disappointed with the 3rd interviewer. Furthermore, I've seen much easier questions on some of the other experience posts here and so it's just luck of the draw I guess.

My biggest advice would be to not get rattled by rude/weird interviewers and just try to make the best of the situation. Tbh, I really don't think you need to do 200-300 questions like everyone says to do, you should get the basic gist in around 80-100 questions roughly but don't be an idiot like me and do 60 questions half-assedly.

Luckily, I lined up about 4 more interviews and will keep on practicing and will report back on the other results. Thanks to the community for making this platform and good luck!

Comments (4)