Preparing For A Coding Interview: My Best Tips!
In this video, I'll share my best tips for nailing and succeeding at a coding interview. After all, you should definitely prepare for a coding interview if you're serious about getting a programming job.
I've struggled for a long time with coding interviews. There was a time when I completely BOMBED a Microsoft programming job interview. After that, I decided I needed to make this change in my career.
Since then, I've started to study the science behind coding interviews. I was able to pick up and identify the patterns that exist in every single coding interview and after I understood how technical interviews work I was able to succeed at it.
In today's video, I'll share my best coding interview tips that will help you succeed in getting your next programming job.
Transcript Of The Video
John Sonmez: Do you need to know how to pass a coding interview? In this video I'm gonna be giving you some of my best coding interview tips. So make sure you stay tuned to the end, because at the end I'm gonna have a wrap-up of what I think is one of the best piece of advice that I can give you as far as passing a coding interview.
What's up? My name is John Sonmez and I am the founder of simpleprogrammer.com, and today we're gonna be talking about coding interviews. In fact, leave a comment below right and tell me if you've ever had a problem with a coding interview where you've failed a coding interview or some kind of embarrassing story. I've certainly had my share of them. I got into Microsoft. I had Microsoft fly me out, and I didn't even make it through half the day 'cause I really didn't know what I was doing. I shouldn't have been there. I wasn't ready for the coding interview, and I just bombed out horribly. It was just a very embarrassing experience. Not something that I'd wanna repeat. But, you know what, I learned from that.
What I'm gonna share with you today is some of the things that I learned from that. Because I actually went from being very bad at coding interviews to being very, very good. But I'm gonna give you some tips here that are gonna help you, first of all, to pass a coding interview.
The very first thing that you need to know about passing a coding interview is that it is going to be a series of algorithms, okay, and data structures. Most of the coding interview, like the questions that they're gonna ask you, those hard questions, are gonna be those. There's a finite number of them. So there's actually a resource that I'm gonna recommend to you that's gonna help you with that, and that is Interview Cake, okay. I put the link here. Click on the card and make sure you do it. Go check them out for sure. You're gonna want this, trust me. This is the best resource there is. There's also a Linkedin description. So you're gonna want to go check that out because they're gonna help you to pass those interview questions.
‘Cause here's the thing, and this is the big tip here. There's only a finite number of data structures and algorithms and combinations of them. And so even though it might seem overwhelming, like there's all kinds of questions they could ask you about how to sort a string or how to reverse a string, and how to find which order that node should be visited in a tree and all kinds of stuff like that. Or how to create a stack and what happens, can you write an algorithm to insert into a linked list. All of these things are variations of just a few combinations of things. And there is a decent amount of these things, but once you know them, okay, you can answer any question.
And I can tell you from experience, I became really good at a site called Top Coder where they did these kind of coding interview type of algorithm type of questions and I really sucked at it at first. But after studying and after becoming good at this, I realized that every single problem, the very first thing I do when I saw the problem is figure out what type of problem it is and I already know how to solve that type of problem. I just have to take the variables and what kind of variation of this is on this exact type of problem, and bam! You start to get fast at this stuff. So that is tip number one. Which is study the finite number of data structures and algorithms.
Second tip I'm gonna give you here. Okay, this one's important as well. Practice. There's nothing worse than getting up and having to write something on the whiteboard or being in a coding interview where they asking you to code up something and you know the information, but you're nervous. So you fail. If you actually practice on the medium that you're gonna be tested on, it's gonna help you a lot. Trust me.
So what does this mean? In practical sense, it means that you're actually not just studying these problems, but actually doing the problems. But it also means that you're doing them under pressure and you're asking someone to test you. So if you're gonna have to code on a whiteboard, have someone do a mock interview with you and give you some coding questions and have them time you and have them do it on the whiteboard and act like an interviewer.
I know this seems kind of silly. I know it seems like something you could brush over or not really do, but if you invest the time and do that, that is gonna make you better. Because you're gonna perform under that pressure, okay. You need to do these kind of mock interviews. You need to actually practice this stuff so that when you're under pressure, you can do it.
One of the big secrets in life is that if you do things enough in a simulated environment that's as close to the real thing as possible, when you're actually under pressure, you're gonna perform a lot better. This is what is key. This is why a lot of famous athletes, they have a process that they follow. They do mental rehearsals. They go through this process so that when they get up there on the stage, when they get up there and have to perform for that Olympic medal, they've already done this so many times it's routine. And so they don't have this element of newness attached to the pressure that's already there, and they're able to perform at their best. So that's tip number two.
Tip number three is this: if you don't know something, don't try and fake it. Don't try and BS it, okay. Ask intelligent questions in order to get an answer in order to learn. One of the things that interviewers, and I know this because I've been on the other end interviewing people, one of the things that interviewers are looking for. In fact, I think that I saw an article where someone from Google that was an interviewer was specifically saying this, is that we don't expect people to get all of these problems right, but we care about their process. How they solve the problems. How they think about that. And what kind of questions that they ask.
So part of this, and I'll kind of combine this into tip, we'll just go right into tip number four 'cause they go together, is think out loud. Writing something on the whiteboard is great, and if you solve the problem, great. But if you mess up, what's gonna count more than just getting the problem right, and even if you get it right, is the process that you go through. The thought process you go through to solve the problem. That is what is going to determine whether or not an interviewer knows that you're a competent, analytical person and who is good engineer that they wanna have on their team.
They don't want somebody who just memorized the answers. They want someone who is analytical, can break down problems and thinks about them and is able to solve problems in a systematic way. Has a good thought process for discovering the answers to things. If you just memorize a bunch of problems, it's good. It's gonna help you. But what's more important is that you understand things and that you have the ability to take a problem that you've never seen before, to break it down, to analyze it. To say okay, well, this looks like this problem and this parts and describing step by step.
So those are the big tips that I have for you. There's obviously more. And like I said, the big thing that I'm gonna recommend that you do that's gonna help you, if you're looking for help with coding interview, trust me, I've been on the side of this. I know the founders of this company, Interview Cake, and I've gone through the program myself and it is stellar. It's definitely something stellar. It is an affiliate link. I'll tell you, go ahead and click that card there because I believe in what they're producing. It's effective. So many people have utilized it and have told me how effective it is.
That's why I think Interview Cake is probably a better resource because it's interactive and it coaches you through them. It's not cheap. It's definitely has a price tag attached to it as opposed to just a book, but it's gonna help you a lot more.
That's my biggest number one tip that you don't wanna miss, is get some help. Get some help doing this. And if you know someone that can coach you or train you, that's great. But using another resource like Interview Cake is gonna be key. If you're just trying to learn this on your own, you're just trying to pick up books on data structures and algorithms, yeah, you're gonna learn the stuff, but it's gonna be much harder. If you have someone that is coaching you, that is taking you step by step through this process, that's telling you what you're doing wrong and helping you to grow faster, like Interview Cake does, that is gonna be a huge, huge benefit for you.
All right guys, remember to leave that comment down below to let me know if you've had trouble with the coding interview. I wanna hear you're horror stories. And if you haven't already clicked that subscribe button down below and subscribe to Simple Programmer, go check out our website. I think you're gonna love the content that we have here because it's gonna help you become not just a better developer but a better person. Better human being. And just a better life. That's always been the mission of Simple Programmer and it continues to be that mission. Click that bell and let me know that you are a true believer. I'll talk to you next time. Take care.