How To Actually Prepare For A Technical Interview

Blog / How To Actually Prepare For A Technical Interview
blog image

You get out what you put in.

Remember that for later.

TL;DR Summary

This is a short guide on how to make sure you’re not wasting your time when preparing for technical interviews.

This guide is broken into two parts so skip to whichever section is most relevant to you:

  • How to actually learn

  • How to properly prepare for a technical interview

How do we actually learn?

This was a question I didn’t ask myself for a long time.

And I WISH I had asked it earlier.

Firstly, it's important to note that obviously everyone has a different learning style but…

There are foundational studies [1] [2] that show there are systematic ways to study that can help everyone, regardless of your preferred style of learning.

The main two methods I will discuss here are:

  • Spaced repetition 

  • Active recall

Spaced Repetition

Spaced repetition is kind of what it sounds like.

You should repeat your learning at set intervals.

What you want to do is expose yourself to questions you find challenging more frequently than questions you understand. This will help exploit the physiological spacing effect, the effects of which has been proven to show that more information is encoded into long-term memory when compared with other cramming approaches.

For example, rather than studying a set of questions for 5 hours on Monday.

Study for an hour each day for a week and each day focus on the questions that you didn’t get right the previous day. At the end of the week you will be far more likely to have learnt the set of questions when compared with the original approach.

This is one of the reasons why we added the ability to flag questions in TechPrep. Flagging questions you’re struggling with makes it easy to know which questions you need to focus more on the next time you study.

This is especially important for certain DSA questions. There's been so many times when I didn't get a question correct on first try, so I'd study it and then proceeded to recall it correctly within a few minutes.

But then when I tried to answer the same question the next day I'd completely forgotten it...

Sound familiar?

That's why the approach I always take is when I first attempt a question I flag it regardless if I got it correct or not. And then the next time I study it, if I get it correct I remove the flag and mark it as complete, otherwise I leave it flagged so that I know I have to continue to study it.

Active recall

This was a game changer for me.

Before I learned this I used to read a question and then begin to write out the answer over and over again until it stuck…

Looking back that was the biggest waste of time… like the biggest.

Active recall is all about trying to retrieve information from your brain. Instead of reading a question and then reading or writing the answer.

What you want to do is read the question and then actively try to recall the answer.

Studies have shown that people who use active recall significantly outperform students that use passive study techniques such as rereading and rewriting notes.

This method also mimics exactly what will happen in an interview when you’re asked a question you are essentially also doing active recall.

This method requires more mental energy than simply reading the question, but as I said as I said in the very first line of this guide, you get out what you put in.

If you want to read more about these methods, this is a great course that you can do in a few hours which will teach you everything you need to know.

So now that we have that out of the way, it’s now time to dive into part two:

How to properly prepare for a technical interview

If you’re a seasoned interview veteran you may want to skip this part, but for anyone who is struggling to nail all their technical interviews, keep reading.

Once you’ve applied for a company and passed the CV screen (or before, your choice).

The first thing you want to do is read the job spec and the company engineering blog (if they have one) to get a good idea of what technologies the company uses.

Then what you want to do is visit GlassDoor and check out the interview section and go through the role you’ve applied for to see what types of questions the company likes to ask.

Also do a Reddit and/or Google search as there can be nuggets of gold out there as well.

Once you’ve done this, you should have at least a reasonable idea of what topics you should be studying.

Don’t worry, even if you don’t have an idea at this stage the following steps will still be useful.

To start I always recommend Data Structures & Algorithms (DSA).

It’s rare to find a bootcamp or Computer Science degree that covers DSA the way they are asked in technical interviews and that’s why finding a resource where you have clear explanations is key. 

Luckily we’ve got you covered there.

Going through the Blind 75 questions is the best place to start. Spend your time here and make sure to understand each of them.

Each solution also has a link to a code solution visualizer which allows you to step through the algorithm step by step.

Almost everyone finds this SUPER USEFUL as it really helps get a visual understanding of what the algorithm is actually doing.

Here’s an example for the classic Two Sum problem.

So which language should you use?

I would also recommend going with what you are most familiar with, but…

If you do have spare time and some experience with Python I highly recommend it.

Its syntax makes it super easy and fast to be able to type out algorithms which can buy you more time to actually come up with the answer.

Alongside this, here’s what I would also study in order of importance (in case time is a constraint and you can’t get to all of them):

  • Technology specific questions

  • Design Patterns

  • Design Principles

1. Technology specific questions

Either from Glassdoor, the job description, or the company’s engineering blog you should have a good idea of the tech stack being used by the company you're applying to.

No company will expect you to know all the tech that they use.

But…

If there are some pieces of tech that you have used in the past it is definitely worth brushing up on them.

Especially if you have used that tech in side projects, as studying it will allow you to show off the depth of your knowledge, which will help you stand out amongst the other candidates.

For example if you are a recent Bootcamp grad it’s likely that you have been exposed to some frontend framework like React as well as some simple APIs like REST. Going to those topics and studying them would be a no brainer.

2. Design Patterns

Design patterns are a fundamental Computer Science concept and many interviewers like to throw in a question or two in order to test a candidate's knowledge of the fundamentals.

I would study the Junior and a few Mid level questions as you won’t be expected to know much more than that for entry and mid level positions.

3. Design Principles

Design Principles are essentially a set of heuristics that you can use to improve the quality of the code you write and the systems you design.

Not only is it super useful to know these heuristics, it is also a massive benefit to be able to weave them into your interview answers as it shows a level of foundational knowledge which heavily implies to your interviewer that you know what you’re talking about.

1 Month Sample Study Guide:

If you were to study for 2 hours a day on average you should get at least two DSA questions and at least 4 theory questions done.

This means that after just one month you would be able to study the bulk of the Blind 75 list and around 4 theory topics of your choice.

Now that would be a really solid foundation which would help in all of your interviews and it would also allow you to know which areas you need to go deeper on.

Don’t forget.

Every interview you do, you want to try to remember the types of questions they asked that you struggled with and then make sure to study that topic.

Luckily for you TechPrep was designed so that you don’t have to waste hours researching what questions are asked and you can spend all your time just studying.

And trust me after a few interviews you will feel the difference in your ability to perform well and actually start getting offers.

However, having said all this let me refer back to the first line of the guide - “You get out what you put in”. Ultimately, the more you put into your interview preparation the higher the probability that you’ll get out what you want.a

For example in the sample study guide I provided above, if you changed two hours to three you would be able to cover 50% more questions, which could make all the difference in your next interview.

So when you get rejected three times in a week and you want to give up, just know that with each hour you put in you will be one step closer to landing that dream job.

This guide doesn’t cover all aspects of the interview process, but it’s a good starting point and will definitely help you be as effective as possible when studying for technical interviews.

If you feel like this guide hasn’t covered your specific situation drop me an email at techprepbusiness@gmail.com and we will come up with a custom roadmap for you to ensure you nail your next interview.