Amazon | SDE 2 | Austin | April 2020 [Offer]
Anonymous User
973

Status: 3 YOE post-undergrad
Position: MLE @ anonymous local company
Location: Austin, TX
Date: April, 2020

Hey guys, here's some info to help everyone else out there with studying. I got a lot of help from here so I want to pay it forward.

There were 4 interviews over 5 hours.

Interview 1 (1 hour):

  • 30 mins LP
  • 30 mins algorithm
  • This one was not on Leetcode (as far as I know) but the interviewer was looking for knowledge of certain data structures, and their tradeoffs when a system/function is read/write heavy, and thinking about time complexity tradeoffs to serve those use cases
  • It's not enough to just know stacks and queues, you should know as many data structures as you possibly can. Think about more complex ones like (Linked Hash Maps, Default Dictionaries, AVL Trees, Red-Black Trees, etc...) and how they work internally, because you'll need to know why certain tradeoffs make sense to make

Interview 2 (1 hour):

  • 30 mins LP
  • 30 mins OOP
  • This one was also not on Leetcode. Think similar to "Design Tic Tac Toe". OOP questions can be coded in multiple ways and you can spend longer than necessary just brainstorming. I'd say commit to a solution relatively quickly because there will likely be follow ups and you can adjust your code as necessary. Know when something should just be done within a class versus when you need to define a new class. Definitely think extensibility, scale, complexities, etc... it's very important to be able to be flexible too because I had a lot of follow ups (scaling to multiple users, etc..)

Interview 3 (1 hour):

  • 30 mins LP
  • 30 mins algorithm question w/ follow up
  • I was asked a Leetcode Medium, and then when I got the solution, was asked some logical followups (conceptually, not required to code it) that matched a Leetcode Hard
  • This round was more or less pretty easy and I got the optimal solution quickly, study your mediums and understand solutions to the hards

Interview 4 (1 hour):

  • 30 mins LP
  • 30 min System Design
  • I was asked something that was not on *** or System Design Primer. It was a simple and fair question, and was really doable if you studied those two things front to back. I would recommend explaining your logic out loud, focusing on scalability, and diving deep only when necessary
  • Given Amazon's business model, it was to design a system that is frequently used throughout their platform. Think about what kinds of things that might be (Processing and storing logs, video streaming service, recommender system, Keep track of order history, etc...) and run through problems like that on your own

Tips:

  • Study questions under the Frequently Asked at Amazon that comes with Premium, it's worth the money and some of the questions could be found there
  • Be confident, System Design and OOP questions don't have one right answer, so you need to make decisions and weigh tradeoffs out loud, and form your argument rather than ask too many questions
  • Be flexible, there will be follow up questions to your initial solutions and you'll need to adjust your code or at least explain how you'd adapt it
  • Communicate, the worst thing you can do is sit in silence. Yes these interviews can be hard but communicating your thought process if key, and the interviewer will also work with you to get a solution. Listen to their feedback, adjust accordingly, and keep them informed

I didn't post the specifics because I don't think specifics are helpful. Practicing a handful of questions and hoping you get asked those is pretty much asking luck to decide your fate. Practice widely, use the ones under "Asked at Amazon" on LC Premium, practice getting the solution from scratch, and most of all understand the solutions thoroughly, because follow-ups will weed out memorized solutions.

Good luck :)

Comments (2)