What is a Technical Interview?
Technical Interviews are common when applying for positions in tech, IT, engineering, data analysis and science. They feature questions that are specific to the role you have applied for so that the employer can confirm you have the requisite technical skills. Depending on the job you’re interviewing for, you’ll be asked about the skills, experience, certifications, competencies, languages, processes, systems and tools you have that are a match for the job requirements. During a Technical Interview, interviewees are usually asked to solve a few coding questions to solve while communicating their problem-solving thought process
Formats for Technical Interviews
There are various forms of the interview that you’ll come across depending on the company you’re applying to, the type and level of the role, and the kind of employment. Regardless of the format you are asked to follow, they’re designed to help provide insights into how you would work on a real-world problem based on the depth of your knowledge in your chosen field.
Live Coding: Usually happens on an online IDE such as CoderPad or HackerRank; can be done in-person or virtual
Coding on Whiteboard/Paper/GoogleDoc: Done by hand; can be done in-person or virtual
Conversational: Tests interviewees’ fundamental computer science knowledge without coding; can include topics like discussing the advantages and disadvantages of certain languages, conceptual knowledge of data structures, or the process of project development
Not sure what this looks like? Check out this video:
Preparing for the Interview
Since the aim of the interview is to evaluate your technical ability, in terms of communicating and solving, it’s important that you revise any related major topics covered in your academic coursework. In addition, go through any technical projects that you’ve worked on over your school years and be prepared to answer questions regarding your contribution, learning and how you dealt with any issues that arose.
Mindset, Language and Tone
Be direct, confident and assertive when answering technical questions.
- The way you answer the question (tone of voice, eye contact, etc.) is just as important (if not more so) as what you say – projected confidence will win the day
- Do not give a one-line response. The interviewer does not want to know the answer as much as they want to know how you reached the answer – “show your work” by explaining your thought process in your response.
The interviewer is trying to assess your problem-solving and critical thinking skills. Questions like “How many manholes are located in Manhattan?” are common. They are not looking for a right answer, instead, they want to see how you solve problems.
- Explain your process — if you discover you made a mistake while explaining your answer, then explain why and how you can improve it. Do not give up and stop communicating. Be tenacious, be creative and be willing to explain yourself.
- The reasons for the choice are more interesting than the choice.
If you do not know the answer, be upfront, and then explain how you’d try to find the answer. Remember that the interviewer is evaluating your process for approaching a problem just as much as your answer – so tell them how you would go about finding an answer to a question you do not know. HINT: do not tell them you would just “Google it.”
If you know the answer, then this is your chance to shine. Be sure to use pictures and diagrams where appropriate. Use the whiteboard, or draw on a notepad. When you finish, ask if you’ve satisfactorily answered the question. If you have creative thoughts about additional solutions, then share them.
Practice and Mentally Prepare
Keeping the above guidelines in mind, make sure to curate and practice your answers to a handful of typical questions. Here are our top resources to help you practice:
- LeetCode: Versatile platform for enhancing fundamental coding skills. You can sort questions by difficulty and type of questions, and the platform also has courses.
- Cracking the Coding Interview Book: Most used interview prep book, includes 189 programming interview questions, ranging from the basics to the trickiest algorithm problems. You can check it out from the Perry-Castañeda Library. (If in a rush, chapters 1-4, 8, 9 and 11 cover core data structures.)
- HackerRank: Leading end-to-end hub of technical practice problems with collaborative and hands-on experience with general programming interview-level questions.
- CS Dojo: Youtube Channel that covers Data Structures Knowledge, Sample FAANG Interview Questions, Tips and Tricks of Interview Prep, and more!
- Free Code Camp: Tools, Frameworks, Project Creation Resources, and Tutorials
- Geeks for Geeks: Career Prep, Explanations and Solutions regarding Coding Problems, Career Exploration within Tech
Additional Tips to Prepare
- Practice communicating your thought process out loud to others.
- Make sure you know your best technical language well. Practice using the main data structures in that language, space and time complexities for different data structures and algorithms, and OOP principles.
- Use the resources below to prepare for your technical interview as well as Google and Glassdoor to find out what interview questions are likely to be asked. Specifically search for the company you’re applying to as well.
- In order to get comfortable in the environment of a technical interview, it’s important to become familiar with their set-up. Practicing in front of a friend on a whiteboard will help you get better at communicating your thought processes as you work through coding problems.
- Not sure if your upcoming job interview has a technical component? Ask your recruiter what to expect.