All Courses

Mastering critical SKILLS for Coding Interviews: Part 1

Mastering critical SKILLS for Coding Interviews: Part 1

Data Structures Part: Solving the MOST FREQUENT FAANG interview problems

What you’ll learn

Mastering critical SKILLS for Coding Interviews: Part 1

  • Sharpen your problem-solving skills

  • Solve the most frequent interview problems

  • Increase the chance of seeing the same problems in the interview

  • Several hints NOT just the whole solution

  • Medium to Hard Data Strcutures and Algorithms challenges

  • Well-written compact codes

  • Sprints for blind-based solving order

  • After-course guidelines and problems to solve


  • Attended high-quality programming course

  • You Attended high-quality data structures course

  • Attended high-quality algorithms course

  • Solved many practice problems on the previous 3 courses


Welcome to one of the

unique and special

coding interviews courses, not just among Udemy courses but even online courses, websites, and popular books.

This course is

all about algorithmic problem-solving

for problems mainly from the Leetcode website. 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.


don’t teach

data structures or algorithms in this course. You must study these courses from

high-quality sources


solve many problems

to gain


problem-solving skills. The problems in this course are of medium level. Without proper background and skills, the materials will be hard to learn.

I focus my efforts on LeetCode


problems, which represent

85-90% of real interview questions

. To be more effective, the questions are mainly the

most frequent

interview questions. This means; in addition to gaining problem-solving skills, you increase the chance of

meeting problems you already solved

in the interviews!

The course level:

  • Most of the problems in this course are

    Leetcode MEDIUM level

    • And a few easy and hard problems
  • Most of the problems are from the most common interview problems, according to LeetCode data.
  • Without proper background & skills ⇒

    the course will be hard to learn

Part one

covers the data structures (basic and advanced).

In the next part, the focus is Algorithms. The


of the


choices is again what is relevant and common in the interviews.

The course

programming language

  • All slides codes are based on


    • 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#

  • The LeetCode discussion tab

    has solutions for many other languages

    • 90% of the problems: I will


      solutions for some other languages (Python, JavaScript, Java, and maybe others such as C#)

For each problem, there is a


consisting of


  • 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.

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

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.
  • I am also providing 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.
  • 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.


  • 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 is taught by one of the seniors in Competitive Programming where complex Data structures and Algorithms questions are asked. In addition, long experience with algorithmic interviews in the software engineering industry.

Acknowledgment: “I’d like to extend my gratitude towards

Robert Bogan

for his help with proofreading the slides for this course”

Who this course is for:

  • Sharpen algorithmic skills to ace the interviews from FAANG
  • Last updated 9/2021

Mastering critical SKILLS for Coding Interviews: Part 1

If the links does not work, contact us we will fix them

Content From: