A vertical abstract formationAn abstract formation

How to Pass a Technical Interview (2021)

We have done hundreds of technical interviews this past year at Remotesome. Doing so, we spotted a few patterns where many talented engineers fall short to pass a technical interview. Surprisingly, many developers easily pass their interview in their second attempt.

Reason: they know what to expect on the interview.

This is why preparation for technical interviews is key.

Before we start, I would like to emphasize one thing: being a good developer is not correlated to performing well in a technical interview.

‍Working on difficult problems or working on architecture and app scalability for thousands of users takes weeks of time.

However, during the interview, you usually have about an hour to show-off your knowledge and skill. And this is why at technical interviews, two things are paramount:

  • That you can solve problems
  • And that you solve them fast

In some ways, this is very different from most of the work you are tackling every day.

Mastering an interview takes practice and it is a skill on its own. Like coding (or anything else really), working on a similar problem for the second or third time will result in you performing better and faster than the first time. There’s a pattern, but sometimes you need to learn to recognize it. And then it unfolds perfectly.

Mastering an interview takes practice and it is a skill on its own.

That’s why we prepared this guide - to help you prepare for the technical interview. Or any other interview you might have in the future. We believe that with some preparation every talented engineer can easily pass the technical interview. As with everything, it takes practice to make perfect, but good is usually enough. Just put in work to practice presenting yourself properly.

Code on laptop screen
Prepare your coding environment

We have split the guide into two categories: hard skills and soft skills.

Hard skills are basically everything related to what you are intellectually or physically able to do - code, calculate, analyze … in other words, hard skills are quite internalized, they pertain to you and you alone. You make an input, out comes the output. End.

Soft skills are in reality hard to explain but pertain to everything else on the spectrum of your interaction with the world. How well do you communicate? Do you tend to be short on explanations or water down every argument with unnecessary talking? Do you know how to read what your interviewer wants from you, face mimics? These skills are undervalued because they tend to sound a bit esoteric. But they are essential as they reflect your interactions with other people.

In other words - that’s how you show you are a good fit for the company.

We included both segments, but both in relation to real-life coding interviews, so you can prepare for your technical interview accordingly.

P.S.: None of the links in the article are affiliate and we do not get any proceedings from your potential purchase or usage. It's there solely to save you a click.

Hard Skills

Get your Gear Ready

Nearly 100% of software engineers are running remote nowadays. Due to the nature of running remote interviews, you must make sure there are no connection issues and that your computer is ready for the interview.‍‍

‍Test your connection‍

Surprisingly, one of the most common issues is related to your internet connection. Test your connection and check whether your internet is stable. No amount of excellence and talent will help you if your screen lags and connection drops every fifth second. Test your connection and an app where your technical interview will be held.

Just in case you need it, here are some top places to check your connection:

Get your coding environment ready‍

There are roughly two ways on how companies prefer to handle technical interviews. Some want to see you coding on apps such as HackerRank and some want to see how you code in your own environment.

If the latter is the case, get your coding environment and IDE ready so you don't lose precious time during the interview.‍ Better have everything in place so you don’t lose precious time.

Get your microphone and camera ready

‍Since interviews are running 100% remotely nowadays, get your microphone and camera ready. A laptop or basic camera will be just fine for a start. If you are looking to upgrade your setup, you can buy a separate microphone and camera. For everyone who is thinking about working remote long term, we suggest investing in a good microphone and camera.

Man performing a remote technical interview on a laptop
A separate microphone might be a good idea

Prepare for your technical interview by practicing questions

At Remotesome we tend to avoid typical questions in the technical interview. On the other hand, the majority of companies still use algorithms and data structures as the main source of questions for the interview.

There are few resources on which you can go through to prepare for the interview. These resources will help you prepare yourself for the technical interview and work on the issues you might have.

Common technical interview questions and tasks to prepare for include:

Where to practice code:

There’s a number of platforms for you to practice code. We would recommend these four:

HackerRank

Pros:

  • Lots. We mean lots of questions.
  • Questions are organized into tracks, so you can practice very specific subtopics
  • A lot of companies use their questions for vetting, so it’s good to get familiar with it
  • Almost all functionality for free

Cons:

  • Better to have a 1:1 coding interview at a certain point of the recruiting process, as you usually get real-life problems to solve, needed by a specific company. That can increase your chances of employment.
Leetcode

‍Pros:

  • Problems are described straight and to the point
  • Superior testing environment
  • With a subscription you can see which question was asked by a company, and how often.

Cons:

  • Same apply as before. Both are good practice tools, but nothing beats a 1:1 interview.
TopCoder

Pros:

  • One of the original competitive coding platforms
  • It focuses on a lot of algorithmic challenges

Cons:

  • Coders tend to complain about the cluttered UI
Coderbyte

Pros:

  • It offers more than 200 coding challenges.
  • Algorithm tutorials
  • Courses to prepare for the technical interview

Cons:

  • Not sure how often are answers updated. Some users report finding them on Google
  • UI is not the most intuitive

Books, books, books ...

Though the society is increasingly screen-centric, there's still enough space for the good old paper book. Here's a couple of books where you can find a lot of common technical interview questions, tips and tricks:

Cracking the coding interview by Gayle Laakmann McDowell

One book on coding interviews to rule them all. In it you will find questions and answers used by Google, Apple, Microsoft and other tech giants. You can get it on Amazon, Barnes & Noble, Book Depository results and a Goodreads review of the book.

Elements of programming interviews by Adnan Aziz, Tsung-Hsien Lee and Amit Prakash

It comes in C++ and Java versions. Usually cited alongside Cracking the coding interview. Here's the Amazon listing, Barnes & Noble, Book Depository and a list of Goodreads reviews for different issues of the book.

Programming Interviews Exposed by John Mongan, Noah Kindler and Eric Giguere

Amazon listing, Barnes & Noble listing, Book Depository and a Goodreads review.

Soft skills

Here’s the part that pertains more to your communication skills than anything else. As stated numerous times - scout’s honor - it has been tried and tested and is a pain point in many interviews we’ve had over the last two years.

They can be challenging to develop, as it is difficult to pinpoint them sometimes, but it can be done and it’s a worthwhile effort.

Explain your thought process during the technical interview - critical thinking

This is something we continuously see many developers are struggling with. During the interview, there are 2 ways for you to display your knowledge. One way is to write code. Another is to explain your thoughts behind the decisions you made.

All interviewers will like this for a very simple reason. You are helping them understand the decisions you make and your thought process behind them. There are multiple ways to go about the problem, explaining why you took your route is highly appreciated. It also shows that you are more than capable of critical thinking, which is a must at any modern workplace.

Explaining when working on a problem will show your knowledge beyond showing a single solution. Talking and coding at the same time is hard. And nobody wants you to do that. You can take your time, explain why you are making each decision, and then write your solution down.

There are a couple of techniques you could use to answer spontaneous questions more effectively:

  • Mindfully and intentionally use a conversational voice. It will put you in a more comfortable position. (But keep it polite and professional, of course).
  • Imagine that your interviewer is a friend or someone you know.
  • You can ask questions. Use questions to start off a conversation and set a conversational mode. It's sort of setting a path to where you want to direct your conversation.
  • Don’t distance yourself physically from the screen. We do it instinctively, but it exaggerates our feeling of being intimidated instead of an equal participant in the conversation

These two videos may be of some help. One is Alan Alda presenting his three tips for clear communication (on a more humorous note).

The second one is Matt Abrahams, a Stanford lecturer of Strategic Communication.

Ask questions without hesitation - clear and concise communication

Communication and asking questions is an important part of work in every team. If you are wondering about something, you can always ask. More, it is preferred.

Never be afraid to ask. Interviewers will try to help you as much as possible. Sometimes, a small tip or additional explanation might help you a lot.

And there is another reason for asking questions. If you’re stuck, the connection you have with your interviewer breaks. You know the feeling when two people are stuck inside a crammed space together, and nobody wants to start talking about the weather? That.

Once you’re stuck, that problem is an elephant in the room. It is best you address it as fast as possible. That doesn’t only help you solve your problem, but also proves you can work in a team and seek to find the quickest solution to the problem. Everyone needs a nudge in the right direction here and there. It’s completely normal.

Ask questions and express your opinions. It is vital for the growth of both you and the company.

Discuss trade-offs in your process

Your technical interview will usually last an hour or two. Interviewers understand that sometimes you will need to take shortcuts to come up with a solution to the problem. Thing is, taking shortcuts is not a problem in itself. However, not explaining the reasoning behind taking a shortcut might raise some red flags with the interviewer.

This is why explaining tradeoffs and showing to an interviewer that you know that there are other (better) solutions will score you additional points.

Practice technical interviews

A lot of candidates are nervous during their technical interviews. We see that a lot. It makes sense. A technical interview is a high-pressure situation. If you are not used to working in high-pressure situations, it results in you being nervous and not being able to perform at your best.

Luckily this can be avoided. One way you can improve is by practicing technical interviews. Simply, include interview simulations in your preparation for a technical interview. Train it like any other skill. Practice makes perfect.

If you are not used to interviews, practicing for an interview will help you a lot. It will simulate an interview environment and you will understand how to code under the pressure of time restraints. There are many ways to go about it.

Man coding in the dark
Practice code and social engagement

You can practice interviews with your friend by giving them a set of questions or a problem to work on and restricted time.

You can ask your relatives to do a role-play in which they impersonate different interviewer personalities, so you know how to react to different types of people.

Just practicing a technical interview a couple of times increases your chances to pass a technical interview. It will also help you to present your best self.

If you feel nervous about going on a technical interview, this is one of the most efficient ways to reduce anxiety and stress levels.

Just knowing you prepared well for the technical interview will make you more confident and increase your chances of success.

Be engaged

This sounds bogus, but really, it’s not. Being excited and positive will influence your interviewer.

It doesn’t pertain to your coding skills in itself. Still, usually the candidates who show more excitement during the technical interview have a higher chance of passing. Positive energy is contagious.

This doesn't mean that you need to fake your smile and be too ecstatic. But, if you are coming to an interview, try to have a positive attitude and show why you decided to attend the technical interview in the first place.

We know that objectively speaking, this shouldn't matter. But interviewers, in general, are biased towards a positive attitude and enthusiasm which influences them in a positive way. It is a psychological fact that interviewer bias will affect the outcome of the technical interview.

Other Relaxation Techniques

There are also other tips you might want to consider, though we understand everybody has their own routine. It may be a little out of your comfort zone, but a bunch of people swear by them. It helps you relax before stressful situations and aid you in your success. We split these into a couple of quick fixes in case your interview is very near, and longer term techniques that can help your overall stress management (preparing for technical interviews included).

Quick fixes:

  • Deep breathing and other breathing techniques to relieve stress.
  • Music and art therapy - many of us listen to music while at work, but it is also a known fact that music can act as therapy. You can hype yourself up or take it down a notch to calm yourself.

Long-ish term help

  • Positive psychology - it’s an actual field in psychology that helps you cultivate your best self. One of the best-known resources in this field is Mihaly Csikszentmihalyi and his book titled Flow. It describes a psychological state you can simulate to get into a state of deep enjoyment and creativity.
  • Mindfulness - though not new, mindfulness has gained quite a bit of popularity in the past years. It’s a meditation technique where you try to become fully aware of the present moment. People in various industries were feeling more and more stressed and looking for a way to take control of their lives. It helps you ground yourself, relax, and teaches you to put stress into perspective.
woman meditating overlooking the grand canyon
Taking a couple of minutes to unwind can be a potent weapon

‍Interviewing is a skill

As you can see, being good at interviews takes practice and skill. It takes some new concepts to learn and practice to master crushing interviews.

Your best play is to adapt to the rules of the game.

Most people (like me) are nervous before interviews, talks, or presentations. That's perfectly natural. You are not alone. The good part about this is that with some practice and experience you will be able to perform great on interviews.

You surely must be asking yourself: Why do I need to go through all this? I just want to code and work.

Reality is that this is the current state on how the majority of companies are approaching interviews and hiring.

Your best play here (as in general in life) is to adapt to the rules of the game and show your worth.

We understand that learning how to interview sounds like you are wasting time. But, looking from another perspective, interviews are the best moment for you to leave a great impression. That, in turn, will get you a great job. And a better salary.

There are a couple of platforms that aim to make this process as painless and as short as possible.

We know how to help you shine and show your true skill. And that’s what matters in the end. Through Remotesome, fancy resumes are out of the picture. Skill isn’t.

Otherwise, learn the rules of the game. It will make passing technical interviews much easier for you.

See Remotesome's Pool of Talent!

Get Remote Job Offers with Remotesome

A blue plant turning leftBlue plant turning right
Find a job
A vertical abstract formationAn abstract formation