You completed your education
You built a well-designed portfolio
You submitted a job application, and
You passed the technical recruiter screen.
Now you’re in a position where the rubber meets the road – you must prove that you can actually do the work. This is called the Technical Interview.
The technical interview can take a variety of formats, so to be successful your first step is to ask the recruiter what type of interview to expect as your approach will be different for each.
What Are the Different
Technical Interview Types?
1. The Quiz
Do you like trivia games? How about one where your future is on the line?
This style of interview is typically driven by a series of in-depth questions about the primary programming language you’re expected to know. For example,
- Node.js? How does the Event Loop work?
- React.js? What is the difference between Flux and Redux?
- Unity? What is a Vertex Shader vs a Pixel Shader?
How to Win
If you’re self-taught or bootcamp-educated, most likely your education is practical, with little focus on the theory behind it all. Even the official documentation is typically very surface level, so coding experience alone will not get you far here.
There are two approaches to counter this:
The Best Way: Read a book
The intenet is great for many things, but it is not great for gaining an in-depth understanding of how a system operates. Ask your instructors, your network, and Google for recommended treatise on your chosen language and develop a habit of reading a few pages every day. Here are a few great books to start with, regardless of your programming language.
The Easy Way: Google the Answers
Remember, the hiring manager is not dedicated to this job search! They have a full-time job managing a team and putting out fires all day. They are exhausted. So many of them, prior to your interview, will themselves Google, “Top 10 Interview Questions for X” and just read off that list
This makes your interview like an open book test! You can do that same Google search before the interview and prepare answers for the top questions.
2. The Coding Challenge
This is where a company prepares a simple coding exercise that reflects the day-to-day responsibilities of the role you’re applying to. These are mock scenarios where you’ll typically have access to some web-based IDE that you can use to solve the issue.
- Given a small code base, fix a known bug
- Given a small code base, add a small feature
How to Win
This is the simplest of all the technical interviews as your normal coding routine alone is all you need to prepare for this. Show them what you got!
3. The Data Structures & Algorithms (DSA) Challenge
This is the traditional coding exercise popularized by large tech companies. This is where you’re given some coding riddle that you must solve, and you’re evaluated against the time and space complexity of your implementation.
- Reverse a string
- Remove duplicates from an array
How to Win
Before your interview, invest in a paid service like AlgoCademy to provide structure to your DSA practice or work your way through Leetcode’s free Top Interview Questions (Easy only). Either way, practice does not mean merely memorizing answers but actually researching and understanding the solution.
During the interview, the key is to not let the problem in front of you distract you from the purpose of the interview. That is, showing the hiring manager how you think!
Ask questions at the beginning to clarify requirements
(This shows that you handle ambiguity well)
Think through edge cases and confirm their results
(This shows you’re organized and detail-oriented)
Write tests to assert the expected results of those cases
(This shows you’re quality-driven)
And while you do this, describe your reasoning out-loud
(This shows you’re a good communicator)
All these steps take some time, but don’t worry! Many interviewees never even finish the challenge but still get offers due to how well they demonstrated their thought process throughout the discussion.
4. The Take-Home Assessment
This is where a company gives you a prompt and asks you to independently develop a solution that meets its requirements. Most companies will give you a week to complete the assignment and ask you to timebox your work to a few hours.
- Node.js? Build a simple CRUD API
- React.js? Build a simple web form
- Unity? Build a simple game mechanic
How to Win
Most candidates will merely meet the minimum requirements or limit themselves to the originally suggested timebox. Don’t be like them! If done right, the take-home assessment is an incredible opportunity for you to easily outshine the competition.
- Make it easy to run (ex: Docker, README steps, etc.)
- Write some documentation that describes your solution
- Make it pretty! Buy some digital assets if necessary (ex: Fiverr)
- Spend 2x-3x the suggested time (add tests, more features, etc.)
- Any extra effort you put in here will pay huge dividends. Better to put in the effort here when you have an actual job on the line vs. continuing to iterate on your portfolio, with no job in sight.
Regardless of the interview approach, you need to start preparing now. Learning technical theory or data structures & algorithms is not something you can cram before a single interview. The good news is that any investment you make in these areas, even if it’s not ultimately used in an interview, will make you a better developer overall.