Anyone applying for new tech jobs knows there’s nothing more intimidating than the technical interview.
Like going to the dentist or eating Thanksgiving with your in-laws, technical interviews are that thing you know you have to do, but really, really don’t want to.
And it makes sense: Of all the steps in the tech job interview process, the technical interview is the least predictable. For most top tech companies, early-stage interviews look relatively similar.
But the technical interview is its own beast. Every company approaches it differently, and the problems presented often change with every single candidate that comes through the door.
And that’s not even the worst part!
On top of the complete lack of predictability, technical interviews are some of the most high-stress situations an engineer will face when applying for tech jobs.
Think about it: you’re in the final stages of a multi-hour interview process for a job you really want to get, when all of a sudden you’re presented with a problem you’ve never seen before and asked to solve it (on a whiteboard no less) within a tight time constraint.
It’s a lot to ask. But frankly, when you can make upwards of $344,000 as an engineer with a company like Uber, it makes sense why the process is so strenuous.
Luckily, there’s a lot you can do to prepare for success in your technical interview, and this post aims to show you all of it. Here are ten tips for nailing your technical interview:
Before the Interview
#1. Read (and Practice with) Gayle Laakmann McDowell’s Cracking the Coding Interview: 189 Questions and Solutions
This book is widely regarded as a go-to source for the wide-range of potential algorithms and problems you may encounter in a technical interview. As one Google employee who interned with Apple and Facebook will tell you, going through all the problems in this book might be a big drain on your social life, but if landing a great tech job is your goal, there’s no substitute for this book.
#2. Use a Practice Coding Site like LeetCode.com
As coding interviews became more commonplace in the tech industry, a number of different sites have popped up offering opportunities to go through practice coding exercises that flex the muscles you’ll need to succeed in your interview. LeetCode.com is one of the best of them, but there’s one thing you’ll miss doing it all online…
#3. Write Code on a Whiteboard and Practice with a Tight Deadline
Most engineering candidates know to review code and practice. But a common mistake is only practicing on a computer when—chances are—you’ll be coding during the interview on a whiteboard. So, while practicing on a platform like LeetCode is smart, make sure you run through several problems on a whiteboard and under a strict time constraint (30 to 45 minutes). That way, the setting of your interview will feel more comfortable and less distracting.
#4. Talk to Your Recruiter
The recruiter that’s guiding you through the process should be you inside source on what to expect from your technical interview. While he or she isn’t likely to give you any unauthorized insight, remember that they want to see you succeed (after all, they were probably the one who screened you in the beginning). That’s why it’s smart to check in and ask for their perspective on what you should be studying and how you should prepare for the interview.
During the Interview
#5. Ask (a lot of) Questions
When your interviewer presents the problem for you to solve, your first reaction might be to dive in and start coding. You’re working on a tight deadline, and it’s natural to want to maximize the time you have. But taking a deep breath and spending the first 3-5 minutes asking questions actually helps save time by eliminating frivolous errors and ensuring you have a good grasp on what you need to accomplish before you start coding.
#6. Talk Out Loud and Explain What You’re Doing (and Why)
Your interviewers want to see how you think just as much as how you solve the problems. And the easiest way to share that insight is to explain out loud how you’re solving the problem. But it’s not just about what you’re doing—it’s also the why. You might be surprised to find that by doing so, your interviewers are likely to give some hints or tips to nudge you along the right path. Which leads to the next tip…
#7. Collaborate with Your Interviewers
It may feel inappropriate to ask your interviewers for feedback or to contribute to your code, but when done in the spirit of teamwork and collaboration, you’re actually demonstrating a critical job skill required for any tech job: the ability to work well with others.
#8. Don’t Sweat the Small Stuff
Here’s the tough truth: you’re going to mess up. No one is perfect, and given the pressures of the environment, it’s not likely you’ll dot all your “i’s” and cross all your “t’s.” But when your interviewer points out those small errors, the worst thing you can do is freak out and get nervous. Keep your eye on the prize and know that small mistakes are (almost always) acceptable.
After the Interview
#9. Always Ask for Feedback
Most on-site technical interviews will be back-to-back with other interviews, so you may not have time to get thorough feedback in the actual meeting. But make sure you get the email addresses of all your interviewers and send a note asking for feedback on your code.
#10. Learn from Your Mistakes
Once you get that feedback, be sure to fix the problems and improve for the future. That might be your next interview with another company, or in your new job with the employer of your dreams. In either case, turn your technical interview into a learning process.
And one bonus tip…