Technical interviews are designed to test your coding skills and problem-solving abilities. By their very nature, they are rigorous and challenging. They can be stressful even for software engineers who have degrees and many years of relevant work experience. That stress level ratchets up, understandably, for self-taught developers and first-time interviewees.
But whether or not you’ve been through a technical interview before, it’s always a good idea to prepare in advance. Some of the tips for acing any job interview apply to a technical interview as well. Since you’ll be asked many of the same questions as in a behavioral interview, you’ll want to give some thought as to your strengths and weaknesses and the challenges you’ve resolved at past jobs. But, to assess your coding abilities, there may also be a whiteboard challenge and/or a remote coding challenge and for those it’s best to break out the books to brush up on your knowledge and even do some practice questions.
What Is A Technical Interview?
Technical interviews are most often used in the tech sector. They’re rigorous tests that may involve coding challenges, puzzles, word problems, or peer discussions. The results allow hiring managers to evaluate the critical-thinking and problem-solving abilities of candidates as well as their proficiency with required programming languages. Since bad hires can be costly, companies perform technical interviews to ensure that the candidates that they hire can indeed perform the job duties.
A technical interview may consist of any or all of a phone screen, a take-home coding assignment, a remote coding challenge, and an onsite interview.
The Phone Screen
If a company likes your resume, they’ll likely reach out to set up a phone call. This isn’t exactly an interview; it’s a more informal chat that will last about 15-30 minutes. Unlike a phone interview, which often asks the same types of questions as a behavioral interview, a phone screen usually includes basic questions around why you applied for the job and what your salary expectations are in addition to ensuring that you do have the necessary skills and experience to perform the duties.
Phone screens give the company a chance to narrow down the pool of applicants in order to decide who to invite to the next stage of the interview process.
The Take-Home Coding Assignment
Like the phone screen, a take-home coding assignment is meant to filter the best candidates for the next round of interviews. The assignment usually involves programming or logic problems that need to be returned for assessment. To best tackle an assignment like this, a piece at CIO suggests that you:
take time to plan out your code before writing it out. Make sure you fully understand the instructions and requirements. Even if you think you’ve got it, reread them several times before starting, and once more after you’re finished with the challenge, to make sure you’ve hit every requirement.
The Remote Coding Challenge
Most companies will choose only one of a take-home assignment or a remote coding challenge. If you’ve been invited to a remote coding challenge, be prepared to meet with an interviewer via an online platform like Skype, Zoom, or Teams. You’ll most likely need to screen share as you and the interviewer work through problems together. A piece at Indeed gives this example: If the job is with a “financial company that builds applications for people who need to build their credit in Python, you may be tested on your ability to use Python to build a user interface.”
Remote coding challenges are rarely timed. Take your time to work through your problems while verbally explaining your thought processes. And, if there are any optional bonus questions, be sure to take those on as a way to demonstrate how keen you are for the position.
The Onsite Interview
Once you’ve passed the phone screen and the take-home or remote coding challenges, you’ll be invited to an onsite interview (which some companies may now hold remotely). This stage of the interview process is the most intensive and may last an entire day. Be prepared for both typical interview questions around things like challenges you’ve overcome in past jobs and your strengths and weaknesses as well as a whiteboard challenge.
Solving problems on a whiteboard in front of an interviewer or interview team is a common practice in the tech field. Even if you’ve been through this kind of interview before, it can be awkward since you probably don’t solve problems this way on a regular basis.
Practicing on an actual whiteboard ahead of time – solving sample problems as you verbally explain your thought processes – is a terrific way to prepare.
Preparing For A Technical Interview
As with any kind of job interview, preparations for a technical interview should start with research around the role and the company.
Take A Close Look At The Job Posting
The job ad contains valuable information that can help you prepare for the interview. In particular, the ad should contain information about the technologies adopted by the company and the programming languages that you’re expected to be proficient in.
Visit The Company’s Website And Social Accounts
The company’s web presence will likely include helpful tips about their workplace culture, including their dress code. It may also include bios of key staff to help you learn more about your interview team. And, if the company has a blog, they might even have a piece about their interview process.
If you’re unable to locate any helpful information about the company on their own website or social accounts, try looking them up at Glassdoor. That site has an “Interviews” tabs for over a million companies, where interviewees and current employees share details about the interview process and questions asked.
In addition to giving you clues on how to dress and how to answer specific questions, reading through their online documents can show you how to tailor your answers to the company. If you can throw in a reference about how you’re excited to work with one of the company’s clients, for instance, it shows that you care about that specific job and aren’t just looking for something – anything – different.
Study and Practice Sample Coding Challenges
To prepare for the coding challenges and onsite whiteboard challenge, review relevant material including books, digital publications, and online coursework. Additionally, there are ample resources online that can help hone your coding skills, including CodeSignal and HackerRank. Both of these sites (and others) offer free, anonymous coding challenges for practice purposes.
Prepare For A Remote Interview
In addition to reviewing code and doing practice problems, it’s a good idea to prepare for a general online interview:
- Test your hardware and internet connection beforehand;
- Familiarize yourself with the video platform and code editor that the interviewer will use;
- Close personal tabs and messaging apps;
- Make sure that your physical space is neat, tidy, uncluttered, and distraction-free;
- Choose clothing that is one level above the company’s dress code;
- Practice interviewing remotely by recording yourself answering sample questions.
Keep These Tips In Mind For The Whiteboard Challenge
Whiteboarding in front of an interview team can be awkward and stressful. Out of nerves, you may be tempted to dive in and just tackle the problem as best you can. Instead, try to slow down while keeping these tips from Learn to Code With Me in mind:
- Ask questions before you start, even if you think you already know the answers. It shows that you’re careful and calculated in how you approach problems and sometimes the interviewer will provide hints or tips.
- Verbalize your thought process as you work through the problem, since the challenge is also testing your communication skills.
- Speak clearly and precisely, avoiding ambiguous words and phrases.
- Stay calm if you get stuck. Verbalize your thoughts and try a different approach. Even if you don’t solve the challenge, the way you address your issues with it will be very insightful to the interviewers.
- Check for errors when you’re finished and then walk your interviewers through your solution.
After the Technical Interview
As with any job interview, sending a thank you note or email to all those involved (recruiter, hiring manager, interview team) is a terrific way to stand out and confirm your interest in the role. In addition to expressing thanks for the opportunity, ask if there’s anything else they need from you in order to reach their decision or if they have any follow-up questions.
If you haven’t heard back in about a week, send another brief email to the recruiter and/or hiring manager to reaffirm your interest and ask about next steps.