Back to courses

Master the Coding Interview: Data Structures + Algorithms

The ultimate coding interview bootcamp to help you ace your coding interviews and land your dream job. You'll not only learn data structures and algorithms but also the exact steps to take to get more interviews, more job offers, and a higher salary.

40 Days

Average time students take to complete this course.

instructor
Taught by: Andrei Neagoie
Last updated: February 2024

Course overview

Completely updated for 2024! We guarantee you that this is the best coding interview bootcamp that you can find if you are serious about learning data structures & algorithms, want to make up for not having a Computer Science Degree, and want to get hired as a Developer at the company of your dreams.

What you'll learn

  • Ace coding interviews given by some of the top tech companies
  • Learn to implement and use different Data Structures
  • Learn to implement and use different Algorithms
  • Learn the notorious Big-O notation
  • Become a better developer by mastering computer science fundamentals
  • Learn from a Senior Programmer who has managed teams of engineers and has been in these interviews both as the interviewee and interviewer
  • Get more interviews and more job offers
  • Become more confident and prepared for your next coding interview
  • Professionally handle offers and negotiate raises

You are going to learn how to answer any coding interview question with confidence and get hired at the company of your dreams with the potential to be making $100,000+ a year.

You're really getting two courses in one.

1️⃣ You'll be getting a Computer Science crash course to get you on the same level as CS grads. You will learn data structures, algorithms and the notorious Big-O notation to the point that people will think you were a CS grad yourself.

2️⃣ Unlike other courses, you'll also learn the non-technical skills, tricks, tips that you need to actually stand out from other candidates (who have also learned the technical skills) so that you can get more job offers and even negotiate a raise.

Graduates of this course are now working at Google, Tesla, Amazon, Apple, IBM, JP Morgan, Facebook, Shopify + other top tech companies.

This can be you.

By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.

Active. Thriving. Supportive. Helpful. Friendly. Motivating. Essential.

These are just a few of the words students use to describe the ZTM Discord which is also one of the biggest and most active developer communities on Discord.

Most importantly, you will learn from a Senior Developer that has actual real-world experience working for (and hired developers at) top companies in both Silicon Valley and Toronto.

  • Want to land a job at a great tech company like Google, Microsoft, Facebook, Netflix, Amazon, or other top companies?
  • Intimidated by the interview process and the coding questions?
  • Do you find yourself feeling like you get "stuck" every time you get asked a coding question?

This course is your answer.

Using the strategies, lessons, and exercises in this course, you will learn how to land offers from all sorts of companies.

Many developers who are "self taught" feel that one of the main disadvantages they face compared to college-educated Computer Science graduates is the fact that they don't have knowledge of algorithms, data structures and the notorious Big-O Notation.

By the end of this course, I'll ensure you're on the same level as someone with a Computer Science degree by teaching you the fundamental building blocks of Computer Science. This will give you a big boost during interviews.

Here is what you will learn in this coding interview bootcamp:

Technical:

  1. Big O Notation

  2. Data Structures:

    • Arrays
    • Hash Tables
    • Singly Linked Lists
    • Doubly Linked Lists
    • Queues
    • Stacks
    • Trees (BST, AVL Trees, Red Black Trees, Binary Heaps)
    • Tries
    • Graphs
  3. Algorithms:

    • Recursion
    • Sorting
    • Searching
    • Tree Traversal
    • Breadth First Search
    • Depth First Search
    • Dynamic Programming

Non-Technical:

  • How to get more interviews
  • What to do during interviews
  • What do do after the interview
  • How to answer interview questions
  • How to handle offers
  • How to negotiate your salary
  • How to get a raise

What's the bottom line?

Unlike most instructors, I'm not a marketer or a salesperson.

I'm a Senior Developer and Programmer who has worked and managed teams of engineers, and have been in these interviews both as an interviewee as well as the interviewer.

My job as an instructor will be a success if I am able to help you become better at interviewing and land you more jobs.

This one skill can really change the course of your career.

If you're serious about getting hired as a Developer and competing for jobs against Computer Science & Bootcamp grads, I can guarantee you that this coding interview bootcamp will help you succeed like never before.

And you have nothing to lose. You can start learning right now and if this course isn't everything you expected, we'll refund you 100% within 30 days. No hassles and no questions asked.

When's the best time to get started? Today!

There's never a bad time to learn in-demand skills. But the sooner, the better. So start learning today by joining the ZTM Academy. You'll have a clear roadmap to developing the skills to build your own projects, ace your coding interviews, get hired, and advance your career.

Join Zero To Mastery Now

Don't just take our word for it

Our courses and community have helped 1,000s of Zero To Mastery students go from zero to getting hired to levelling up their skills and advancing their careers to new heights.

Lakmal Caldera

I wish I had this course at the start of my career! The content was precise and to the point. For someone like me without a computer science background, this course really helped me understand and optimize my applications in ways I never thought possible.

Lakmal Caldera

Annie Chen

For non-CS students, this is a great intro with easy-to-understand animations and explanations. For CS-students, it's a good review guide. There are a lot of tips on interviewing and handling job offers which is valuable information for job seekers.

Annie Chen

Faiz Hameed

Because I already worked in tech, I assumed the FAANG interview process would be similar but wow... I really struggled. Then I took both this Data Structure + the FAANG interview course which were essential in landing an offer at PayPal & my job at Google!

Faiz Hameed

Data Structures & Algorithms was the missing piece to advance in my career. After finishing the course, I applied to a company I wanted to work for. The company opened a brand new position (better than what I applied to) just to hire me. Thank you!

Gulyás Ferenc

This course is absolutely fantastic and worth your while. I've had interviews in which questions arise that should be tricky, but Andrei prepared me for them. I'm almost giddy in every interview now, because I'm finding myself so prepared.

JC Silv

This course has truly closed the gap in knowledge I've had in data structures and algorithms and I would argue that even if I'd taken a formal course in college, the material wouldn't have been delivered as well as this course has.

Justin Ramos

Course curriculum

To make sure this course is a good fit for you, you can start learning for free right now by clicking any of the PREVIEW links below.

Introduction

4 lectures

Why This Course?3:47

PREVIEW

How To Succeed In This Course5:04

PREVIEW

Exercise: Meet Your Classmates and Instructor

BEGIN

How-to's: Speed up videos, Downloading videos, Subtitles

BEGIN

Getting More Interviews

19 lectures

Section Overview5:39

PREVIEW

Resume5:09

PREVIEW

Exercise: Resume Walkthrough17:05

PREVIEW

Resume Review2:37

BEGIN

Resources: Resume Templates

BEGIN

What If I Don't Have Enough Experience?15:03

PREVIEW

Optional Exercise: Github Master

BEGIN

Optional Exercise: Github README

BEGIN

LinkedIn8:22

BEGIN

Optional Exercise: LinkedIn Endorsements

BEGIN

Portfolio3:23

BEGIN

Resources: Free Portfolio Templates

BEGIN

Email8:24

BEGIN

Resources: Email

BEGIN

Where To Find Jobs?6:02

BEGIN

Resources: Where To Find Jobs?

BEGIN

When Should You Start Applying?3:34

BEGIN

Section Summary2:17

BEGIN

Monthly Industry Updates

BEGIN

Big O

27 lectures

Python, Java, C/C++, C#, Golang, Swift, Kotlin, TypeScript, Scala, Perl Code

BEGIN

Setting Up Your Environment2:53

PREVIEW

Section Overview2:24

PREVIEW

What Is Good Code?6:57

PREVIEW

Big O and Scalability11:08

PREVIEW

O(n)5:39

PREVIEW

O(1)6:10

PREVIEW

Exercise: Big O Calculation

PREVIEW

Solution: Big O Calculation5:54

PREVIEW

Exercise: Big O Calculation 2

PREVIEW

Solution: Big O Calculation 22:29

PREVIEW

Simplifying Big O1:50

PREVIEW

Big O Rule 14:28

PREVIEW

Big O Rule 26:36

PREVIEW

Big O Rule 33:13

PREVIEW

O(n^2)7:13

PREVIEW

Big O Rule 46:47

PREVIEW

Big O Cheat Sheet3:18

PREVIEW

What Does This All Mean?5:32

PREVIEW

O(n!)1:18

PREVIEW

3 Pillars Of Programming3:32

PREVIEW

Space Complexity2:22

BEGIN

Exercise: Space Complexity6:24

BEGIN

Exercise: Twitter7:13

BEGIN

Optional: Javascript Loops3:27

BEGIN

Section Summary4:43

BEGIN

Unlimited Updates

BEGIN

How To Solve Coding Problems

9 lectures

Section Overview5:04

BEGIN

What Are Companies Looking For?3:05

BEGIN

What We Need For Coding Interviews3:27

BEGIN

Exercise: Google Interview2:31

BEGIN

Exercise: Interview Question20:33

BEGIN

Exercise: Interview Question 222:59

BEGIN

Review Google Interview1:30

PREVIEW

Optional Exercise: Google Interview On Your Own

BEGIN

Section Summary3:35

BEGIN

Data Structures: Introduction

5 lectures

Section Overview1:58

BEGIN

What Is A Data Structure?5:53

BEGIN

How Computers Store Data12:33

BEGIN

Data Structures In Different Languages3:27

BEGIN

Operations On Data Structures3:05

BEGIN

Data Structures: Arrays

12 lectures

Arrays Introduction13:51

BEGIN

Static vs Dynamic Arrays6:40

BEGIN

Quick Note: Upcoming Video

BEGIN

Optional: Classes In Javascript24:51

BEGIN

Implementing An Array17:19

BEGIN

Strings and Arrays1:04

BEGIN

Exercise: Reverse A String1:35

BEGIN

Solution: Reverse A String10:31

BEGIN

Exercise: Merge Sorted Arrays0:44

BEGIN

Solution: Merge Sorted Arrays14:12

BEGIN

Interview Questions: Arrays

BEGIN

Arrays Review3:28

BEGIN

Data Structures: Hash Tables

13 lectures

Hash Tables Introduction4:10

BEGIN

Hash Function5:56

BEGIN

Hash Collisions9:43

BEGIN

Hash Tables In Different Languages3:30

BEGIN

Exercise: Implement A Hash Table3:51

BEGIN

Solution: Implement A Hash Table17:24

BEGIN

keys()6:11

BEGIN

Bonus: keys() Without Collision

BEGIN

Hash Tables vs Arrays2:01

BEGIN

Exercise: First Recurring Character1:18

BEGIN

Solution: First Recurring Character16:11

BEGIN

Interesting Tidbit: Python Dictionaries

BEGIN

Hash Tables Review6:09

BEGIN

Data Structures: Linked Lists

21 lectures

Linked Lists Introduction2:26

BEGIN

What Is A Linked List?4:36

BEGIN

Exercise: Why Linked Lists?2:05

BEGIN

Solution: Why Linked Lists?5:35

BEGIN

What Is A Pointer?5:45

BEGIN

Our First Linked List8:38

BEGIN

Solution: append()5:25

BEGIN

Solution: prepend()2:27

BEGIN

Node Class2:40

BEGIN

insert()5:12

BEGIN

Quick Note: Upcoming Video

BEGIN

Solution: insert()13:08

BEGIN

Solution: remove()5:21

BEGIN

Doubly Linked List3:18

BEGIN

Exercise: Doubly Linked Lists

BEGIN

Solution: Doubly Linked Lists8:50

BEGIN

Singly vs Doubly Linked Lists2:40

BEGIN

Exercise: reverse()1:30

BEGIN

Solution: reverse()7:38

BEGIN

Linked Lists Review5:07

BEGIN

Exercise: Imposter Syndrome2:55

BEGIN

Data Structures: Stacks + Queues

15 lectures

Stacks + Queues Introduction2:58

BEGIN

Stacks3:28

BEGIN

Queues3:30

BEGIN

Exercise: Stacks vs Queues3:06

BEGIN

Solution: Stacks vs Queues3:39

BEGIN

Quick Note: Upcoming Video

BEGIN

Optional: How Javascript Works24:12

BEGIN

Exercise: Stack Implementation (Linked Lists)2:23

BEGIN

Solution: Stack Implementation (Linked Lists)8:58

BEGIN

Exercise: Stack Implementation (Array)0:53

BEGIN

Solution: Stack Implementation (Array)3:56

BEGIN

Exercise: Queue Implementation1:48

BEGIN

Solution: Queue Implementation7:50

BEGIN

Queues Using Stacks2:04

BEGIN

Stacks + Queues Review2:19

BEGIN

Data Structures: Trees

18 lectures

Trees Introduction6:23

BEGIN

Binary Trees5:45

BEGIN

O(log n)7:00

BEGIN

Binary Search Trees6:12

BEGIN

Balanced vs Unbalanced BST3:42

BEGIN

BST Pros and Cons2:26

BEGIN

Exercise: Binary Search Tree3:57

BEGIN

Solution: insert()10:10

BEGIN

Solution: lookup()4:54

BEGIN

Bonus Exercise: remove()2:28

BEGIN

Solution: remove()7:41

BEGIN

AVL Trees + Red Black Trees2:56

BEGIN

Resources: AVL Trees + Red Black Trees

BEGIN

Binary Heaps5:36

BEGIN

Quick Note on Heaps1:08

BEGIN

Priority Queue5:27

BEGIN

Trie3:16

BEGIN

Tree Review0:51

BEGIN

Data Structures: Graphs

9 lectures

Graphs Introduction2:28

BEGIN

Types Of Graphs3:32

BEGIN

Exercise: Guess The Graph2:45

BEGIN

Graph Data5:58

BEGIN

Exercise: Graph Implementation4:06

BEGIN

Solution: Graph Implementation4:50

BEGIN

Graphs Review2:04

BEGIN

Data Structures Review1:52

BEGIN

What Else Is Coming Up?1:53

BEGIN

Algorithms: Recursion

12 lectures

Introduction to Algorithms3:51

BEGIN

Recursion Introduction5:36

BEGIN

Stack Overflow6:17

BEGIN

Anatomy Of Recursion10:27

BEGIN

Exercise: Factorial3:25

BEGIN

Solution: Factorial6:20

BEGIN

Exercise: Fibonacci1:59

BEGIN

Solution: Fibonacci11:21

BEGIN

Recursive vs Iterative4:16

BEGIN

When To Use Recursion4:00

BEGIN

Exercise: Reverse String With Recursion

BEGIN

Recursion Review2:47

BEGIN

Algorithms: Sorting

27 lectures

Sorting Introduction7:01

BEGIN

The Issue With sort()6:51

BEGIN

Sorting Algorithms3:37

BEGIN

Bubble Sort3:45

BEGIN

Exercise: Bubble Sort

BEGIN

Solution: Bubble Sort5:06

BEGIN

Selection Sort2:39

BEGIN

Exercise: Selection Sort

BEGIN

Solution: Selection Sort2:23

BEGIN

Dancing Algorithms1:36

BEGIN

Insertion Sort2:38

BEGIN

Exercise: Insertion Sort

BEGIN

Solution: Insertion Sort2:06

BEGIN

Merge Sort and O(n log n)8:59

BEGIN

Exercise: Merge Sort

BEGIN

Solution: Merge Sort9:28

BEGIN

Stable vs Unstable Algorithms

BEGIN

Quick Sort7:40

BEGIN

Optional Exercise: Quick Sort

BEGIN

Which Sort Is Best?4:40

BEGIN

Resources: Heap Sort

BEGIN

Radix Sort + Counting Sort4:17

BEGIN

Resources: Radix Sort + Counting Sort

BEGIN

Exercise: Sorting Interview1:27

BEGIN

Solution: Sorting Interview7:07

BEGIN

Sorting In Your Language1:27

BEGIN

Sorting Review2:53

BEGIN

Algorithms: Searching + BFS + DFS

20 lectures

Searching + Traversal Introduction1:34

BEGIN

Linear Search3:37

BEGIN

Binary Search6:05

BEGIN

Graph + Tree Traversals3:56

BEGIN

BFS Introduction2:44

BEGIN

DFS Introduction3:23

BEGIN

BFS vs DFS3:20

BEGIN

Resources: BFS vs DFS

BEGIN

Exercise: BFS vs DFS0:44

BEGIN

Solution: BFS vs DFS3:16

BEGIN

breadthFirstSearch()9:15

BEGIN

breadthFirstSearchRecursive()5:33

BEGIN

PreOrder, InOrder, PostOrder5:21

BEGIN

depthFirstSearch()12:03

BEGIN

Optional Exercise: Validate A BST

BEGIN

Graph Traversals3:53

BEGIN

BFS in Graph2:07

BEGIN

DFS in Graph2:49

BEGIN

Dijkstra + Bellman-Ford Algorithms5:11

BEGIN

Searching + Traversal Review4:21

BEGIN

Algorithms: Dynamic Programming

8 lectures

Dynamic Programming Introduction1:51

BEGIN

Memoization 17:47

BEGIN

Memoization 23:56

BEGIN

Fibonacci and Dynamic Programming5:33

BEGIN

Dynamic Programming5:47

BEGIN

Implementing Dynamic Programming9:12

BEGIN

Interview Questions: Dynamic Programming

BEGIN

Dynamic Programming Review4:45

BEGIN

Non Technical Interviews

15 lectures

Section Overview2:38

BEGIN

During The Interview9:04

BEGIN

Exercise: Hero Stories

BEGIN

Tell Me About Yourself5:30

BEGIN

Exercise: Your Pitch

BEGIN

Why Us?5:06

BEGIN

Tell Me About A Problem You Have Solved5:18

BEGIN

Exercise: Past Projects

BEGIN

What Is Your Biggest Weakness2:19

BEGIN

Exercise: Your Biggest Weakness

BEGIN

Any Questions For Us?3:24

BEGIN

Resources: Questions To Ask A Company

BEGIN

Secret Weapon8:11

BEGIN

After The Interview5:24

BEGIN

Section Summary3:56

BEGIN

Offer + Negotiation

8 lectures

Section Overview2:10

BEGIN

Handling Rejection4:07

BEGIN

Negotiation 1019:40

BEGIN

Handling An Offer9:03

BEGIN

Handling Multiple Offers7:29

BEGIN

Getting A Raise7:41

BEGIN

Exercise: Negotiation Master

BEGIN

Section Summary2:09

BEGIN

Thank You

5 lectures

Become an Alumni

BEGIN

Thank You0:52

BEGIN

Review This Course!

BEGIN

What You Can Do Now

BEGIN

Become a ZTM Ambassador ➡ Refer new students. Earn cash.

BEGIN

Extras: Google, Amazon, Facebook Interview Questions

6 lectures

Coding Problems1:25

BEGIN

Top Interview Questions

BEGIN

Amazon Interview Questions

BEGIN

Facebook Interview Questions

BEGIN

Google Interview Questions

BEGIN

Domain Specific Questions

BEGIN

Contributing To Open Source To Gain Experience

3 lectures

Contributing To Open Source14:44

BEGIN

Contributing To Open Source 29:42

BEGIN

Exercise: Contribute To Open Source

BEGIN

Bonus: Extra Bits

7 lectures

Learning Guideline

BEGIN

Quick Note: Upcoming Videos

BEGIN

From JTS: Learn to Learn1:59

BEGIN

From JTS: Start With Why2:43

BEGIN

Coding Challenges

BEGIN

How To Use Leetcode2:27

BEGIN

AMA - 100,000 Students!!38:30

BEGIN

Meet your instructor

Your instructor (Andrei) isn't just an expert with years of real-world professional experience. He has been in your shoes. He makes learning fun. He makes complex topics feel simple. He will motivate you. He will push you. And he will go above and beyond to help you succeed.

Andrei Neagoie

Hi, I'm Andrei Neagoie!

Andrei, lead instructor of Zero To Mastery Academy, has taught 1,000,000+ students worldwide how to code and get hired. ZTM grads work for world-class companies like Apple, Google, Amazon, Tesla, IBM, Facebook, Shopify and many more.

SEE MY BIO & COURSES

Andrei Neagoie

Senior Software Engineer

Frequently asked questions

Are there any prerequisites for this course?

  • A computer (Linux/Windows/Mac) with an internet connection
  • No previous computer science knowledge or experience with data structures or algorithms is needed, just a basic understanding of one programming language

Who is this course for?

  • Any engineer, developer, or programmer struggling to get hired and wants to improve their interviewing skills
  • Developers interested in learning how to use and implement data structures and algorithms
  • Anyone interested in acing their coding interviews by improving their whiteboard coding skills
  • Anyone who wants to become a better developer
  • Any self-taught programmer who missed out on a computer science degree
  • Anyone who is serious about getting hired as a full-time developer and earning a higher salary

Do you provide a certificate of completion?

We definitely do and they are quite nice. You will also be able to add Zero To Mastery Academy to the education section of your LinkedIn profile as well.

Are there subtitles?

Yes! We have high quality subtitles in 11 different languages: English, Spanish, French, German, Dutch, Romanian, Arabic, Hindi, Portuguese, Indonesian, and Japanese.

You can even adjust the text size, color, background and more so that the subtitles are perfect just for you!

Still have more questions about the Academy?

Still have more questions specific to the Academy membership? No problem, we answer some more here.

Invest in a better you. For less than a coffee a day.

Choose your currency:
$ USD US Dollar
Lifetime
100% OFF$999
$999
Only pay once, ever
You're serious about advancing your career and never getting left behind
Start Learning Now

MOST POPULAR

Save 40% vs. monthly (that's $189 a year)
Annual
100% OFF$279 / year
$23 / month
$279 / year
You're committed to getting hired and starting a career in tech
Start Learning Now
Monthly
100% OFF$39 / month
$39 / month
You're ready to upskill and advance your career
Start Learning Now

Every ZTM membership includes:

Unlimited access to all courses, projects + workshops, and career paths
Access to our private Discord with 400,000+ members
Access to our private LinkedIn networking group
Custom ZTM course completion certificates
Live career advice sessions with mentors, every month
Full access to all future courses, content, and features
100% RISK FREE

We know you'll love ZTM. That's why we provide a no hassle, 30-day money back guarantee.