Background:
5 years XP: startups and finance companies, currently unemployed due to pandemic
- Position: SDE II
- Location: California
- Onsite Interview Date: April 15ish
Recruiter Call #1:
- Background/Resume discussion
- Interview process overview
OA:
https://leetcode.com/problems/number-of-islands/ (problem was reworded to be about Amazon but solution was the same)
https://leetcode.com/problems/reorder-data-in-log-files/
Recruiter Call #2 (<24 hours after completing OA):
- What to prepare for/overview of onsite
- Links to various preparation websites and invite to preparation meeting on Tuesday's and Thursday's led by engineers
Virtual Onsite (No specific questions due to NDA):
Every interview was roughly the same format, LPs for 15-20 minutes (Tell me about a time when...), code problem for 25-30 minutes, rest of the time for questions/discussion. With the exception of the third interview that was all LP questions and discussion about the individual team.
- Engineer: LPs, System design (I believe this was the bar raiser, as the interviewer was from another team):
- The design interview was the one I was the most nervous about but they got it out of the way first thing in the morning and it went really well, interviewer was laid back and conversational, felt more like working together with a team member than being grilled. Discussion was higher level than I prepared for, no implementation code at all and didn't get too nitty gritty with the details. Interviewer said things like "don't worry too much about how the load balancer works as long as you know that it's there" or "great point, but let's assume that's handled by some external team"
- Engineer: LPs, OOP Class design
- Seems like this one was largely about how you organize your classes/methods/etc. but did have some elements of algos/DS as well.
- Hiring Manager: All LPs
- All discussion: LPs and overview of the team, what they were looking for, etc.
Lunch break
- Hiring Manager for 2nd team: LPs, Binary search problem
- First leetcode style question of the day, came up with a brute force solution and then optimized after follow-up questions
- Engineer: Substring problem
- Another leetcode style question, this was my worst interview of the day, came up with a very brute force solution O(n!) and struggled with follow up questions. Felt pretty strongly afterwards that this would prevent me from getting an offer.
Recuiter Call #3:
- 2 business days after onsite: follow up to let me know they were preparing an offer/discuss my other ongoing interviews and timelines, initial money discussion
Final Thoughts:
- The whole process from first recruiter contact to offer was about 1 month
- Overall everyone was very friendly and organized, they definitely made an effort to make things more comfortable and conversational compared to some of my other big company experiences
- I know every Amazon experience says this but put time into preparing for your LP questions as it makes up more than half of your interview time. For my preparation I went through each LP and wrote out 2 examples in STAR format. The questions are vague enough that you can't always guess which LP they're asking about but many examples can fit under more than one.
- There were some leetcode questions and follow ups, though there were less and they were generally easier than ones I experienced with other big tech companies (with the final interview being the exception). This was still certainly my weakest spot even though I did prepare a bit beforehand (LC Premium. ~110 solved, ~50 Easy, ~40 Medium, ~20 Hard), I assumed my responses to the last problem would prevent me from getting an offer so I was pleasantly surprised to recieve the call that they wanted to move forward