Hello and welcome to the last post in my series, Acing the Interview! If you've already been following along, welcome back! Throughout this series, we have discussed topics like behavioral and technical questions, as well as design patterns, algorithms, and data structures. We also covered areas such as mock interviews and how to discuss your projects. If you are just joining us, I would highly recommend going back to the first post of this series and reading through it all to be prepared for your interview.
Today, we'll be going in depth on what to expect during the day of the interview, once again summarizing some examples from Cracking the Coding Interview1 with some of my own experiences and insight. If you have the time though, I would highly recommend purchasing the book and reading it through to be prepared for your next interview. We have a lot of information to cover so let's get started with our next topics: The Process and Why.
"Rule number one is, don’t sweat the small stuff. Rule number two is, it’s all small stuff."
Well, you made it! It's the day of your interview and you're panicking. Your nervous, anxious, probably a little queasy, and can't eat, right? I mean, it's understandable. Today's the biggest day of your life that's going to define who you are and who you will be for the rest of your time on this small rock in the vast cosmos, right? Wrong! Today's just another day, where you get to spend some time meeting new people, talk about yourself, and grab yourself a little treat after crushing that technical question.
While interviews can be intimidating, it's important to remember to stay calm, clear-headed, and eat a healthy, balanced meal. The interview process might be difficult, but, if you've read through the prior posts in this series, I hope that you're feeling confident in your skills and know what you will choose to talk about. That's right; never forget that you get to choose what you talk about, not the interviewer. They might try and throw twists and turns your way but remember that there's never a wrong way to talk about oneself. It's who you are and it's gotten you this far in life so it can't be wrong.
The interview process will likely start off with some friendly introductions and some small talk so that everyone can get comfortable, including the interviewer. From there, the discussion might change focus to your resume, where the interviewer will ask you some questions about your past experience, education, skills, etc. This will be a great time to get into some detailed discussions on the projects that you prepped to discuss. After the deep dive into your projects, the interviewer will likely shift the focus of discussion to the behavioral topics. Remember, this is where you get to talk about who you are as an individual and no one knows you better than yourself.
Be sure to answer those questions in the STAR format and don't worry if there are follow up questions for more information. Just answer them honestly and completely and you'll make the interviewer happy. After a quick discussion about you, the interviewer will be ready to steer this process towards the technical questions. You've had a big smile on your face up until this point. The interview has been great so far, answering the interviewer's questions with ease, laughing with them, and feeling spectacular. They start asking you to solve a technical problem that you've never seen before in all the questions you've practiced for the past several weeks.
The smile slowly fades and you feel the temperature of the room increase 10° as you start to wonder if you're interviewing for the right position. Imposter syndrome begins to set in and you're asking yourself why these questions are even asked, instead of focusing on what the interviewer is asking you. Stop right there and get those thoughts out of your head. This is your time to shine. It's your time to show the interviewer that you know how to dissect a problem, ask questions for clarification, and solve those problems. The practice you've been putting in for the past several weeks on technical questions hasn't been to know the answers to whatever questions you might be asked, but to have a process to follow for any technical question.
In fact, if you do get a question you already know the answer to, you should let the interviewer know. It might seem counterintuitive but you want to show the interviewer you know how to problem solve, not copy an optimal solution from memory. If you don't, they will likely find out as you write out the solution and you might as well walk out of the interview right then and there. On the other hand, telling them will be massive bonus points in your favor and show to the interviewer that your confident and a great cultural fit for the company. Just remember to follow the process laid out in my Technical Questions post and you'll show the interviewer that you're also a great technical fit for the company.
To better understand why these questions are asked in interviews, it's important to understand that the entire reason for the interview process is to better understand you as a person. They're trying to assess your communication skills, problem-solving skills, technical understanding, coding skills, experience, and cultural fit within the company, all within a tight window of an hour or two. It might be that you're a great candidate but don't do well on these types of questions, or you feel like you could look up the answer if it ever came up during your career. You might feel like you're never going to use a one-sided (meta) binary search tree and, if you did, you would easily be able to look it up. You might also be frustrated that they're having you write code on a whiteboard when you would obviously never be doing that in the real world. While these concerns are valid, you need to look at it from the company's perspective as well.
To a company, turning away good candidates because they didn't get the technical questions correct, while unfortunate, is acceptable to them. They would much rather have that happen then hire someone who does well in an interview but has no technical skill at all. Also, problem-solving skills are critical to a company. If you are not able to show these skills during the technical question portion of the interview, how are they to know you'll start displaying them during your career. Knowledge on basic data structures and algorithms are also incredibly useful. While you might not have to know about a meta binary search tree during your career, it's very difficult to decide if one should be used if you don't even know it's a thing.
Furthermore, while writing code on whiteboards can be frustrating, it lets you focus on what's most important; solving the problem. Almost everyone will have some bugs and/or syntax errors in their code when writing it on a whiteboard. It's more beneficial to focus on the meat of the problem and make sure you write out the correct code for the solution. The whiteboard will also help you present more on what you're writing, explaining your thought process as you go, which is exactly what the interviewer is looking for.
Never forget that you've spent the needed time to prepare for this interview and you're ready for whatever comes your way. All interviews are relative to the other individuals. The interviewer and company are trying to better understand you as a person and your capabilities, as they compare to other individuals that they have interviewed in the past. With that in mind, it's understandable that getting a hard question isn't necessarily a bad thing. It could be just as difficult for you as it was for others and does not make it any more likely that you'll get it wrong. Just stay calm and remember to have fun!
If you enjoyed the post, be sure to follow me so that you don't miss my next series, where I dive deep into what to do After the Interview! The links to my social media accounts can be found on my contact page. Please feel free to share any of your own experiences with the interviewing process, general questions and comments, or even other topics you would like me to write about. If this series of posts help you land that dream job of yours, be sure to let me know as well. Thank you and I look forward to hearing from you!👋
- McDowell, G. L. (2021). Cracking the coding interview: 189 programming questions and solutions. CareerCup, LLC.