If you are applying for a highly technical role – in coding, software development, IT, or any other related career, chances are you will be asked to come in for a technical interview. These skill-focused interviews have a reputation for invoking flashbacks to school exams, but they are nothing to fear! More than anything, technical interviews are a chance to showcase the awesome skills you have cultivated over your educational and professional journey.
In this guide, we’ll walk through 14 tips that will help you prepare for and succeed in a technical interview – whether it’s your first dip into the job market or your twentieth try. Review the tips below and then start prepping!
14 Tips to Prepare for a Technical Interview
1. Practice online
The best way to sharpen your technical coding skills is to practice with hands-on problems. Theoretical knowledge is an important foundation and may help with certain kinds of interview questions, but the meat of a technical interview is applied problem-solving. Working through a variety of coding problems independently prepares your brain for this kind of thinking.
Practice problems also give you a confidence boost for the interview itself. Get enough variety in your prep and no question will throw you for a loop.
LeetCode is an excellent resource for practice problems. They also offer mock assessments and a discussion forum where you can read about applicants’ past experiences interviewing at specific tech companies.
2. Review past projects
Apart from asking you to solve problems, technical interviewers may also ask questions related to your past technical experience. They may want to know about a time you solved a particularly difficult snag or a time when a project you worked on completely failed. To be ready to answer questions like this you’ll want to review past projects that you’ve done and have a couple of example anecdotes about these projects in the back of your mind. Being able to clearly explain the methods and technologies you’ve implemented in the past will impress your interviewer and help paint a broader picture of your capabilities.
Projects you can discuss include school projects, bootcamp projects, hackathon projects, past work experiences, and any challenges you’ve worked on independently. It may be helpful to maintain a list of your completed projects that you can reference before interviews. GitHub Pages is a good platform to house your portfolio.
3. Get a feel for company culture
Just as tech companies differ in their philosophies and ‘vibes,’ they also differ in their approaches to technical interviews. Different interviewers within the same company might even have different expectations for a technical interview!
Large tech companies that interview hundreds, thousands, or millions of applicants each year tend to take a stricter approach to interview procedures. These include tech leaders like Google, Facebook, Amazon, Microsoft, Apple, and Uber.
Smaller startups might have a more relaxed approach that allows you to do things more your own way. If you’re more comfortable writing with paper and pen instead of a whiteboard, you can politely ask to do so. If you’re seated at a table but you think better on your feet, feel free to get up.
At larger companies, it is best to stick to the procedures that the interviewers have laid out.
4. Find out if there is a preferred language
Most technical interview questions can be solved with a variety of coding languages. Some companies won’t mind which language you use since the logic will be similar across languages. However, in other cases, they may wish to test your skill coding in a particular language. If you are interviewing for a Java Developer role, chances are you will be tested on your Java abilities. If you are interviewing for a less specific role, it’s a good idea to reach out in advance and find out if you should use a certain programming language to solve the interview questions or if the choice is up to you. You can ask via email or phone call to whoever has been your primary point of contact through the initial application process.
5. Don’t burn out the night before
When possible, it is best to start practicing interview questions a few weeks before your interview. Don’t cram in all your prep the night before. You can do a bit of practice the day before (or the day of) an interview to help get in the right headspace, but it’s best to focus on getting a good night’s sleep. Technical interviews can be mentally exhausting so you need to go in feeling fresh and energized, not exhausted from studying all night.
6. Talk through your logic as you go
During the interview, talk through your logic as you solve each problem. This will help your interviewer follow your solution and will show that you are working methodically. If you happen to write something incorrectly but your logic is sound, your interviewer may give you a pass or just point it out, giving you a chance to correct an oversight.
For more advanced roles, or bonus points, you can talk through the different ways a problem can be approached before choosing one approach and starting to write code. Consider time-space analysis, anticipate any issues that could arise from a particular approach, and weigh the pros and cons of your options. Doing this analysis out loud demonstrates an advanced approach to problem-solving.
7. Focus on the process
In a technical interview, you will be judged more on your process and critical thinking than on whether you get the right answer. Focus on working methodically and communicating your logic to your interviewer. Even if you don’t nail the exact right answer in the end, they may still be impressed by your overall approach to the problem.
Keep in mind that an elegant and efficient solution will be seen more positively than a messy or naive one, even if they both arrive at the same outcome. Particularly when interviewing for more senior positions, consider the principles of Big O Notation and aim to write a clean solution, rather than throwing a bunch of code at the wall.
8. Code Beats Pseudo-Code
If you’re feeling rushed, it may be tempting to write your solution out in pseudo code. However, you’ll display your coding skills better if you write proper code with correct syntax. You may use pseudo code as a placeholder for a part of a function you’d like to go back to. This might mean adding a note like “here we’ll add a function that tests for null values.” Then go back later and write the function to show that you know how to execute your logic.
9. Take the guidance that you’re given
Some interviewers may have a particular way that they like things done and it is best to work within these bounds. For example, though we have just established that real code beats pseudo-code, you may find yourself in an interview where you are specifically invited to use pseudocode to solve a problem. In this case, go with it!
Likewise, if you are given a hint for solving part of a problem, use it! Interviewers like to see that applicants are coachable and able to pick up on feedback.
You can also ask questions during the interview to help gauge what exactly your interviewer is looking for. For example, if you think of an alternative solution midway through, you could say, “I just thought of another solution that would also work. Would you like me to walk through that one as well?” They might be excited to hear it or they might feel that there isn’t time and ask you to move on.
10. Name your variables descriptively
This advice always holds in coding but is particularly important in a live technical session. You don’t want to waste time clarifying all of your variables for interviewers who may have lost track. Give variables obvious names that will leave no room for confusion.
11. Write neatly
It might feel weird to be writing code out on a whiteboard instead of typing away on a keyboard. Practice your whiteboard writing ahead of time if you need to. It is so important for your interviewer to be able to read your code! After the interview, they may take pictures of your solutions on the board to look back on later, so be sure that your writing is easy for someone to read when you’re no longer present to explain verbally.
12. Don’t give up when you’re stuck
Let’s face it, you may end up in a situation where you are just stuck. Maybe you’re mentally worn out, maybe you’ve got a case of nerves, or maybe you’ve just never learned this particular concept. The important thing is to give the interviewer something. You can think out loud to help them understand what you’re stuck on. If you’re almost there, they might give you a hint! You could also explain what part you’re confused about and why.
It may help you get back on track to solve a mini-problem related to the concept you are stuck on. For example, if you need to figure out what the nth item in a list is, find a way to figure out the first item in the list and see if you can then expand on that.
If the part you’re stuck on isn’t a complete blocker, move on to another part of the problem and come back to the tricky part later.
13. It’s also ok to say you don’t know
This applies more to trivia-type questions than to long-form coding problems. If the interviewer asks you about the advantages of SciPy and you’ve never heard this term in your life, there’s no point in making up an answer. Just be honest. The interviewer might explain what it is to you and, if possible, you can follow up to show you’ve understood. You might say something like, “That sounds similar to NumPy, which I’ve worked with before.”
One caveat – if you list a skill or technology on your resume, don’t say you’ve never heard of it before if the interviewer brings it up! To avoid this situation just keep your resume truthful.
14. Remember, the interviewers are rooting for you!
Most technical interviewers love coding and are excited when they get to meet programmers and talk about code. The best case scenario for them is that you excel in the technical interview, they get to hire you, and they can go back to working on their own projects. If you have time, feel free to geek out a little with your interviewer. You might have a chance to ask about projects they work on or banter about your favorite tools.
What to Expect in a Technical Interview
Technical interviews usually happen after an initial phone screen or in-person first round interview. They will likely include between one and five technical coding questions that you will be asked to solve on a whiteboard. You might have the same interviewer(s) throughout the whole process or several different people may cycle through.
Apart from solving long-form problems, you may also get a few shorter technical questions to answer verbally such as, “Explain Big O Notation.” For these, you don’t need to write out code, though you could if it would help you explain.
The third type of technical question you may encounter has to do with your past projects. You may be asked about a time you worked on a project that failed and what went wrong. You might also be asked specific questions about projects you have included in your technical resume or project portfolio.
Though less technical questions are often reserved for a different session, they may still come up on a technical interview. Be prepared to answer questions about your strengths, weaknesses, favorite part about programming, etc.
While many technical interviews take place in person, you may find yourself completing a technical interview remotely over video conference. In this situation, you will likely share your screen with interviewers as you work through the problems.
Depending on the company, a technical interview may also include a tour of the office or a lunch with team members. You will likely be informed in advance if this is the case.
Finally, nearly all interviews alot time for you to ask your questions. Come prepared with a few interesting questions to ask. You could inquire about projects the team is working on or ask more about the company culture.
Sample Technical Interview Questions
Technical interview questions will be specific to the role you are applying for – data scientists are expected to answer different questions from software engineers. The following are a few common types of questions that you may get in any technical interview.
- Tell me about this project from your portfolio.
- Can you tell us about a time that you overcame a snag in a project?
- Have you worked on a project that didn’t work as you hoped? How would you fix it in hindsight?
- Can you tell me about any experience you’ve had working with [a language/tool/framework/library/etc.]?
- Describe your testing methods?
- When is it appropriate to use [a certain data type or data structure]? When is it not appropriate?
- Describe what happens – in technical terms – when you enter a URL into a browser?
- What does [a specific error message] mean?
- Find the problem in this code.
- Which library or framework would you use in this situation?
You Got This!
Technical interviews are almost unavoidable if you want to work in a highly technical field. They can be daunting, but they are also an opportunity to demonstrate what a great match you are for a potential role!
You may not know exactly what questions you will be asked to solve but you can still prepare by practicing a variety of problems and going in with a positive attitude. At the end of the process, even if you don’t get the role, you will at least gain experience working with interesting and challenging problems and have the opportunity to talk to people who work in the field.
To learn more about specific career paths to inform your job search, check out our comprehensive career guides here!