Understand the Format

You need to understand the format of the interview:

  • How many rounds of interview
  • How long each round takes
  • Is it onsite, over the phone and video
  • What kind of questions asked in each round

Knowing the format is key as it’ll decide your preparation strategy. For example, if you know your first around only test coding ability and you need to pass it to have another followings arounds, then you know you have to nail the coding tests first rather than also prepare system design. It’s especially true if you’re on tight schedule.

Likewise, if you know they’ll ask system design questions then you need warm yourself up by practicing drawing architecture diagrams using some whiteboarding software.

Practicing with the Questions

Generally the questions can be categorized into 3 buckets:

  • Coding questions
  • System design questions
  • Behavioral questions

Coding Question

For coding questions, the best way to prepare so far is to go to leetcode.com and practicing there. Note that it’s unlikely you get asked the same questions that you’ve practiced - if you want that to happen you need to practice on leetcode consistently for months if not years. But this is the best strategy under limited time as it’ll warm you up. What I will do is

Search the questions tagged with the company (need premium subscription) and asked within a year

Sort them by frequency with the most frequent on top

Do them one by one. Time box each question. Check solutions if you can’t finish them within the time frame

  • easy: 5min
  • medium: 10min
  • hard: 15min

Make sure the questions you practice have the right mixture of difficulties. It also depends on the company. Some companies like asking really hard questions.

Make sure you practice the same questions more than once. I think this point is often missed when preparing for coding interview. Repeating same questions not only will boost your confidence. It also help strengthen your understanding and build the muscle memory.

System Design

It’s probably too late to start reading system design books when you receive the interview invitation. Unlike coding, which can be prepared by just doing coding exercises, system design needs real life experience. Simply reading books or articles are not going to cut it as often you need put the knowledge into practice to internalize them. Experienced interviewer can tell whether a person is reciting books or telling from their own experience. But that’s not to say it you can’t prepare for it. In fact there’re some good resources that cover common system design questions and familiarize yourself with them definitely helps. But don’t expect to nail a higher level role just by studying those resources. You need real hands-on experience for that.

Behavioral Question

Behavioral questions are like “Tell me about a time you miss a deadline”. Or “Tell me about a time you receive a negative feedback”. To prepare for this kind of questions you need to be familiar with the STAR method

  • Situation: What was the context
  • Task: What was the ask
  • Action: What did you do
  • Result: What was the result

I highly recommend using Amazon Leadership Principle as the guide to calibrate your answers as these principals are generally regarded as good traits of any candidate. As for sample questions, again you can search “Amazon behavior questions” and you will get a ton. Once you found those questions, try to come up with stories based on your own experience and see how those fit into them. You don’t need a story for every question as most often one story could hit many principles. And then practice those stories yourself or with your friends well.

Conclusion

Even though you do all above well you might still fail the interview. And that’s normal. Don’t let the failure of one instance to discount the value of the method. It take one interviewer who doesn’t like one or two things you said to decline you

And remember the preparation is only the packaging part. You yourself is the product. Packaging definitely increases the chance of sale but the product itself is still the main factor. You need to work hard every day, improve your problem solving and communication skills. That builds you the foundation you need to level up your career.