Skip to content
UdemyData Structures and AlgorithmsPaid courseIntermediate levelCertificate

Mastering critical SKILLS for Coding Interviews C++: Part 1 (Udemy.com)

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

Created by: Dr. Moustafa Saad

Last updated September 2022

icon
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)

How it compares

Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:

  • Rating4.8 out of 5higher than 95% of them
  • Reviews315#47 of 87 by number of reviews
  • Length17.8 hourslonger than 67% of them
  • Last updatedSeptember 2022earlier than 58% of them

icon
Course 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”

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Dr. Moustafa Saad

For discounts, please visit this website


The most critical difference between our courses and others is ... going beyond knowledge: With us, you get really skilled. The extensive amount of quizzes, practices, homework, and [real] projects ranging from easy to hard will reshape your skills.


I have been teaching, training, and coaching for many students in Computer science and competitive programming.


I had been competing in ICPC programming competitions 2005-2011 (ranked 3rd/2nd/2nd in regional ACMC ICPC and World Finalist in 2011). After that, I played roles such as contestant, coach, problem setter, judge, and chief judge.


In addition, I have a mix of experience in Software Engineering, AI/Computer Vision Research, and Algorithms Design. I am a Ph.D. holder from  Simon Fraser University in Canada.


icon
More courses by Dr. Moustafa Saad

$84.99

$84.99

$84.99

icon
More Data Structures and Algorithms courses

Free

$119.99

Free

$99.99

$109.99

$84.99

icon
Reviews

4.8

315 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Maalik Mogha on 7/4/2026

One of the best DSA instructors I've had the opportunity to learn from. The explanations are exceptionally clear, well-organized, and easy to follow. Complex topics are broken down into simple concepts, making them much easier to understand.

By Mihai Gorgos on 6/17/2023

Nice written presentation and elegant solutions to problems! It would have been more helpful if you would explained with an electronic pen the solution.

By Sreeram H on 10/8/2022

Helps a Lot, Thanks for spend your valuvable time for Us...

By Mohamed Ashraf on 7/15/2022

I really appreciate your hard-working, and your experience. knowledgeable person, This course is rich with information and important topics from expert person. Thank you, Doctor Mostafa.

By Abdalrhman Hemida on 6/18/2022

I really appreciate your hard-working, and your experience. knowledgeable person, with respectable experience in the market. thank you doctor :)

By Mostafa Nabieh on 9/29/2021

After I took several sessions in this course. I think that this course is one of the best courses on the Udemy website. The course is a clear, simple explanation and useful to anyone. I recommend this course to anyone

By Rabab ebrahim on 9/25/2021

It is the most excellent and practical course of problem solving.. It saves for us a lot of time in gaining problem solving technique

By Yousef on 9/2/2021

Truly amazing, How Dr Mostafa Saad tackles and explains the problems, his choice of problems is astonishing, A Smart lecturer, A clean coder, a lot to learn from him and his experience

By Karim Ashraf Ibrahim on 8/22/2021

As expected from Dr Mostafa awesome content and well explained solutions I strongly recommend this course for anyone who wants to pass any interview easily.

By Ahras K on 8/19/2022

Showing all 10 reviews on CourseDuck

Read all 315 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100