Technical Interviews

Technical interviews are specialized assessments designed to evaluate a candidate’s problem-solving abilities, coding skills, and technical knowledge relevant to the job role. Look here for general interview preparation resources.

Practice Technical Interviews for Software Engineering, Product Management, & Data Science, & more with Exponent

Peer to peer Technical Interview prep is available! Our TDE intern, Caitlin will be hosting mock technical interviews in Java and Python, giving you the chance to practice coding in front of someone else. Whether you’re preparing for an upcoming interview or just want to sharpen your skills, she is here to help!

Technical interviews can look very different depending on the field and the employer. If you are interviewing in computer science, data, finance, engineering, or consulting, you may be asked to solve problems, explain your thinking, or apply technical knowledge in real time. The best way to prepare is to understand the interview format, practice ahead of time, and focus on showing how you think—not just whether you get the final answer.

Common types of technical interviews

Portfolio or project walkthroughs
You may be asked to explain a class project, internship project, research experience, or personal project. This is especially common in computer scienceengineeringdata, and design-related roles.

Coding interviews
You may be asked to write code, debug a program, or solve algorithm problems. These are common in computer science and software engineering roles.

Data interviews
You may be asked to analyze data, interpret charts, write SQL queries, explain metrics, or talk through how you would clean and organize a dataset. These are common in data analyticsdata science, and related roles.

Case interviews
You may be given a business problem and asked to walk through your approach. These are common in consulting, but can also show up in finance and strategy-related roles.

Technical problem-solving interviews
You may be asked to apply concepts from math, physics, programming, systems, or design to solve an applied problem. These are common in engineering and some finance roles.

Behavioral plus technical interviews
Some employers combine technical questions with questions about teamwork, communication, and past experience. This is common across many fields, especially when employers want to see how well you explain your work to others.

Whiteboard or live problem-solving interviews
You may be asked to solve a problem out loud while the interviewer watches. The goal is often to understand how you approach challenges, not just whether you know the right answer immediately.

Take-home assignments
Some employers give you a project, dataset, coding task, or case to complete on your own. These are common in dataengineeringconsulting, and technical business roles.

Technical interviews focus on your ability to solve problems and use specific skills.

Examples may include:

  • Implement an algorithm to sort an array.
  • Tell me about a time you used creativity to solve a problem.
  • What kinds of projects have required planning?
  • How would you decide what to test if you do not have time to test everything?
  • What is the most interesting software project you completed in school?
  • Give an example of a project you started on your own.
  • How do you contribute to a team?

You can expect a technical interview for almost any technical role including engineering and developer roles like Software Engineer/Developer, Web, App, and Game Developer roles. Internship programs or full-time jobs with coding/programming requirements or qualifications will have a technical interview.

A behavioral interview might ask questions about a past experience or about how you might respond in a particular situation, a technical interview helps the interviewer assess your coding skill in a particular language and learn a bit more about how you think–such as your approach to problems, finding solutions, navigating challenges, communication, and accepting feedback.

  • Review the core skills for the role
    Look at the job description and identify the technical topics that show up most often.
  • Practice the format you are most likely to see
    For example:
    • coding problems for computer science roles
    • SQL and data interpretation for data roles
    • case practice for consulting
    • quantitative and modeling questions for finance
    • design, systems, or mechanics problems for engineering
  • Talk through your thinking out loud
    Interviewers often care just as much about your reasoning as your final answer.
  • Practice under realistic conditions
    Try solving problems with a timer, a whiteboard, or a shared document so you get comfortable with the pressure.
  • Review your projects and experience
    Be ready to explain what you did, what tools you used, what challenges came up, and what you learned.
  • Prepare questions for the interviewer
    Asking about the team, tools, workflow, or expectations can show that you are thinking seriously about the role.

Cracking the Coding Interview by Gayle Laakmann McDowell is repeatedly referenced as one of the best resources to use when preparing for technical interviews. This text has prompts with answers as well as a brief job search and interview process overview.

Programming Interviews Exposed: Coding Your Way Through the Interview by John Mongan, Noah Kindler, and Eric Giguère has also received some great feedback. Get it at your public library or favorite bookseller.

Online Practice

  • HackerRank
  • LeetCode
  • interviewing.io
  • Pramp

Other Resources

Google has YouTube channels with helpful videos on technical interviewing. View all their videos on Google Students and Life at Google channels.

Anthony Mays is a Senior Software Engineer at Google who offers tips and resources on technical interviewing and landing a job in tech. Search his blog for helpful tips like how to solve a coding interview question in real time

Hackathons and Data Challenges not only give you a chance to practice your skill but they will also give you projects (and maybe even awards) to add to your resume. It will also give you the chance to meet peers who are interested in similar areas of tech. Continue your connection with your team beyond the hackathon by bringing everyone together for a coding practice meetup.

You can expect a prompt to get you started, a space to work (either on a virtual doc viewable by you and the interviewer or, a dry erase board), and the interviewer who serves as the expert on the language you are interviewing in.

The interview can be in-person, in which case, you may find you are solving your prompts on a dry erase board. Of course, not all technical interviews are in person. Some companies will use platforms like HackerRank to run their technical interviews or, a Google Doc.

You will meet your interviewer and they may have some initial information to share about the process, time frame, etc. You will be given your first prompt and then you get to it.

In technical interviews, employers are often looking for more than the “right answer.” They want to see how you think, communicate, and handle challenges.

  • Take a moment to think before answering
  • Ask clarifying questions if the problem is unclear
  • Explain your reasoning step by step
  • Stay calm if you get stuck
  • Be honest about what you do and do not know
  • Show how you would approach the problem, even if you do not finish it

Communicate with your interviewer.

Just as if you are thinking out loud, share your understanding of the prompt, your approach to the prompt, what you are doing and why. It may seem weird to just talk and talk with no response from the other person in the room but remember, they are there to learn how you think. The best way to help them learn how you think and work is to talk.

When you hit a challenge in the prompt, talk through it out loud. Layout all of your options, pros/cons of each, all of the details, so they can follow why you pick the option you do.

Interact with your interviewer. If you get completely stuck, you can talk with your interviewer. They may/may not offer some suggestions but, they may serve as a sounding board. They may have a look at your work and ask questions to help guide your thinking.

Respond well to feedback. The interviewer may/may not offer some sort of feedback or, ask you questions about your code. Avoid getting defensive. Listen to what they are sharing and be open to their critiques or ideas.

Be yourself. While it may be tough to be calm, cool and confident, do your best to be yourself. As you communicate your thought processes, it’s okay to share your personality and who you are.

Don’t feel like you have to solve a bunch of problems in your interview. This is not a race or about the quantity of problems solved. While you will want to work to answer the prompt given, remember that the primary reason for a technical interview is to gauge your technical skill and understand how you think/process. You don’t necessarily have to solve a prompt to deliver those to aspects of a technical interview.