Acing the Technical Interview
A Brief Overview
Mid-October is high time for tech recruiting, so we thought we’d share some resources that have been pretty helpful for our members in approaching tech interviews.
The Coding Interview
Step 1: Choose a Language
Most companies will let you code in the language you’re most comfortable in, but you may want to check with a company beforehand. C, C++, Python, and Java are usually common to use in interviews.
Step 2: Review your fundamentals
Depending on the position you’ve applied for and the CS classes you’ve taken, you can expect a technical interview to start off asking basic coding questions and then increasing in complexity. A great resource for this is Cracking the Coding Interview, as well as study.cs50.net. Some common things to know in and out include:
- String Manipulation
- Hash Tables
- Stacks, Queues (implementation, etc)
- Linked Lists
- Binary Trees (Maybe)
- OOP and maybe function programming concepts (CS51)
- Data Structures & Algorithms (CS124)
- Complexity and Big-O questions
- & more
Step 3: Whiteboard your Practice Problems
You will most likely be handwriting code on a whiteboard during your interview, not typing it. Get comfortable practicing this by whiteboarding your solutions to practice problems first, before you type in the code and test it. Grab a friend and tackle some of the practice problems in:
- Cracking the Coding Interview
- Elements of Programming Interviews: The Insiders’ Guide
- & other such sources
Make sure you talk through the problem out loud while practicing, as it is important to show the interviewer your thought process.
The Non-Coding Portion of the Coding Interview
Even though your interview is going to be technical, it’s important to connect with the interviewer and be able to explain:
- why you’re interested in this company
- why you’re interested in this position
- how your past experiences and projects prepares you for this position
- field questions about your resume, especially be technically prepared to answer questions about how you developed &/or shipped some of your products/projects
Also be prepared to ask your interviewer a question or two at the end — like perhaps the technical products the company is working on, or even the culture. Thinking about a few good, insightful questions you’d really like answered may help you finish the interview strong!
don’t be nervous. Do not be put off if you can’t answer one question or the other during the interview — try to ask clarifying questions, think creatively of solutions, and listen to hints your interviewer may give. Coding interviews are designed to be challenging, but they get easier with more and more practice.
This post is largely based off of the “Landing a Technical Internship” event put together by Harvard WiCS and HCS in early October, as part of our Professional Dev Series. Our special thanks to Amanda B. and Roger Z. for leading that event! Here are the slides from that event:
If you like this post, don’t forget to recommend and share it. Check out more great articles at Code Like A Girl.