If you're interested in programming or software engineering, you'll likely experience one or more technical interviews with any given employer. The technical interview helps employers evaluate a candidate's ability to use a technical skill in real time. If you anticipate a technical interview this semester, check out our top 5 tips for understanding and preparing for the interview. Then, carve out time in your schedule to review the resources below in more depth and boost your technical interviewing preparedness and confidence.First, learn how technical interviews are structured and what employers are looking for from candidates.
Many technical interviews will involve 3-4 coding problems questions or puzzles for you to work through with your interviewer. Questions are often designed to take 10-20 minutes each. Employers pose these questions to understand how you think. They want to see in real time how you conceptualize a problem, verbalize your thoughts, and articulate a solution. Interviewers also want to see your ability to recognize and fix mistakes (no perfect execution needed!). Be open to considering different solutions and adapting to interviewer input.
Anticipate the types of skills and concepts employers will likely ask about.
You may be asked to solve a problem that involves data structures, algorithmic complexity analysis, class design, etc. Brush up on concepts you haven't studied in a while and be comfortable discussing strings, arrays, basic syntax, data types, linked lists, trees, graphs, stacks, queues, and hash tables.
Practice technical interviewing questions before your first interview.
Practice a variety of questions on your own, with a partner, and during workshops posted in Handshake or with technical clubs.
You'll find practice questions, live practice opportunities, and/or guidance here:
LeetCode
Pramp
IndiaBix
Interviewing.io
Choose a skill and see sample questions
Be sure to practice your code in a Google Doc or shared text editor with a friend. You'll likely be doing the same with your interviewer.
Interview day is here...now what? Talk out loud with your interviewer throughout the interview. They're your partner and guide!
For example, you could be asked “Given 2 strings, write a function to decide if one is a permutation of the other.”
Before your start solving, ask your interviewer questions like:
Is it case sensitive?
Only letters or are there spaces, or symbols or numbers too?
Should there be a limit on string size?
How to treat spaces if there are any?
TIP: If you're not sure what a permutation is, the interviewer wants you to ask!
State your assumptions, go over possible approaches with pros and cons, and discuss problem points. While you're solving, talk out loud about your thought process, reasoning, and what you're doing as you progress through tackling the question. Once you have a solution, re-evaluate it, and go back over your work. Step through your code. Think about edge cases.
Watch these technical interviews in action to get a good feel of how to work through a problem and talk about it aloud:
Google sample whiteboard interview question
Sample whiteboard interview question and solution
After your interview, reflect on the experience and take notes.
Treat every technical interview as a learning experience -- and make sure you learned the lesson after wrapping up a particularly challenging problem.
What concepts do you need to brush up on before your next interview?
Do you need to practice talking out loud more to demonstrate your thought process and reasoning?
Do you need to ask the interviewer more questions before you start solving?
Troubleshoot your interviewing preparedness, just like you would troubleshoot a technical problem. Employers say that technical interviewing is a learned skill. It requires practice, just like picking up any new skill! Learn from each interview and go into the next one feeling more prepared and confident.
Want more technical interviewing tips? Review our interviewing tips for addtional advice.