How to MASTER Data Structures & Algorithms FAST in 2023

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so when you think of coding jobs you probably think of really high salaries and awesome work culture but when I got my software engineering job and I realized that not only did I hate the company and the salary was cool [Music] I decided it was time to quit but the problem is that I lived in London one of the most expensive cities in the world so I couldn't really just leave my job without having a new one I know this period was four weeks so I basically had to find a job in that time but the problem is that because I never actually properly marched the data structures and algorithms I realized that there was no way that I could pass the notoriously difficult coding interviews at the big tech companies like Google or meta so somehow I had to figure out a way to master data structures and algorithms and learn to apply them in coding interviews in just four weeks and here's how I did that but the crazy thing is that around week three I discovered this system that basically anyone could apply to basically do the same thing but before I tell you what that was we need to go back to the beginning so I'm not gonna lie I was a bit grumpy about having to learn data structures and algorithms why do we have to learn these random theoretical Concepts just to please some smartass interviews when let's be honest data structures and algorithms have nothing to do with the actual job and I know this because I was a software engineer already at this point so I knew that before I could move forward I had to properly understand what I was even learning because otherwise I would just end up quitting so here's what I discovered after watching tons of useless tutorials that simply skipped to do what with no explanation about the why and the big picture I decided to go back to the beginning and I realized that the reason to learn DSA was hidden in plain sight the entire time and to understand how we need to talk about Legos so let's say we have this Lego house in here in order to build this Lego house you need three things you need to write pieces you need to connect those pieces in the right way and in the right order now I want you to think of this Lego house as sort of like a program and in programming we also have three things we need we have some data that we need to organize in the right way and modify in the right order to get the program that we want just look at this amazing Fireworks program I made in Python we need the right input colors organized in an array and then the right steps aka the right lines of code to make this bad boy into reality I can't believe I just spent two hours making this just for the video so in any program all we really have is the right data organized in the right kind of way AKA a data structure and then applied to to the right lines of code AKA and algorithm to produce a program so in programming literally everything we do is simply data structures and algorithms so when I realized this I was like huh it actually makes sense why we should be learning these things so what I learned about data structures and algorithms is that there's a lot of them like seriously a lot so with only three and a half weeks left I had to get to work so I did what any Noob would do and I picked up a massive textbook to teach me basically all of it which as it turns out was not the most effective way but after falling asleep like literally every single time I opened it I figured that there must be a better way just my next step I picked up this course on Coursera which was a lot better but the problem with this one was that it was teaching a lot of stuff that was meant more for like theoretical computer scientists and like things like this and not for how to pass a Google coding interview in four weeks so while the course was good and I still recommend it if you won a comprehensive understanding it wasn't the right thing for me at this point the thing I did do was zero to Mastery State destruction and algorithms boot camp the only issue with it was that it was in JavaScript whereas I use Python mainly so still had to do a lot of manual work to like figure out everything on my own using Python and the other problem was they didn't have a proper way for me to learn the problem solving patterns that you need to master in order to act really use these Concepts to pass coding interviews but luckily today we actually have a resource like this it's called algo monster and they are also very conveniently today's sponsor when you're presented with 2 000 plus lead call problems it can be quite intimidating but the thing is that almost all of these problems can be condensed into a small set of patterns and principles that you can learn like any other thing and then all you have to do is Master these building blocks to be able to solve all of these thousands of coding problems now I have to figure these things out myself but what I wish I had is something like algo monster which specifically is designed to explain these building blocks and these principles to you they have a step-by-step plan that you can use to meticulously study all of these problem-solving patterns in order and literally if you do study these things you can be so confident that you know absolutely everything you need to pass coding interviews algo monster was designed by a group of Google engineers and is focused on Interactive Learning to ensure that you can Master everything you need to work into any Tech interview with confidence if that sounds interesting to you I will leave my affiliate link Down Below in the description so you can do all of this much more easily than I did at the time so thank you algomonster for sponsoring this video and with that let's continue on with our story so with two weeks left I had learned a lot of things but I hadn't really made a lot of progress at all when it comes to actually solving problems so I realized there was no time for me to study the theory I just had to get into practice I made sure to understand the space and time complexities of some of the most common operations for a lot of common data structures like arrays and linked lists and like another high level when to use one over the other and things like this but besides that I simply try to do as many problems as possible but again the problem is that there's so many problems to solve so how would I just solve the problems that I need to master in order to pass calling interview so 109 and I learned two key things the first thing I learned is that to pass even Google level interviews all you really need to know is how to pass medium level coding interview so I basically now had a benchmark and secondly I stumbled into this golden resource of this famous blind 75 lead code problems list which is basically now become this de facto list of these 75 problems that you need to master in order to be able to walk into Google and Facebook and all the big tech companies so I made it my mission to master all of the 75 problems on this list problem is I only had like two weeks left so that I equated two like more than five problems per day which is which is a lot worse yeah because I had been studying so inefficiently before I found that I continuously forgot what I had learned before when I was learning something new even wasn't that something happened out of nowhere so this one had been Loosely applying for some jobs here and there and because when you're a software engineer you get a lot of inbound from LinkedIn anyway I wasn't really expecting anything yet but then one day I got this email it was an invitation to an interview at a tech startup that was not Google but it was exactly the kind of company that I really wanted to work for and I saw that this was the opportunity for me to escape this company that I no longer wanted to work for so I now had to master how to pass a coding interview in literally just two weeks so they myself I was solving a problem after problem and at this point I stumbled upon this new strategy that actually allowed me to master these problems so much faster than I thought was possible and here's what my strategy was step number one solve the problem conceptually I would intentionally completely forget about the code I would literally like take a Lego pieces if that's relevant and try to to solve the problem conceptually and then step two I would try to apply that conceptual understanding into code and in the beginning this is always where I would get stuck because I didn't have the experience to really put these things in the code efficiently so that is why after 30 minutes if I didn't get it yet I would move on to step three which is actually just looking up the answer like guys it's completely fine to look up the answer provided you do step number four which is to understand the solution don't just copy a solution and make it pass on lead code as much as it made you feel good about yourself that is not going to make you learn you need to make sure you understand what the code does other than the future in a similar problem you can apply the same pattern and then after I got the solution as a step five I would try to learn what is the pattern what is the general takeaway that I can take from this problem apply in the future which again I had to do myself but you can do by using algo monster I did this over and over and over and over and over again and truth be told I did not manage to solve all 75 problems so the day before the interview I was still not really confident that it was all gonna work out but the thing that I am so glad that I did is I tried before I thought I was ready and I just went in but before I tell you what happened like really at this point it wasn't even about whether I would pass this particular interview or not but I was really proud of the fact that I had managed to do this in such a short amount of time like it made me realize that if I just put my mind to something and if I have a literal deadline where I just have to do something in a certain amount of time I can do pretty much anything like data traction algorithms is one of the hardest things to master when it comes to programming and computer science if I could Master this I could literally Master anything so you wanna know what happened at the interview I passed and I was absolutely ecstatic but I didn't take the job because what I ended up doing instead was quitting my previous job moving to Dubai to do YouTube full time and to build my starter full time because I realized that those were actually the things that I wanted to do anyway but the thing is had I not built this skill to pass these coding interviews I would probably not have had the confidence to quit to pursue my entrepreneurial dreams because now I basically know that I can literally just go and get a coding job at any time whenever I want so yeah it's funny how the universe works sometimes like I guess technically I failed so right now if you want to take action I recommend you go watch this video where I explained to you conceptually what data structures are and after that you can go watch this video where I explained to you what algorithms are so you can basically take the first step in the next hour by just watching these two videos right now
Info
Channel: Internet Made Coder
Views: 207,502
Rating: undefined out of 5
Keywords: how to learn programming, how to learn to code, learn to code, coding, programming, software engineer, software engineering, software development, self taught programmer, tech, career in tech, techcareer, data science, how to become a software engineer, self-taught software developer, no cs degree, frontend developer, learn computer science, online, learn faster, no college, ossu, open-source computer science degree, programmer
Id: 6WdTxK_V9Qo
Channel Id: undefined
Length: 10min 21sec (621 seconds)
Published: Wed May 24 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.