Tech Interview[/caption] Being well-prepared for an interview can make or break your chance at actually landing the job. That’s especially true in tech, where a hiring manager can quickly (and sometimes unexpectedly) subject you to a complex whiteboard examination. If you're prepping for a technical interview, here are some resources that can boost your confidence and refine your thinking.
No, not all of GitHub – just one repo! While it’s nowhere near a compendium that applies to every interview scenario, “Interview Cheatsheet” nonetheless hammers home some key things to consider before you walk into your interview. While it was written with “algorithmic interviews” in mind, it’s applicable to a wide variety of tech interview scenarios. If you want a bit more in-depth thinking, an accompanying “Preparing for a Coding Interview” repo offers some ideas on the nuances of coding interviews. Both are worth a read, but the cheatsheet is a good one to bookmark for whenever the last-minute jitters hit.
Read a Book!
How to Win the Coding Interview, by Bill Sourour, is a really good resource. While there are plenty of others offering solid interview advice, this one is a diamond in the rough. The book is especially good for those who haven’t been on many (or any) tech interviews. It divvies the process up into easily understandable and digestible chunks of information. More importantly, it digs into whiteboard interviews, and has great advice on what to do when you get stumped. There’s also some opinion about what interviewers are looking for. While that sort of commentary is obviously subjective, it’s still a bit of insight into the thinking of those evaluating you, and that's always handy.
Know Your Code
A technical interview is a test. While each one is different, you should take some time to brush up on the basics. By reviewing some basic concepts of your favorite language(s), you're less likely to freeze under pressure, especially if the hiring manager attempts to put you on the spot. For example, Java devs may want to revisit Java: A Beginner's Guide. Python Programming: An Introduction to Computer Science is another great read. If you're on the forefront of iOS development, Apple's Swift documentation is about as boilerplate as it gets. At some point, you may also end up interviewing for a very niche discipline. In those circumstances, your interviewers may have designs on stumping you. Even if you can't give them the answer to a particularly difficult question, though, your demonstration of basic concepts will at least show that you're capable of landing on the right path. That will speak volumes about your aptitude.
The Interview Can Be Tough
There’s no need to mince words: technical interviews suck, and whiteboard interviews are the worst. While we’re going to offer up more than one reading option here, these three articles are all worth a read:
- Rethinking the Technical Interview
- My First Technical Interview
- Real Talk: The Technical Interview Is Broken
These articles are good reminders that the entire wheel should be smashed, because technical interviews are terrible. Some companies are changing things up, but this evolution is still long and drawn-out. Recognizing that many of the difficulties of the test aren't an actual reflection on your abilities can be helpful when you're sweating bullets in the interview room.
Is that a shameless plug? Yes – but also no. Dice has a ton of content geared specifically for job seekers as well as professional developers and engineers, so there’s bound to be something relevant for you. As interviews go, we’d suggest our take on why whiteboard interviews are the worst, or nailing the psychological angles in an interview. There’s also a good article on how some companies interview for culture, and a must-read on why you should never assume the job is yours for the taking.