Career Strategy Fellowships Study Abroad Summer Session CAREER LINK

Preparing for Technical Interviews

You are here

In addition to behavioral questions, you may have a technical portion of the interview if you are interviewing for a technical role. Such interviews put candidates in hypothetical situations, have them solve problems and test their ability to function under pressure.

TOC:

Tip: The best preparation for technical interviews is PRACTICE!  Make use of prep tools that offer insight and practice questions.  A few examples are: 

  • Careercup, a guide to software engineering interviews.
  • Khan Academy, Algorithms, computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges.
  • Top Coder, a premiere competition community for designers, developers, data scientists and competitive programmers.
  • Ultimate Guide to Programming Interviews, includes tips and practice interview questions.
     

Focus on Fundamentals

Review the job description to know what kind of position you are interviewing for (software, hardware, testing, operating systems, etc.).  Research the organization, reflect on their needs, how your background fits and what you can contribute to the organization and the position. 

Interviewers are mainly going to ask you questions about your fundamentals: data structures, algorithmic complexity analysis, class design, and the like. These will be questions both directly about fundamentals (e.g., use X to do Y) and questions for which you will use your fundamentals (more on that below).

Think of fundamentals as the tools in your toolbox.  With strong fundamentals, you’ll be better prepared to tackle open-ended problems—the kinds of problems that many organizations solve on a day-to-day basis.

Be Prepared to Solve Problems in Different Ways

Interviewers will want to see how you can use your fundamentals in practice, and will achieve this by asking open-ended questions that can be solved in a variety of ways. How you break down open-ended questions, your thought process in choosing your solution, and how you effectively communicate will be evaluated by the interviewer.  Practice solving questions with different tools from your toolbox so that you develop a strong sense for when to use each of your tools.

Describe your Thought Process

If you have different ways of solving the problem, talk through the options before deciding which to use. It helps the interviewer see and understand your thought process. Make sure you’re asking clarifying questions to fully understand the question and that you’re not enlarging the scope of the problem. 

Finally, make sure you verbally run through a few test cases before you say you’re finished. This allows you to both check the code, for example, and show the interviewer that you’re checking your code.

Practice

Make sure you simulate the interview environment. Give yourself a time limit on problems. If you have a phone interview, practice on both Stypi and Google Docs.  If you have an in-person interview, practice solving problems on paper or on a whiteboard.

Have non-technical friends ask you interview questions, and walk them through your answers. If you can explain it to them, you can more than likely explain it to a technical interviewer.