So you want to land a job in tech? One of the first steps is getting past the technical interview in which you develop a solution to a coding problem provided by an interviewer. We’ve put together a quick guide to navigating this component of landing your dream job in tech!
Preparing for a technical interview can be a very daunting task. Many first-time interviewees don’t know where to begin when faced with the vast catalog of technical concepts in computer science. Luckily, we’ve narrowed down a few key concepts that are commonly tested in technical interviews.
It is important to be familiar with the following data structures and understand their overall tradeoffs and advantages. Interviewers often ask a candidate what data structures are best suited for a particular task! Notable data structures: Arrays, Stacks, Queues, Hash Tables, Linked Lists, Graphs, Trees (Binary, n-ary)
Big O Notation
This concept is about understanding the time and space complexity of a given piece of code. In short, how efficient is your code, what tradeoffs does it make, and can it be more efficient?
While you likely will not be rewriting a sorting function, interviewers often ask candidates to demonstrate an understanding of several commonly used algorithms and an ability to apply them in different situations. Some of the most commonly asked algorithms:
Search Algorithms: Binary Search, Breadth-First Search, Depth-First Search
Sorting Algorithms: Merge Sort, Quick Sort
Lastly — and we cannot stress this enough — practice makes perfect! The more you practice the more you will get comfortable with answering coding questions. Eventually, you’ll recognize the patterns that can help you figure out your solution. Here are some of the resources that we have found helpful:
We also recommend practicing with a friend! Technical interviews are just as much about communication skills as they are about technical skills.
During the Interview
You’ve studied your data structures, done numerous practice problems, and now you’re ready for the actual interview. Below are a few pieces of advice that will turn your technical preparedness into a successful interview:
- Ask clarifying questions
- State the brute force solution out loud
- Optimize and iterate on your solution
- Start by outlining your approach before writing any code
- Test your solution in real-time
- Lastly, communicate clearly and be yourself!
The secret to technical interviews is understanding that they are not completely technical. While it is important to produce a correct solution, the interviewer also wants to see that you would be a good candidate to work with.
Here is a video from Google that shows what a live technical interview might look like!
Be sure to write a personalized thank you note/email to each of your interviewers! This is a small thing that can go a long way in terms of setting you apart from other applicants. Tips for writing thank you notes can be found on the Career Center website.
Congratulations, you’ve gotten through a technical interview! It cannot be understated that technical interviews are very difficult and challenging. Whether you land a second round or not, be proud of yourself for all your hard work and effort. Good luck on your next interview!
—By John Abreu ’20 and Jolene Lozano ’21, Co-Presidents, Computer Science Society