You are currently viewing Mastering critical SKILLS for Coding Interviews: Part 1

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

I focus my efforts on LeetCode medium 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 scope of the topics choices is again what is relevant and common in the interviews.

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#
  • The LeetCode discussion tab has solutions for many other languages
    • 90% of the problems: I will download solutions for some other languages (Python, JavaScript, Java, and maybe others such as C#)

For each problem, there is a solving-cycle 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.

  • 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


[maxbutton id=”1″ url=”” ]