Rem Kim

Rem Kim - 2021-08-01

Preparing for Coding Interview

Preparing for Coding Interview

Here are my tips on preparing for Coding Interview

In my previous blog I've described few tips of preparing for an interview and how interview process looks like. Tips on preparing for an interview Today I want to share some preparation material with you.

What is Technical Interview?

In order to prove that you qualify for a Software Engineering position that you are applying to, you need to pass all technical interviews. Usually it is a 3 separate interviews depending on company but not less than 2.

  • Initial filtering (Algorithm problem, Homework challenge)
  • Second round (Algorithm / System design problem)
  • Final Round (System design / Domain specific interview)

Algorithm problems

If you are not prepared and/or didn't brush up your knowledge about data structures you will fail.

How to prepare for it?

LeetCode is a good source of coding problems to solve. If you are serious about preparation and getting hired by FAANG companies I'd suggest purchasing a subscription that will unlock additional questions and faster compile time.

Grokking Algorithms if you are new to algorithms and want to read about it first, this book is a great starting point. Very descriptive illustrations will help you to visually understand how those algorithms work.

Practice a lot. You never know what problem you will get, so the more you practice the higher chance you will solve it.

LeetCode problems

I've found this list on Blind and so far this covered most of the problem topics.



Dynamic Programming



Linked List





System design

This interview type will test your knowledge of building complex applications. Scalability, resilience, caching strategy and much more is going to be part of this interview. You will need to explain your solution and also explain why you made certain decisions.

How to prepare for it?

Designing Data-Intensive Applications - this book has it all. Distributed systems, databases, how tos, whys, limitations and much more. It is a pretty big book, but I suggest you read it.

Build your own projects - try building you own side projects. Most of the AWS resources can be easily enabled as a free tier so you can have your own playground and build what ever you want.


Preparation is they key for success. Read books, work on real life projects and solve LeetCode problems to improve your programming, analytical and critical thinking. Good luck!


© Rem Kim - Powered by Next.js