How I Failed the Google Coding Interview (and lessons I learned)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone welcome back you might have seen my video recently about how i passed the google coding interview in that video i actually mentioned that about two years before the interview in late 2019 i also had a google on-site interview and that one i actually failed and was rejected so today i kind of wanted to tell my story about how in late 2019 i failed the google coding interview and the reason i'm doing that is honestly because i think you can learn a lot more from failures than you can from successes and a lot of the lessons that i learned from the failure i applied in my next interview about two years after that and i ultimately was successful and passed so i hope that you can kind of learn some of the lessons that i did as well so i'll start with how i got into the interview process it's pretty much the same story that i told before i pretty much just applied online i was actually a student during the time it was my senior year of college my resume was very unimpressive i think i had one internship experience but i had a good gpa i didn't really have any crazy projects or anything like that maybe i'll make a video in the future sharing kind of my resumes that i've had over the years but i really don't think i've had a very impressive resume at all i think google just kind of lets a lot of people into the interview process because they hire a lot of people but my interview process started with an online assessment this time and once you get into the interview process usually how it goes is you take an online assessment then you have like a phone interview which is usually a coding interview it's about like 45 minutes it's just one interview round and then if you do well enough then you can make it to the on-site interview which is the final interview but there's also usually like five rounds for our coding and one is a behavioral so the online assessment was the first part and i think they used this just to kind of weed out people who don't really know how to code because to be honest the online assessment was very easy compared to the actual on-site like this was kind of leak code easy territory and the funny thing about the online assessments are is usually the problems leak online because they only have so many questions that they can ask if they're sending out you know a hundred thousand online assessments to people you know there's not gonna be a lot of unique problems they're going to leak people are going to share them between each other you know i didn't really cheat because it was easy enough that i didn't need to but you know i found out later that wow the interview questions on the online assessment are literally you can find them online you can find the solutions online and i think google knows this but they still use online assessments just to weed out people who have no idea how to code and since the online assessment was easy enough i honestly didn't practice a ton so at that point i was pretty you know not super strong at the data structures and algorithms but i definitely knew how to do like easy and some medium questions but after that i ended up getting my on-site scheduled i think i scheduled it like a month or two after the online assessment just to give me some time to prepare usually they give you a lot of flexibility with how you want to schedule the interview you can schedule it like months and months out if you really want to prepare but i thought a couple months was probably good enough for me and then i really started preparing hard like i mentioned i was actually during school it was my senior year but i really didn't focus a ton on school at all i knew that getting a job is much more of a priority i spent the vast majority of my time just grinding leak code specifically what i did was actually the blind 75 list of questions and it was actually a relatively new list at the time the list actually came out in december 2018 i saw it on blind one day and this was during late 2019 so it was relatively unknown at the time like now i think everyone kind of knows what the blind 75 list is but at the time not many people did that's kind of what i used to practice so i went through all 75 questions many of them i did two times because they were really hard i had to look at the solution then would redo the problem without looking at the solution just to prove to myself that i could do it and then after the blind 75 list i kind of just practiced random leak code questions probably about 50 random questions mostly like medium some easies and you know a handful of hearts but i think mediums are really high value problems and at the time i feel like that was kind of enough leak code practice but now it seems like things have gotten even more competitive to be honest which is why i created neatcode.io which you know covers all 75 questions from the original list but i also created an extension of that list neat code 150 just kind of adding more beginner friendly problems but also more problems to make the list more comprehensive some of the problems on the list are really hard even if you look at the solution immediately it can take you hours and hours to even understand the solution problems like alien dictionary some dynamic programming questions so i made a video solution for literally every single problem in the list i think that kind of reduces the amount of time you need to spend studying before you can actually understand all the patterns because that's really what it's about just understanding every pattern that you could potentially be asked but overall i probably did about 125 questions many of them i did multiple times as i said before i had my on-site interview and my on-site was in seattle this was about a year before the pandemic so i flew out to seattle and it was a mostly good experience they pretty much give you a little tour of the office and kind of just tell you what it's like to work at google you get to eat lunch there for free they let you have any snacks or drinks or anything like that that you want and then you pretty much go into one little like a room like it's a meeting room and it usually has like a big white board so so you can kind of explain your thought process and you pretty much spend your entire day in that interview room other than when they're giving you a tour of the office and when you're eating lunch so you're pretty much gonna do five interviews in that room and this is the part that you probably came to this video for how i did in the interview rounds i learned a lot of lessons from these interview rounds so the first one i made a very critical mistake i think i had a very good foundation for data structures and algorithms and coding when i got to these interview rounds but a very critical mistake i'd made on the first question was misinterpreting the problem the interview explained the problem to me and i thought i understood it and then i immediately jumped in to my thought process i started whiteboarding the solution and the interviewer was just kind of nodding along and it felt like to me that they were agreeing with what i was saying but they didn't give a ton of input i didn't really ask them a ton of questions and i thought okay this is the solution to the problem and then immediately i started coding it up i did this very quickly so i thought i was doing really well but after i had coded up the solution i was running a test case which i know is something you're supposed to do once you've solved the problem you should run it on a couple test cases just by hand not necessarily running the code but just kind of walking through a couple test cases and i did that without the interviewer having to tell me to do that which is a good thing but after i did that i realized huh my code doesn't work and then i asked the interviewer is the written answer for that problem wrong like is the example that you gave me wrong and he said no and then i was like oh wait my code is wrong i reread the problem and then i saw that i misinterpreted the problem now the good thing is my misinterpretation was a really small error so i was actually able to fix my code by just changing i think one or two lines but i think this shows to the interviewer that hey you just jumped in without even understanding the problem that's a mistake that's not something you're supposed to do yes i came up with the correct code but i made a very critical mistake in software engineering you don't want to misinterpret the problem and i think this gave a bad signal for the interviewer after that there were a couple follow-ups which i think i did reasonably well on but like i said i made some communication mistakes by not kind of confirming with the interviewer before i started coding and i didn't understand the problem so that was the first coding round then i had the second coding round which i also made a mistake on but not as bad i think this question was a little bit easier and i think i did pretty well on it but i made some mistakes in my code i kind of over complicated the code even though i knew how to make the code more simple i still over complicated it because i thought that that was what the interviewer wanted me to do i won't give away the problem at all but i will say that there was some recursion involved with it and sometimes when there's recursion you can kind of use a global variable to simplify the recursion so that you don't have to like pass an extra variable in and that you don't have to return anything from the recursion but i thought that the interviewer didn't want me to use a global variable even though it simplified the code uh because i thought like hey that's kind of cheating like that'll be too easy for me to do that and after i had coded up the slightly more complicated way the interviewer you know kind of didn't even understand my code which wasn't entirely my fault they thought that there was a mistake in it and i walked through the code and then at the end after like a five minute discussion they were like oh actually there's not a mistake which wasn't my fault but i could have made the code more simple and that's exactly what they told me they said hey this part of the code is a bit peculiar and i agreed with them and i kind of told them yeah i know how to fix it but it felt like it was too late like they already you know maybe they had a bad impression of me i don't know but again i think that this could have been solved by communicating with the interviewer better i could have instead of just assuming something i could have just asked the interviewer like hey am i allowed to do this because i know this would make the code more simple and they probably would have said yeah go ahead and then i would have saved myself time because i wouldn't have had to come up with a more complicated solution and the interviewer would have been able to understand my code and we wouldn't have had to like waste time and we wouldn't have had to disagree you know that would have been a lot easier so these first two rounds really taught me the importance of communicating even though i think my coding skills were you know good enough so then i think i actually had lunch so i got to take a break i got to walk around the google campus it was pretty nice i actually just had like a small salad for lunch because i didn't want to have something that would like upset my stomach and i think that lunch was like 30 minutes 45 minutes and then we went back to the interview room where i had the rest of the three interview rounds the third round was a coding round this one i don't think i made any crazy mistakes to be honest i thought i did reasonably well i couldn't figure out the solution for five to ten minutes when i was given the problem i was kind of white boarding and kind of explaining to the interviewer like i'm kind of stuck here like i could try this i could try that and they were kind of nudging me towards one direction but i couldn't think of anything in that direction but i actually came up with a solution going in a slightly different direction which i think the interviewer was probably fine with to be honest because i think i did do a good job of communicating my thought process but at the same time you know maybe they were looking for a different solution and i couldn't come up with it so maybe i lost points for that i'm not really sure i'll probably never know like i think i was on the plane back and i kept thinking about that problem and then i was like oh that's the solution that's the solution that the interviewer was pointing me towards and it was actually more simple the solution that i came up with was definitely more complicated but i think it was about as efficient like both of the solutions were efficient but the one i came up with was over complicated and i can't really blame myself for that you know that wasn't really a communication mistake that was probably just a mistake of me not being able to come up with the intended solution and then i had the fourth round which was the last coding round and this was in some ways my worst round because actually i wasn't able to come up with the solution with the optimal solution at all i was just stuck discussing the problem for a long time with my interviewer i got very close to coming up with the solution but i was just missing like one little trick and at the end the interviewer had to tell me what the trick was and then i was like oh that makes so much sense and then i coded up the solution and then the interview around was pretty much over so i did code up the optimal solution but i couldn't figure it out by myself i did need the interviewer to give me a little bit of a hint i got very close though it was a pretty challenging problem i think but i thought my communication was actually pretty good this round it felt like the interviewer understood what i was you know talking about and i definitely understood their hint at the end when they gave it to me so overall a decent round but in some ways my worst round it's hard to tell exactly how the interviewer rated me but it is what it is and then the last round was actually the behavioral round which google calls the googliness round this one was a little bit awkward actually because the interviewer walked in and then they said okay are you ready let's get started and then they started writing out a coding problem on the whiteboard and i had to stop them and be like hey i was actually told that the last round would be a behavioral round is that correct or what's going on and then they checked their email and they were like oh actually yeah you're right this was supposed to be a behavioral uh but it seemed like the interviewer was like was a little bit apologetic and they told me you know thanks for letting me know so they didn't like take offense to it at all but there was just a little bit of awkwardness in that other than that the behavioral was pretty straightforward you know just kind of asking cookie cutter behavioral questions google doesn't really do anything unique i think they just look for that you're a reasonable person you can communicate with others and you're not going to you know yell at people stuff like that and that round was actually 30 minutes all the coding rounds were 45 minutes each the behavioral is only 30 minutes though after that was over i pretty much said goodbye they walked me out of the office i took a taxi to the airport and then flew back home and then you know i was nervous because in my head i thought i had a chance to pass the interview which i think i did it's not like i did horribly but i definitely could have done a lot better i think it was about three weeks though before i got my rejection email that i did not pass the interview and that i wouldn't you know be getting an offer i was pretty hurt about that sometimes i would like stay up at night just thinking man if i didn't misinterpret the first problem if i you know simplified my code in the second problem maybe i could have gotten in but it is what it is eventually you know a few years later i did pass and i definitely learned some very valuable lessons from this interview process
Info
Channel: NeetCode
Views: 1,306,246
Rating: undefined out of 5
Keywords:
Id: 4SUJt3dP2Jc
Channel Id: undefined
Length: 14min 23sec (863 seconds)
Published: Mon Apr 25 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.