In order to become an expert on something, mere talent or aptitude is not enough. According to decades-long research by experts from Cambridge, deliberate practice is the only thing shown consistently and overwhelmingly to correlate to high aptitude in an area, even computer science. Technical interviews are similar to athletic performance; the only way to consistently improve is to take an organized approach to practice: identify strengths and areas of weakness and systematically improve in those key areas. Below, find some ways to help yourself deliberately practice for that technical interview in order to get the job you want.
Anticipate what you’ll need to know.Then, find practice problems to test those areas. Fully understand the role that you’re applying for by revisiting the job description and identifying what skills and experiences the employer is looking for. Research the company’s tech stack so you know what language you’ll be using (Stackshare is a good resource for this). Find some of their developers on LinkedIn and see if their job descriptions can give you clues about what tools & specific frameworks they’re using. Read their engineering blog if they have one, or read their engineers’ personal blogs. Using all of this information, identify questions you think they might ask, and practice those.
Here are some great resources for practice technical interview problems:
You’d be surprised how many companies’ coding challenge questions have made their way to the internet. Search for the company you are interviewing with and “code questions” + “interview” to see if you can find any examples. If you come across some, solve them a few times in different ways to find the most elegant approach.
Here are some more resources for interview questions at tech companies:
Going into the interview, come in with a plan about exactly how you want to market yourself and the top things you want to make sure to convey in the interview. First, understand what the interviewers are looking for when they are grading your coding interview (this is a great article on the topic). For example, interviewers are looking for the thought behind the way you solve problems rather than expecting you to get every minute detail right on the first go. To easily take control of the interview, create a list of 5-10 projects you’re particularly proud of and practice explaining each of them. They will serve you well when the interviewer asks for examples of how you’ve solved challenges in the past.
A few services offer the ability to do mock interviews with developers & hiring managers at tech companies.
— Gainlo allows you to schedule mock interviews with people from top companies, so you can get real feedback on your pitch before the real interview.
— LeetCode has a mock interview you can go through, and you can get statistics about your performance and areas to improve.
You might be perfectly comfortable coding at your computer, but many companies will ask you to use a whiteboard during a coding interview. In fact, they’ll probably sit and watch you while you do and ask you to explain your process as you go so they can understand your problem-solving skills and thought process. To make sure you succeed, do these key things: