How to Prepare for a Technical Interview

What is a Technical Interview? 

A technical interview is one part of an interview process for an internship or job, where an employer is assessing your technical skill set for a specific position, most typically in software engineering or data science. The skills being assessed are typically listed in the job description (e.g. a programming language or statistical tool), but for software engineering can often include concepts like data structures and algorithms.  

The technical interview might be the first step in an interview process – a company’s initial screen to ensure a candidate has the technical skill set required for a role – or come later, after an initial phone screen or behavioral interview as a way to get to know the candidate better, held with a recruiter or team member/s. 

What is the Employer Looking for? 

The technical interview is a way for the employer to assess a candidate’s technical skills, and also their interpersonal/communication skills, problem solving skills, and ability to work through challenges in the moment.  

What is the Format of a Technical Interview? 

Technical interviews fall into a few main categories: 

  • Whiteboarding interviews (live coding/problem solving with one or more engineers/technologists) where you will solve a problem and explain your solution. 
  • Take home challenges (e.g. an assignment to build a tool or web site, or conduct analysis in a certain time period and submit with code or documentation for review).
  • Technical assessments on skill tests, like those found on Hackerrank.
  • A Q&A on your technical knowledge of a topic or technical details about projects you have worked on in the past.

If you’re in the process of scheduling a technical interview, it is always appropriate to ask about the format so you can be most prepared. Glassdoor also has candidate reported feedback on interview processes. 

How do I Prepare and Practice for Technical Interviews? 

One way to prepare for technical interviews is to talk through the work you’re doing on a regular basis, out loud to yourself or with peers. Getting comfortable talking about technology, your technical decisions, programming languages, and using technical vernacular will help you during the interview process. 

A second way of preparing is by completing daily challenges to flex your interview muscles. Some commonly used sites for this include: 

A third way to prepare is to do live practice with peers or other technologists: 

Finally, other resources that may be useful include: 

  • Search Github for repositories of common questions posted by developers.
  • Watch this video on solving white boarding interviews. 
  • Read Cracking the Coding Interview,” an often-recommended resource for technologists (available to borrow from CP&PD office – email

Final Tips

  • Practicing talking about technology out loud is helpful, even when you don’t have an interview scheduled. 
  • Any assessments or documentation you submit are samples of the kind of work you will do on the job. Be timely, accurate, and detail-oriented. 
  • Remember that the employer is looking at your communication and interpersonal skills if your interview is live. Smile, make eye contact, and show enthusiasm while you work.  
  • For live interviews, be sure you’re explaining what you’re doing and why. Asking questions, particularly at the start of the interview, is OK. 
  • If you get stuck on a problem, do your best to work through it in the moment. This shows tenacity. You can talk to the interviewer if you’re not quite sure about an answer, can discuss what you’re considering, and see if they’re willing to give you feedback about ways to move forward. 
  • If you can’t solve a problem in the moment, keep working on it after the interview and send along your findings. 
  • Send a thank you email after your technical interview to your interviewers, especially if it’s live. 
  • Remember that the technical interview is just one part of the interview process. The behavioral interview and how you will fit in with the team is also very important.