Surviving the Technical Interview
Coding interviews are scary, especially in the age of LLMs, where cheating has spiked and interviewers are implicitly sus of every movement you make. I wanted to write about my experience with coding interviews. Am I really qualified to write about this? Well, obviously not, my success ratio isn’t great. But I’ve got some experience under my belt (13 coding interviews so far in my relatively short career), and I wanted to jot down what actually works for me.
Preparation
Figure it out. The technical prep you need varies drastically by level and company, and I have no interest in covering that here.
The preparation I do want to talk about is mental. What do you do on interview day when everything you learned suddenly feels obsolete, and your brain just goes, “Fuck, what do I do?”
Performing Under Pressure
This is probably easy for you if the interview is low-stakes, you don’t really want the job, or you’re the NeetCode guy.
What I struggle with more than the technical part is staying calm. I easily enter panic mode no matter how solid my technical prep is. The goal is to remain composed and be in top mental shape to perform. Here are the essentials I focus on to give it my best shot:
1. Allocate Prep Time and Be Ready
Make sure you have ample time before the interview to prepare not just your environment, but your mind. Block out the time. Even if you think you have nothing to do, you’ll find something that gets you better prepared. I keep a two-hour buffer minimum. (If it’s an in-person interview, don’t show up two hours early—that’s just weird. I’ll focus on remote interviews here since they make up the majority of my experience.)
You never know when your webcam will decide to stop working, your headphones will refuse to connect to Google Meet or Zoom, or your Wi-Fi will ghost you. Ensuring your setup is dialed in and familiarizing yourself with the tools you’ll use will definitely help keep you grounded.
Drink enough water. Even a 1% drop in hydration is linked to measurable declines in cognitive performance, mood, and mental clarity. Just time your hydration properly so you aren’t fighting a full bladder mid-interview—that will absolutely wreck your focus. Keep a water bottle nearby. You’ll definitely need it, and taking a sip is a great silence filler when you need a second to think.
2. Clear Your Mind
I like to meditate beforehand. It clears my head, at least for a bit. What I’ve also found incredibly helpful (courtesy of my sister) is journaling. Jot down what you’re feeling and get it out of your head. It’s a powerful practice—putting worries on paper or a screen gives you a sense of peace. Plus, if you’re having crazy, fictional anxieties about worst-case scenarios, seeing them written down makes them seem a lot less believable. I highly advocate for both meditation and journaling. If you catch yourself stressing out, try the physiological sigh. It’s scientifically shown to immediately reduce anxiety by activating the parasympathetic nervous system.
3. Remember
Whether you prepared or not, if you skipped DP cause it was hard, you had 2 hours of sleep, you didn’t have time to meditate or journal, and you have your interview in 10 minutes—doesn’t matter. It’s not going to help worrying about how unprepared or unqualified you feel for this interview, or what you could’ve done better. It’s all done and in the past, right now, all you can do is, make the best use of the ability you currently have.
“Do what you can, with what you have, where you are.”
You can’t control if the interviewer is going to be on time or 20 minutes late, if you control the question he/she is going to ask, you can’t control the mood of the interviewer, you can’t control the difficulty of the problem, you can’t control your network, or even your mic not working, or the interviewer not showing up. All you can control is how you respond to these situations. You can either panic and crumble, or acknowledge that things can go wrong and accept whatever the situation is. You’ve got to be calm no matter what happens.
4. It’s Show Time
Make sure you’ve prepared a good introduction that clearly represents you. Give them a smile to show them you’re human. I liked the excerpt from “Cracking the Coding Interview” on this, so I’ll use parts of that here.
REMEMBER: Interviews are supposed to be difficult. If you don’t get any answer immediately, that’s okay! That’s the normal experience, and it’s not bad.
You’re not an LLM that spits out the optimal solution in one prompt, you are bound to make mistakes, miss things, get stuck, give suboptimal solutions—it’s normal.
During problem solving:
- LISTEN CAREFULLY — Make sure you heard it correctly, and ask questions if you don’t understand any part of it. Record unique information about the problem. While solving, ask yourself if you’ve used all the information in the problem. If possible, write down key points as comments so you don’t forget during implementation.
- RUN THROUGH EXAMPLE — Either the existing one or create your own that tries to cover a broader range of test cases.
- BRUTE FORCE — State a brute force solution even if it’s obvious, so that the interviewer knows you’re at least capable of coming up with the brute force approach. Explain space and time complexity.
- OPTIMISE — Steps:
- Look for unused information in the problem.
- Try using a fresh example—might give you a fresh view.
- Think about best conceivable runtime.
- WALKTHROUGH — Walkthrough the algorithm, solidify the implementation details. This is crucial as the clearer you are here, the smoother the implementation.
- IMPLEMENT — Write beautiful code to showcase your ability. Write modularised code.
- TEST — Mentally compile and run the code once on an input, identify flaws, fix the root cause and not the immediate fix, look at the issue at a deeper level.
Hopefully, you’ve managed to do your best (that’s all you can ask for). To leave a strong impression, ask a good question at the end. Prepared questions are great, but if something genuinely interesting came up during the chat, ask about that.
Once it’s over, hope for the best, prepare for the worst, and move on to the next one.