Prepare technical for coding Interview

How to Prepare for Technical Questions

You’ve purchased this book, so you’ve already gone a long way towards good preparation. Nice work!
  • That said, there are better and worse ways to prepare. Many candidates just read through problems and solutions. Don’t do that! Memorizing or trying to learn specific questions won’t help you! Rather, do this:
  • Try to solve the problem on your own. I mean, really try to solve it. Many questions are designed to be tough - that’s ok! When you’re solving a problem, make sure to think about the space and time efficiency. Ask yourself if you could improve the time efficiency by reducing the space efficiency, or vice versa.
  • Write the code for the algorithm on paper. You’ve been coding all your life on a computer, and you’ve gotten used to the many nice things about it. But, in your interview, you won’t have the luxury of syntax highlighting, code completion, or compiling. Mimic this situation by coding on paper.
  • Type your paper code as-is into a computer. You’ll probably have made a bunch of mistakes. Start a list of all the mistakes you made, so that you can keep these in mind in the real interview.
  • Do a mock interview. CareerCup offers a mock interview service, or you can grab a friend to ask you questions. Though your friend may not be an expert interviewer, he or she may still be able to walk you through a coding or algorithm question.

What You Need To Know

Most interviewers won’t ask about specific algorithms for binary tree balancing or other complex algorithms. Frankly, they probably don’t remember these algorithms either.

You’re usually only expected to know the basics. Here’s a list of the absolute must-have knowledge:


This is not, of course, an all-inclusive list. Questions may be asked on areas outside of these topics. This is merely a “must know” list.

For each of the topics, make sure you understand how to implement / use them, and (where applicable) the space and time complexity.

Practicing implementing the data structures and algorithms. You might be asked to implement them in your interview, or you might be asked to implement a modification of them. Either way, the more comfortable you are with implementations the better.

Do you need to know details of C++, Java, etc?

While I personally never liked asking these sorts of questions (e.g., “what is a vtable?”), many interviewers regretfully do ask them. For big companies like Microsoft, Google, Amazon, etc, I wouldn’t stress too much about these questions. Look up the most common questions and make sure you have answers to them, but I would focus on data structures and algorithms preparation.

At smaller companies, or non-software companies, these questions can be more important. Look up your company on CareerCup.com to decide for yourself. If your company isn’t listed, look up a similar company as a reference.

Check out how to handle these questions to get the job you want?