How to go from ZERO to PASSING a coding interview (at Google, Facebook, Uber)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
it's insanely hard to get perfectly centered on this wall I'm doing my best what stands between a developer and the job is the interview an infamous gateway and double-edged sword why a double-edged sword if you could pass the interview you don't even need a college degree to work at companies like Google on the other hand this means the interview is very difficult if you're trying to pass an interview without formal training it might be one of the hardest things you do but there are two kinds of difficult the first is difficult because of chance if you want to be a musician or a movie star there's only so much that's in your control getting into a tech company though is the second kind of difficult the kind you can control you can learn coding interview problems just like anything else the interview is just like passing a test at school you don't know exactly what's going to be on the test but if you study the concepts enough eventually you will know enough to pass so the question is how and what do you study to pass that test well the bread and butter of big tech company interviews are toy problems these are logic based challenges you'll have to solve by writing some code you'll get one of these questions for a phone screen and then several more when you go on site you might hear these thrown around as whiteboarding because you often have to solve them on whiteboards when you're in person so in this video I'm gonna give you a four stage plan to go from zero to being proficient enough at these problems to pass tech company interviews as we go I'll give you a framework to actually learn and get good at these problems because getting good at them is pretty hard this guide will probably be overkill if you want a standard web developer job but if you want to blow your interviewer away or if you want a super legit developer job this is what you need to do before we start I will give you a warning if you focus only on toy problems and nothing else you're gonna hate your life and for this reason I would say do a few these problems per day while following your normal programming routine that is building projects continuing to learn your language of choice and so on anyway let's dive into that five stage plan for passing any programming interview stage zero is to learn the fundamentals of the language of your choice it doesn't really matter where you go for this stage because there's so many resources to learn the basics online I'd recommend a udemy basics course but I've heard good things about Codecademy free code camp college classes you can find online it like I said doesn't really matter once you're getting a hold of the basics you can already start on toy problems which will help you reinforce what you're learning and actually produce instead of just watching the course if you're watching this channel I'm assuming you've already started this stage or at least have an idea of how to do it okay Stage one the first real stage is a site called code Wars this is a totally free toy problem website with pretty easy questions you can get started with toy problem websites of which there are many give you a question like reverse the characters and a string and then you have a text box where you type your code which would be a function and the site will run a bunch of tests on your code to make sure it works in code words start with the questions labeled 8th kyu these are the easiest and the lower number you get the harder it gets there of course still not gonna be easy at all but that's the point and that's how you learn now and this part is really important here's a framework on how to get good when you're trying to do toy problems in general I found toy problems are most efficiently learned by working backwards that is looking at the answer seeing how other people did it and then deconstructing that to understand it in your own way people don't talk about this too much but for a very long time you're just gonna have to see how other people do the problems until you see the patterns unfortunately unless you come from some sort of a math background you don't have the logical foundation to figure these out from scratch so you have to go with the top-down approach which is just looking at the answer this leads to what I call the surrender method as rule of thumb look at the answer and if you're totally stuck or you're having made progress for 15 minutes then go and look at the answer give up looking at the answer we think of as failing but being stuck on a problem does not help you learn anything and in fact it's kind of a waste of time later whether in a few hours or a few days to have come back and re attempt this problem since you saw the answer before you'll try to remember it and this is actually a good thing it's a memory technique called recall thinking back to something you previously saw will help you remember it better in the future this helps us ingrained concepts and retrieve them when necessary anyway getting good at code wars should not be too bad keep going till you stuck comfortable with the eight and seven questions maybe you can do a six kyu or two ok stage to do a udemy interview bootcamp I'm saying praises for you to me before and continue to it's a micro course format which I love but you just have to be careful that you're not only observing the course and you're doing it as well I know you're not ready to interview at this point but doing a toy problem bootcamp and hearing someone to explain these kind of problems is super helpful people have asked me to make some sort of an interview prep course I haven't gotten around to it yet but until I do I highly recommend Steven Grider's JavaScript interview bootcamp which has toy problems and really good explanations I'll leave a link for that in the description this is one of the few unity courses I actually did twice once early on in my development journey and then again right before I interviewed to just remember a few of these common toy problems if you're doing Python or another language I'm sure there are a ton of similar courses which are just interview prep courses on udemy which should be around ten dollars just find one that works for you hearing people explain how these work out loud in their own way and then translating that to have you understand it is a really good exercise stage 3 at this point you should be getting pretty good at basic toy problems so you're gonna want to buy a programming interview book this is when you start learning the real stuff data structures and algorithms for this I recommend cracking the coding interview which I believe is in a variety of languages another popular one is called elements of programming interviews whether you buy the physical version or find a PDF version online is up to you again and you'll notice a trend here every time you move on to a stage you'll feel really dumb this was the stage I probably felt the dumbest because I don't think I could do a single question in the cracking the coding interview book until I looked at the answers several times just want to say that because this stage is at a lot higher level than code wars and you're finally getting into real interview questions the questions towards the end of every chapter you can just totally skip because they're for higher level programmers anyway and as an entry level software developer you won't even need that level of question so I'd say go through around the first half of every chapters questions keep using the surrender method and you'll start to see more and more of the patterns between these problems Stage four final stages lead code a different toy problem website if you've made it this far congrats hopefully you've been building project this whole time because you're almost ready to interview leak code is probably the most popular toy problem website and the level of questions will be similar to cracking the coding interview leak code do the questions labeled easy they're not easy by the way in the categories string and arrays data structures and algorithms primarily keep using the Surrender method of course the nice thing about lead code is it has a great interface and you can track how many problems you've completed so you have that sense of progress at this point I would strongly recommend changing how you approach these problems though think of these toy problems as a dress rehearsal for real interviews and take them seriously many interviewers do also pull questions directly from leaked code by doing this we're trying to make the toy problem solving process second nature for you if you can get it down to a routine you can free up a lot of brainpower to focus on the actual problem so to do this follow this very specific routine you're gonna want a piece of paper and a pencil first write down AI Oh II a input/output edge cases and assumptions try to fill in next to each letter what you think the expected values would be and for assumptions assumptions or things you'd want to agree on with your interviewer just so they don't throw any unexpected inputs I at you and they kind of limit the scope of the problem once you've got that then you're gonna want to use diagrams and draw the problem out the way you understand it for example if you're reversing the characters and the string maybe you'll draw out what's happening on each iteration of a loop then write some pseudocode on your paper which is close to what you'd actually write in code but maybe not the exact syntax finally you're ready to actually write your code into the answer box give it a try it probably won't work the first time but at least you've gone through the process which will again carry you through to the actual interview another useful trick is to explain the process to yourself as you're going because interviewers want you to do this when you're there in person and communicating is actually equally as important as getting the problem right okay so now the million dollar question how many leak code problems do you do before you're ready for an interview instead of giving you the generic oh there's no right or wrong answer I'm gonna say 50 if they're in the right categories the right categories being arraigned string manipulation data structures and algorithms once you get to 50 you're gonna be in a pretty good place apart from these 50 toy problems are a few essential algorithms every entry-level programmer should know and I'm gonna release these in the next video so make sure you subscribe and don't miss those also ding the Bell so you're around to check it out so those are all five stages 0 to 4 because we're counting like programmers each one will have you feeling like a complete beginner again when you start it and that's a good thing that's how you know you're learning and you've reached the next level don't worry I felt as dumb as you did when I started each stage but I promise it will get better if you just put the hours in every day thanks for your likes comments and whatnot guys the channel size has doubled since last month let's keep it going and keep learning see you soon
Info
Channel: Aaron Jack
Views: 95,621
Rating: undefined out of 5
Keywords: programming, web development, javascript, react, learn programming, learn to code, coding, software development, become a software developer, s0ftware developer, coding interview, programming interview
Id: J330GEr4sJ0
Channel Id: undefined
Length: 10min 6sec (606 seconds)
Published: Thu Sep 12 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.