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.

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

Technical interviews can be unnerving; it is one of those things that most people dislike but still must go through to land a Software Engineer or Data Science and Analytics position. Fortunately, it is a skill that you can improve through practice.

Tech interviews come in many flavors, and every company’s tech interview process is different. Also, it usually involves multiple stages, like a tech phone screen, remote coding assignment, and onsite whiteboarding challenge.

A coding interview is usually completed in a particular programming language (ex., Java, Python, C, C++, etc.) and is a series of prompts or problems that the interviewee must work out. It can be done in-person or online and generally includes a subject matter expert.

For example, if you are interviewing for a Software Engineering role, a Senior Software Engineer who uses the same programming language as the technical interview will be in the room, providing the prompts and observing your work.

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 technical interview for an engineering job typically consists of a series of questions and problems designed to assess your technical knowledge, problem-solving skills, and ability to apply engineering principles. Here’s what you can expect:

  1. Technical Questions: You may be asked questions to assess your understanding of fundamental engineering concepts related to the specific field you are applying for. These questions could cover topics such as mechanics, thermodynamics, electrical circuits, materials science, or any other relevant discipline.
  2. Problem-Solving Scenarios: Interviewers often present you with real-world or hypothetical engineering problems and evaluate your approach to solving them. They want to assess your ability to analyze situations, apply appropriate engineering principles, and develop practical solutions.
  3. Design or Case Studies: You might be given design scenarios or case studies to evaluate your ability to apply your engineering knowledge to a specific problem. You may be asked to develop a system, optimize a process, or troubleshoot an issue, demonstrating your skills in critical thinking, creativity, and feasibility evaluation.
  4. Technical Assessments: Some interviews may include technical assessments, where you may be required to complete written tests or hands-on tasks related to your field. These assessments can evaluate your technical skills, modeling abilities, programming proficiency, or laboratory knowledge.
  5. Communication Skills: Alongside technical questions and problem-solving tasks, interviewers evaluate your ability to clearly communicate your thoughts and explain complex concepts. They assess how well you can articulate your ideas, discuss engineering solutions, and collaborate with others.

It’s important to prepare for a technical interview by reviewing important engineering concepts, practicing problem-solving techniques, and being familiar with the specific requirements of the role you are applying for. Don’t forget to also showcase your enthusiasm for engineering, ability to think critically, and willingness to learn during the interview process.

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.

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

LeetCode

HackerRank

CareerCup

Pramp

Codewars

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.

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.