How I Would Prepare For Coding Interviews (if I could do it all over again)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey what's up everybody my name is chris and for those of you new here i've worked at six different companies as a software engineer from small startups to large companies like facebook and google and i want to share with you how i prepared for my coding interviews and what i would do differently today i started off my computer science degree without any knowledge about coding the only reason i went into computer science was for the money i remember back in my first year of university i knew that coding interviews were these word problems that you had to solve within 45 minutes but the thing was i didn't know how to solve them i still remember my first ever coding interview was with this company called palantir back in 2015 they were one of the hottest unicorns at the time and they supposedly had the hardest interview questions i only got that interview because i applied on their website and as soon as you apply on their website they send out a coding assessment to every single person luckily for me in my assessment there are three super easy coding questions and even then it took me a full two hours to solve i think it's probably because my mom dropped me as a baby i somehow passed that online coding assessment and then i went on to just bomb the interview but despite this failure i discovered online coding platforms the online assessment they sent to me was on this website called hackerrank so right after the interview i went on to hack a rank and tried to solve the exact same question the interviewer asked me but even then i still couldn't solve the question even in my own time because that was a medium level problem and i had yet to even learn any of the basics i only knew two programming languages at the time this weird language called racket and c that's because those were the two programming languages i learned in my first year of university here's my first big mistake i started practicing coding interview questions in c if you're a beginner absolutely don't do that you're setting yourself up for failure i highly recommend learning a language like python instead where the syntax is easy to write and in an interview you can focus more on the logic of the solution rather than thinking about the syntax of the programming language if i were to go back i would first spend some time learning the fundamentals of data structures and algorithms rather than jumping into coding interview questions right away i would go over data structures like arrays linked lists hash maps queues stacks trees and graphs i would understand algorithms like breadth first search that first search and understand concepts like recursion really well before even diving into my first ever coding interview question then i would take those concepts i've learned and apply them to easy problems only and there's a strong reason for doing that by the way if you're starting off your programming interview journey check out my website suitecareers.com i made educational animated videos on the most common data structures and algorithms in interviews and i have a structured plan to go along with each topic there's also 200 plus kodi interview questions for you to practice and it's available in six different programming languages use the code yt for a 10 discount back to what i was saying you should initially focus on easy problems only so you don't get overwhelmed by the difficulty of harder problems by going through this process you'll build up your own confidence and familiarize yourself with your programming language of choice you'll also really understand the standard library in your programming language of choice and you'll be able to use it much more effectively in more difficult problems later on in the beginning you'll probably spend more than one hour solving just one coding interview question no matter how easy it is but that's normal i had to go through that and most other people had to go through that but with more repetition you do you'll just get faster and faster but initially you shouldn't spend too much time on just one coding interview question back when i was preparing for my coding interviews as a first year computer science student i would spend more than three hours on one question get stuck and make zero progress but that was just a waste of time you should try to optimize your time by following this one rule if you can't solve a question within the first 30 minutes then just give up look at the solution and understand the logic behind the solution then implement that logic in code yourself if you still can't implement it in code yourself within another 30 minutes go look at the code solution and understand why the code was written that way this is the most optimal way to solve coding interview questions otherwise you're going to just be sitting there banging your head on the hardest problems without the slightest clue on how to solve it you just sit there waste a lot of time and think you'll probably need to go to a mental hospital that was how i felt back in the day okay so now that you've done all this practice how should you know when you're ready to interview your goal should be to solve a question in under 20 minutes from the moment you read a question prompt to coming up with a fully working optimal code solution if you're able to do that consistently then you're ready to interview last but not least if i were to do it all over again i would follow a really strict schedule three months in advance before i even applied to a single job i would aim to solve two to three coding interview questions per day that would be a two to three hour time commitment but it would be totally worth it because by the time i start applying to jobs i'll have already solved 180 coding interview questions and once you've completed your three month plan and you start applying to jobs and actually start interviewing you can reduce the number of practice problems you do per day to just one that way you can maintain your skills and stay fresh while you're applying to jobs and doing interviews actively you can think of the whole process like the workout routine of an athlete in the off season you train really really hard to get better at your craft and by the time the season starts or when the interviews start you keep practicing so you maintain those skills so here's a quick summary first learn an easy programming language like python learn the standard library and understand the syntax really really well then cover the fundamentals of data structures and algorithms and practice coding interview questions topic by topic start with the easiest ones and slowly move your way up to the medium ones and the hard ones optimize your time if you can't solve a coding interview problem within the first 30 minutes give up look at the solution understand the logic behind the solution and then try again follow a well-structured plan three months in advance before you even apply to a single job and aim to solve 180 problems within that time frame good luck studying everyone i hope everybody can get their dream job if you enjoyed this video give it a huge like and also subscribe to my channel for more software engineering videos and memes peace out
Info
Channel: Chris Chang
Views: 91,736
Rating: undefined out of 5
Keywords: how to pass the coding interview, software engineering, computer science, faang software engineer, google software engineer, facebook software engineer, chris chang, software engineer, software developer, cracking the coding interview, leetcode, hackerrank, codeforces, how to solve leetcode questions, how to solve programming questions, how to ace your coding interview, algoexpert, computer science major, day in the life of a software engineer, faang, microsoft software engineer
Id: htT1bhFSNxo
Channel Id: undefined
Length: 6min 22sec (382 seconds)
Published: Thu May 06 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.