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, data science, data analytics, machine learning engineering, data engineering, and prompt engineering.
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, listed below in terms of increasing difficulty and time of preparation. A round of interviews tends to have a combination of some or all of the four categories. One alum reporting having 6-7 such technical interviews for one role!
- A Q&A on your technical knowledge of a topic or technical details about projects you have worked on in the past.
- Technical assessments on skill tests, like those found on Hackerrank.
- 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).
- Whiteboarding interviews (live coding/problem solving with one or more engineers/technologists typically for SE related roles) where you will solve a problem and explain your solution. Whiteboarding can mean many things from solving a simple Leetcode problem to system design.
One alum also shared a recent experience in Prompt Interviewing – a role blending linguistics, sociology, anthropology, and writing skills – which lasted 1-3 hours, and had her solving more simple Python coding problems to generating business solutions using a company’s large language model.
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?
Start by reviewing basic knowledge for your work – which can include algorithms and data structures, time and space complexity, machine learning fundamentals, and/or statistics. The fundamentals are extremely important, and you want to get basic concepts right from the start to be able to move on in the interview process.
One alum recommended the following texts:
- Introduction to Algorithms
- Pattern Recognition and Machine Learning
- Probabilistic Machine Learning
- Deep Learning by Ian Goodfellow et al
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.
Complete daily challenges to flex your interview muscles. Some commonly used resources for this include:
Conduct live practice with peers or other technologists:
- Practice with peers, mentors, and alumni.
- Pramp
- Interviewing.io
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 careerplan@gc.cuny.edu).
Final Tips
- Think of a technical interview in the coding category as a pair programming exercise: articulate your thoughts aloud, think with the interviewer, and write solutions as if you’re doing some group work. If you get stuck, ask for hints. Interviewers expect this to happen.
- 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.
- 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.