Mastering critical SKILLS for Coding Interviews C++: Part 1

Data Structures Part: Solving the MOST FREQUENT FAANG interview problems from LeetCode

Ratings 4.95 / 5.00
Mastering critical SKILLS for Coding Interviews C++: Part 1

What You Will Learn!

  • Sharpen your problem-solving skills
  • More than 70 MEDIUM level FREQUENT interview problems
  • Increase the chance of seeing the same problems in the interview
  • Several hints NOT just the whole solution
  • After the course: Other ~100 problems are provided to solve on your own
  • Well-written compact codes
  • 2 training styles: the classical topics-based style and a blind-based style (sprints of 10 problems)

Description

Welcome to one of the unique and special Coding Interviews courses.


This course is all about algorithmic problem-solving for problems mainly from the Leetcode website. Specifically, the medium level frequent interview problems. The goal of this course is to sharpen your problem-solving skills to aid you in ACEing Coding Interviews from FAANG companies. During the course, you won't only be provided with a problem and its solution, but a series of hints and thinking approaches to tackle the problems.


I don't teach data structures or algorithms in this course. You must study these courses from high-quality sources and solve many problems to gain basic problem-solving skills. The problems in this course are of medium level. Without proper background and skills, the materials will be hard to learn.


Part 1 content

  • Part one covers the data structures:

    • Arrays: Prefix Sum, Sliding Window (fixed and variable size) 2 Pointers, and Permutations.

      • Tutorials are provided for these topics only, as they are not covered in DSA courses.

    • String

    • Matrices

    • Stack and Priority Queue

    • Linked List and Binary Trees

    • Hash Tables

  • The scope of the topics: Interviews coverage.

    • Note: You are expected to solve the implementation problems over these topics during a data structure course. For example, reversing a linked list is a common interview question. I won't cover it. It is mainly an implementation task. The same for the basic binary tree DFS problems. I do cover such questions in my data structure and algorithms course. This course is about problem-solving challenges.

  • Although the focus of this part is Data Structures, but still your background in Algorithms is needed.

    • Major: Complexity, Recursion and Sorting

    • Minor: A few times I refer to: Binary Search, Divide and Conquer and Dynamic Programming

    • Generally, most of the problems require serious algorithmic skills


The course level:

  • Most of the problems in this course are Leetcode MEDIUM level, which represent 85-90% of real interview questions.

  • To be more effective, the questions are mainly the most frequent interview questions according to the LeetCode website.

  • This means; in addition to gaining problem-solving skills, you increase the chance of meeting problems you already solved in the interviews!

  • Without proper background & skills ⇒ the course will be hard to learn


Prerequisites:

  • Strong programming skills & DSA knowledge/skills (from 3 courses)

    • A high-quality programming course consisting of:

      • Good coverage for programming + many exercises on learned topics

      • Proper understanding/using for built-in algorithms/DS (e.g. C++ STL / Java Collections)

      • Optional: Several projects to be comfortable with long coding

    • A high-Quality Data Structure course: good coverage + many exercises

    • A high-Quality Algorithms course: good coverage + many exercises

    • This implies: you already solved and coded a lot. It is time to move to medium challenges.

      • Don't join this course if you lack basic problem-solving skills


The course programming language

  • All slides codes are based on C++

    • Mainly C++11. I intend to not use the very modern C++

      • Many people don't study after C++11

      • It will be easier for other programming languages to understand the code

    • C++ code is very similar to Java and C#. To a good extent, similar to JavaScript.

  • The LeetCode discussion tab has solutions for many other languages

    • 80% of the problems: I will download solutions for some other languages (Python, Java) .

      • No promise, but some downloads for JavaScript and a few C#

      • As the code is downloaded, expect differences in the code structure. You must understand fully the lecture first.


The course natural language:

  • The course is only in English with an Egyptian accent

  • English subtitles are provided to make it easy in case. it is easy to adapt the Egyptian accent


Videos problem-solving cycle:

  • Presenting a problem

  • Verifying assumptions and test cases

  • Trying to brute-force the problem

  • Optimizing the brute force if possible

  • Or analyzing the problem and test cases

  • Several iterative hints are provided; a missing educational key in other resources

  • Well-written codes.


2 training styles are possible with the materials.

  • A topics-based style where you focus on a specific topic and solving many of its problems. This style has a great disadvantage; you know the solution category (e.g. a stack problem), which is a big hint.

  • A blind-based style where sprints of problems are provided. Each sprint is 10 problems to solve.

    • You don’t know the category of the problem.

    • This is a more matching experience to the real interviews experience.

    • This style is the recommended one.

  • After the course, you will be provided with more problems to solve on your own to keep enhancing your skills.

    • You must solve a lot to increase your chance of passing the interviews.


A problem name starts with

  • E for easy-level from 1 to 3

  • M for medium-level from 4 to 7

  • H for hard-level from 8 to 10

Acknowledgement: “I’d like to extend my gratitude towards Robert Bogan for his help with proofreading the slides for this course”

Who Should Attend!

  • Sharpen algorithmic skills to ace the interviews from FAANG

TAKE THIS COURSE

Tags

  • Data Structures
  • Problem Solving
  • Algorithms

Subscribers

2375

Lectures

145

TAKE THIS COURSE



Related Courses