In the past year at Remotesome, we have done hundreds of technical interviews. After so many interviews we spotted few patterns on where many talented engineers fall short to pass a technical interview. Surprisingly, many of developers easily pass their interview in second try. 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 good on technical interview.
Working on difficult problems or working on architecture and app scalability for thousands of users takes weeks of time.
However, on the interview, you usually have an hour to show your knowledge and skill. And this is why at technical interviews you need to show you can solve problems fast. And in some ways this is very different than most of your work you are tackling every day.
Mastering interview takes practice as it is its own skill. Like coding (or anything else really), working on similar problem for the second or third time will result on you performing better and faster than the first time.
This is why we wrote this guide which helps you prepare for the interview. We believe that with some preparation every talented engineer can easily pass the technical interview. Just like work, when you sharpen your axe, chopping a tree is much easier.
Nearly 100% of technical are running remote nowadays. Due to the nature of running remote interviews, it is crucial that you make sure there are no connections issues and that your computer is ready for the interview.
Test your connection
This surprisingly happens a lot. 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 interview will be held.
Get your coding environment ready
There are different ways on how companies handle interviews. Some want to see you coding on apps such as HackerRank and some want to see you code in your own environment. If latter is the case, get your environment and project ready so you don't lose precious time during the interview.
Companies who have their interview pipeline ready, will definitely let you know more about it.
Get your mic and camera ready
Since interviews are running 100% remotely nowadays, get your microphone and camera ready. 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. This is a recommended option if you are willing to work remotely for long term.
This is something we continuously see many developers are having problems with. During the interview, there are 2 ways on how you can show your knowledge. One way is to write your code and another is to explain your thoughts behind decisions you make. All interviewers like this for the very simple reason. You are helping your them understand decisions you make and your thought process behind.
Explaining when working on a problem will show your knowledge beyond showing a single solution. Talking and coding is hard. And nobody want you to do that. You can take your time, explain why you are making each decision and then write your solution down.
Communication and asking questions is important part of work in every team. If you are wondering about something, you can always ask.
Interviewers will let you know whether they can answer your question or not. Sometime, a small tip or explanation might help you a lot.
And there is another reason behind this. Most of the interviewers get bored when seeing a candidate being stuck. This is why asking questions and expressing your opinion loudly helps a lot.
Your interview usually lasts for an hour or two. Interviewers understand that sometimes you will take shortcuts to show your solution. Taking shortcuts is not a problem per see. However, not explaining that you are taking a shortcut might give a false view to 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.
A lot of candidates are nervous on their technical interview. We see that a lot. It makes sense. Interview is a high pressure situation. If you are not used in working in high pressure situations this results in you being nervous and not showing your best.
Luckily this can be avoided. One way on how you can get better is by practicing interviews.
If you are not used to interviews, practicing an interview will help you a lot. This will simulate an interview environment and you will understand on how to code under pressure and time. You can practice interviews with your friend by giving them a set of questions or a problem to work on and restricted time.
Solely practicing an interview or two will increase your chances to pass an interview and show your best a lot.
If you feel nervous about going on a technical interview, this is one of the most efficient ways to reduce anxiety and stress level.
At Remotesome we tend to avoid typical questions for the technical interview. However, majority of companies still use algorithms and data structures as a main source of questions for the interview.
There are few resources on which you can go through to prepare for the interview. This resources will help you prepare yourself and work on the issues you might have.
Common interview questions and tasks:
- Hash tables
- Binary search tree
- Sorting and searching
- Linked List
- Dynamic programming
- Graph Search
You can practice algorithms on these pages:
Recommended book where you can find a lot of common questions:
This sounds bogus, but hear me out. Being positive and excited influences your interviewer.
We know that this is not a developer skill itself. However, it shows that candidates who show more excitement on the interview have a higher chance of passing the interview. Positive energy is contagious.
This doesn't mean that you need to fake your smile and be fake ecstatic. But, if you are coming to an interview, try to have a positive attitude and show why did you decide to attend an interview.
Objectively this shouldn't matter, but interviewers in general are biased towards positive attitude and enthusiasm which influences them in a positive way.
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.
Most people (like me) are nervous before interviews, talks, or presentations. That's perfectly natural and you are not the only one. The good part about this 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 majority of companies are approaching interviews and hiring.
Your best play here 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 time where you can leave a great impression and get yourself a great job and aim for better salary.
To avoid all of this you can always try with Remotesome. Companies trust us because through Remotesome they hire talented engineers and not the ones with fancy resumes.
Otherwise, learn the rules of the game. It helps a lot.