When preparing for a technical interview, there are many resources you can use. Below is a list of popular technical interviewing practice preparation sites and resources.

Online Resources

Helpful Videos from Youtube

Recommended Books

Educational Tools

  • Khan Academy, Algorithms:
    • Computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges.
  • Udemy:
    • Courses on a range of topics. Search “coding interview” then click Filter->Price->Free
  • Interview Cake:
    • Courses to help you prepare to “win” the programming interview “game”
  • Alison:
    • From Microsoft to Google Apps, get an in-depth understanding of the world’s most popular software applications.
  • freeCodeCamp:
    • Non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms [and more].

Data Science Tools

Tips to Ace the Technical Interview

Focus on FundamentalsReview 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, etc.  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 WaysInterviewers 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 various 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 of when to use each of your tools.
Describe your Thought ProcessIf 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, and show the interviewer that you’re checking your code.
PracticeMake sure you simulate the interview environment. Give yourself a time limit on problems. If you have a phone interview, practice on LeetCode and other resources. 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.

The PDF of Tips for Technical Interviews (this chart) can be found on this Knowlton Center page!