Full-Stack Developers, Here’s How to Ace Your Technical Interview
For most full-stack software developers, technical interviews are one of the last hurdles before receiving a job offer.
Each step in the hiring process has a particular purpose: Phone screens are about identifying general fit. Behavioral interviews ensure you have a baseline of interpersonal skills. Reference checks reveal how you’ve dealt with stress, disagreements, and teamwork. And technical interviews evaluate how well your programming skills address the company’s needs and the role’s responsibilities.
Neal Shyam states that a technical interview may appear daunting, but ultimately, it’s a test of your problem solving skills. And that’s something you can practice and prepare for. Some of the tips he provides as below:
1. First, The Basics
Neal comes with the premise that no matter what your interviewer asks you, the plan should be the same: Understand the problem, formulate a solution, explain it, and execute it. In other words, he suggests that the best way to prep for your interview is to be a good engineer.
He suggests refreshing the coding skills by completing HackerRank’s Interview Prep Kit or LeetCode’s top Interview Questions, or picking up a copy of Cracking the Coding Interview: 150 Programming Interview Questions and Solutions along with the solution manual
2. Live Coding Exercise
Neal states that this is the archetypal technical interview: Come in and write working code within 30 or 40 minutes. It’s effectively a pair programming exercise. Your interviewer may be in the room with you or join remotely via video chat. For added stress, you’re unlikely to have access to your ideal dev environment. You may be limited to a simplified Integrated Development Environment (IDE) or an unfamiliar laptop
As a tip Neal suggests if you’ve never written tests before, this is a great time to learn. Some of the resources he recommends Coding Dojo Katas or problems from the TDD Community of Practice.
3. Design Challenge
Neal indicates that you’ll have to design something—perhaps a messaging application—and will be given some broad boundary conditions (for example, make it web-based and text-only) and an initial prompt, like, “What kinds of data will you need to manage and how would you model it?” Based on your answer, your interviewer may gradually increase the scope and ask you to think about the interface, networking, and refactoring, leading you from simple concept to full-scale app.
Neal recommends to be prepared to adapt, because your temperament is being evaluated as much as your solution. “One of my biggest red flags is when someone sees their solution as the best and only solution,” says Matthew Gerrior, an engineering team lead at Bloomberg. “If you can’t take feedback or constructive criticism during an interview, you certainly aren’t going to take any on the job.”
So Neal concludes by saying that mentally refactoring projects will help you identify areas for improvement and alternate points of view. And talking through them out loud at home will help prepare you to do the same with an interviewer.
Finally identify which type of challenge you’re dealing with, do your homework, walk in with confidence, apply what you’ve learned and prepared for, and walk out knowing you did your best!