Welcome

Share the link to this page
Copied
  Completed
Goals This course focuses on teaching problem-solving strategies geared towards helping you expertly answer many software engineering interview questions. Almost all of these problems are variations on questions I have been asked or that others I know have been asked in interviews. They’ve been curated in a way that will allow us to go over several problem-solving strategies. The Problems Every problem comes with a solution and a detailed description of the strategy employed. Most come with two or three different solutions with each discussed in detail compared to the others. Typically we’ll start with a brute-force algorithm that solves the problem. We’ll then refine it until we can optimize time complexity, space complexity, or both. What You’ll Get By the end of the course, you’ll have mastered several algorithmic strategies that can be applied to a wide range of problems. Our discussions will teach you how to approach different types of problems, allowing you to start in the right direction and find the answer during actual interviews. We’ll teach ways to critically analyze the algorithms we come up with and find ways to make them more efficient. We’ll fine-tune algorithms to reduce the amount of time they take or the space they need. This is exactly what an interviewer is looking for. Format Each problem is started blank and we work through the solution. It's recommended that you attempt the problem yourself first and then watch the solution videos. The code editor I use can be found at repl.it/languages/javascript, but you're free to use any editor you like. If you do use an online code editor, make sure that the browser you're using is modern and up-to-date. Expectations Have a basic working knowledge of JavaScript and the ability to write meaningful code with it. Be familiar with basic ES2015 concepts such as let and const declarations, arrow functions, and classes. Have some idea of what the terms time complexity and space complexity mean. As long as you’re aware of what they are, you’ll do fine, as we walk through finding them for every problem. For an understanding of time and space complexity, feel free to look at the following pages: – Big O Notation (https://www.interviewcake.com/article/java/big-o-notation-time-and-space-complexity) – What is a plain English explanation of “Big O” notation? (https://stackoverflow.com/questions/487258/what-is-a-plain-english-explanation-of-big-o-notation)
We'll cover the following topics in this section:

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.