The prospect of a technical interview can be nerve-wracking whether you’re a coding school grad seeking your first programming job or you’re on old pro changing companies. Technical interviews require you to solve problems and collaborate with other developers on the spot—which can be scary, but can also be a great opportunity to show your skills, even if you don’t have a traditional CS background.
The first step for preparing for your technical interview and being able to impress potential hiring managers is to know what exactly you’re walking into. So what can you expect? Having worked with hundreds of employers here at Flatiron School, we’ve seen many ways by which companies assess technical competency. Here are the types of tests you’re likely to come across in technical interviews:
This is the most traditional type of technical interview. You are asked to solve an algorithm question using a few low-tech tools: a marker and whiteboard. You’ll discuss your solution with your interviewer while writing out the code by hand. Interviewers want to see that you can code the solution and communicate effectively without your trusty computer.
Remember to be vocal throughout the interview. This isn’t a memorization test; it’s really a way for the interviewer to see your thought process.
This approach requires you to go off and build an app in a certain amount of time—a “take home” assignment. This will show you what a real-world assignment at the company might actually look like.
Tip: make sure you know the due date; if there’s no due date, assume it’s due within a week and communicate to the company when you intend to send it. If you really want to go above and beyond to impress the company, send two versions of the assignment: send the best version you can create by the due date. Then spend a few more days taking it further. What additional features can you add? How can you increase the complexity of the app or make it more attractive? You can be confident that sending the company this updated version of the coding challenge will show your dedication and make you stand out from other applicants.
This is an agile software development technique in which two programmers work together at one workstation or through screen-sharing. You’ll be able to view each other’s code on-screen and make edits in real-time. This type of exercisw shows how you work under pressure and how you collaborate in a team setting—super important qualities for a developer. The interviewer will be gauging how you solve problems, how you communicate, and how easy it is to work with you.
Again, be sure to be vocal about your thought process. If this feels unnatural, try practicing speaking through your process with friends or over video.
… a.k.a. a Q&A session in which the interviewer quizzes you on terminology related to the language the job requires. To do well, you’ll need to study up. In addition to reading technical books, an efficient way to find practice interview questions for this format is simply to google “Interview Questions <Language>”—“<Language>” being the you’ll be using for the job.
Certain employers test job applicants about computer science theory. While this type of trivia isn’t always the most applicable to the job at hand, it’s a way to assess whether you’ve been successful in your computer science education.
Many of these formats draw you out of your comfort zone; any of them can be frightening, even for confident programmers. Stay tuned for next week when we’ll delve into three ways you can nail the technical interview, regardless of the format.
If you’re interested in learning to code and finding a job in tech, head over to Learn.co to try our free Intro to Programming track.