4 Things Every Engineer Must Do Before A Technical Interview
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 an athletic performance; the only way to consistently improve is to take an organized approach to practicing: 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:
- InterviewBit: A product which gamifies the experience of practicing for your interview and includes lots of sample problems.
- Hired In Tech: A free online course which includes algorithms & systems design step by step tutorials, as well as a 6-week intensive preparation plan and lessons.
- LazyQuestion: Includes hundreds of sample questions for all different types of languages in an easy quiz format.
- A comprehensive list of questions from a variety of languages was put together by some GitHub users.
Review the company’s past interview questions.
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:
- Glassdoor’s database of coding interview questions is the best place to start. They’ll have up to date questions being asked and most companies have at least a few listed.
- Quora should be your next step. They have an extensive library of technical interview Q&As from authoritative sources like recruiters & hiring managers at top companies. Try their Programming Interview Questions, Technical Interview Questions, and Programming Interview topics. Searching Quora for a company name + “interview questions” keyword should also turn up a good number of results.
- CareerCup has lists of questions from a large number of companies — see their lists for Google, Facebook, Amazon, and Microsoft.
Understand what the interviewer is looking for.
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 interview 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.
Don’t practice on your computer.
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:
- Practice solving questions on a whiteboard before you go into your interview.
- Invite a peer to observe you so you can get comfortable with an onlooker.
- Make sure that you’re comfortable talking through your assumptions out loud; practice doing this at home first and it will feel more natural at the interview.