Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

Master the Coding Interview: Data Structures + Algorithms

via Zero To Mastery

Overview

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

Syllabus

  •   Introduction
    • Why This Course?
    • How To Succeed In This Course
    • Exercise: Meet Your Classmates and Instructor
    • Understanding Your Video Player
    • Set Your Learning Streak Goal
  •   Optional: Getting More Interviews
    • Optional Section
    • Section Overview
    • Resume
    • Exercise: Resume Walkthrough
    • Resources: Resume Templates
    • Resume Review
    • What If I Don’t Have Enough Experience?
    • Optional Exercise: Github Master
    • Optional Exercise: Github README
    • LinkedIN
    • Optional Exercise: LinkedIn Endorsements
    • Portfolio
    • Resources: Free Portfolio Templates
    • Email
    • Resources: Email
    • Where To Find Jobs?
    • Resources: Where To Find Jobs?
    • When Should You Start Applying?
    • Section Summary
    • Monthly Industry Updates
  •   Big O
    • Python, Java, C/C++, C#, Go, Swift, Kotlin, TypeScript, Scala, Rust, Perl, PHP
    • Section Overview
    • Setting Up Your Environment
    • IMPORTANT: Replit Code
    • What Is Good Code?
    • Big O and Scalability
    • O(n)
    • O(1)
    • Exercise: Big O Calculation
    • Solution: Big O Calculation
    • Exercise: Big O Calculation 2
    • Solution: Big O Calculation 2
    • Simplifying Big O
    • Big O Rule 1
    • Big O Rule 2
    • Big O Rule 3
    • O(n^2)
    • Big O Rule 4
    • Big O Cheat Sheet
    • What Does This All Mean?
    • O(n!)
    • 3 Pillars Of Programming
    • Space Complexity
    • Exercise: Space Complexity
    • Exercise: Twitter
    • Optional: Javascript Loops
    • Section Summary
    • Let's Have Some Fun (+ More Resources)
  •   How To Solve Coding Problems
    • Section Overview
    • What Are Companies Looking For?
    • What We Need For Coding Interviews
    • Exercise: Google Interview
    • Exercise: Interview Question
    • Exercise: Interview Question 2
    • Review Google Interview
    • Optional Exercise: Google Interview On Your Own
    • Section Summary
    • Unlimited Updates
  •   Data Structures: Introduction
    • Section Overview
    • What Is A Data Structure?
    • How Computers Store Data
    • Data Structures In Different Languages
    • Operations On Data Structures
    • Course Check-In
  •   Data Structures: Arrays
    • Arrays Introduction
    • Static vs Dynamic Arrays
    • Quick Note: Upcoming Video
    • Optional: Classes In Javascript
    • Implementing An Array
    • Strings and Arrays
    • Exercise: Reverse A String
    • Solution: Reverse A String
    • Exercise: Merge Sorted Arrays
    • Solution: Merge Sorted Arrays
    • Interview Questions: Arrays
    • Arrays Review
    • Implement a New Life System
  •   Data Structures: Hash Tables
    • Hash Tables Introduction
    • Hash Function
    • Hash Collisions
    • Hash Tables In Different Languages
    • Exercise: Implement A Hash Table
    • Solution: Implement A Hash Table
    • keys()
    • Bonus: keys() Without Collision
    • Hash Tables vs Arrays
    • Exercise: First Recurring Character
    • Solution: First Recurring Character
    • Interesting Tidbit: Python Dictionaries
    • Hash Tables Review
  •   Data Structures: Linked Lists
    • Linked Lists Introduction
    • What Is A Linked List?
    • Exercise: Why Linked Lists?
    • Solution: Why Linked Lists?
    • What Is A Pointer?
    • Our First Linked List
    • Solution: append()
    • Solution: prepend()
    • Node Class
    • insert()
    • Quick Note: Upcoming Video
    • Solution: insert()
    • Solution: remove()
    • Doubly Linked List
    • Exercise: Doubly Linked Lists
    • Solution: Doubly Linked Lists
    • Singly vs Doubly Linked Lists
    • Exercise: reverse()
    • Solution: reverse()
    • Linked Lists Review
    • Exercise: Imposter Syndrome
  •   Data Structures: Stacks + Queues
    • Stacks + Queues Introduction
    • Stacks
    • Queues
    • Exercise: Stacks vs Queues
    • Solution: Stacks vs Queues
    • Quick Note: Upcoming Video
    • Optional: How Javascript Works
    • Exercise: Stack Implementation (Linked Lists)
    • Solution: Stack Implementation (Linked Lists)
    • Exercise: Stack Implementation (Array)
    • Solution: Stack Implementation (Array)
    • Exercise: Queue Implementation
    • Solution: Queue Implementation
    • Queues Using Stacks
    • Stacks + Queues Review
  •   Data Structures: Trees
    • Trees Introduction
    • Binary Trees
    • O(log n)
    • Binary Search Trees
    • Balanced vs Unbalanced BST
    • BST Pros and Cons
    • Exercise: Binary Search Tree
    • Solution: insert()
    • Solution: lookup()
    • Bonus Exercise: remove()
    • Solution: remove()
    • AVL Trees + Red Black Trees
    • Resources: AVL Trees + Red Black Trees
    • Binary Heaps
    • Quick Note on Heaps
    • Priority Queue
    • Trie
    • Tree Review
  •   Data Structures: Graphs
    • Graphs Introduction
    • Types Of Graphs
    • Exercise: Guess The Graph
    • Graph Data
    • Exercise: Graph Implementation
    • Solution: Graph Implementation
    • Graphs Review
    • Data Structures Review
    • What Else Is Coming Up?
  •   Algorithms: Recursion
    • Introduction to Algorithms
    • Recursion Introduction
    • Stack Overflow
    • Anatomy Of Recursion
    • Exercise: Factorial
    • Solution: Factorial
    • Exercise: Fibonacci
    • Solution: Fibonacci
    • Recursive vs Iterative
    • When To Use Recursion
    • Exercise: Reverse String With Recursion
    • Recursion Review
  •   Algorithms: Sorting
    • Sorting Introduction
    • The Issue With sort()
    • Sorting Algorithms
    • Bubble Sort
    • Exercise: Bubble Sort
    • Solution: Bubble Sort
    • Selection Sort
    • Exercise: Selection Sort
    • Solution: Selection Sort
    • Dancing Algorithms
    • Insertion Sort
    • Exercise: Insertion Sort
    • Solution: Insertion Sort
    • Merge Sort and O(n log n)
    • Exercise: Merge Sort
    • Solution: Merge Sort
    • Stable vs Unstable Algorithms
    • Quick Sort
    • Optional Exercise: Quick Sort
    • Which Sort Is Best?
    • Resources: Heap Sort
    • Radix Sort + Counting Sort
    • Resources: Radix Sort + Counting Sort
    • Exercise: Sorting Interview
    • Solution: Sorting Interview
    • Sorting In Your Language
    • Sorting Review
  •   Algorithms: Searching + BFS + DFS
    • Searching + Traversal Introduction
    • Linear Search
    • Binary Search
    • Graph + Tree Traversals
    • BFS Introduction
    • DFS Introduction
    • BFS vs DFS
    • Resources: BFS vs DFS
    • Exercise: BFS vs DFS
    • Solution: BFS vs DFS
    • breadthFirstSearch()
    • breadthFirstSearchRecursive()
    • PreOrder, InOrder, PostOrder
    • depthFirstSearch()
    • Optional Exercise: Validate A BST
    • Graph Traversals
    • BFS in Graph
    • DFS in Graph
    • Dijkstra + Bellman-Ford Algorithms
    • Searching + Traversal Review
  •   Algorithms: Dynamic Programming
    • Dynamic Programming Introduction
    • Memoization 1
    • Memoization 2
    • Fibonacci and Dynamic Programming
    • Dynamic Programming
    • Implementing Dynamic Programming
    • Interview Questions: Dynamic Programming
    • Dynamic Programming Review
  •   Non Technical Interviews
    • Section Overview
    • During The Interview
    • Exercise: Hero Stories
    • Tell Me About Yourself
    • Exercise: Your Pitch
    • Why Us?
    • Tell Me About A Problem You Have Solved
    • Exercise: Past Projects
    • What Is Your Biggest Weakness
    • Exercise: Your Biggest Weakness
    • Any Questions For Us?
    • Resources: Questions To Ask A Company
    • Secret Weapon
    • After The Interview
    • Section Summary
  •   Offer + Negotiation
    • Section Overview
    • Handling Rejection
    • Negotiation 101
    • Handling An Offer
    • Handling Multiple Offers
    • Getting A Raise
    • Exercise: Negotiation Master
    • Section Summary
  •   Where To Go From Here?
    • Thank You
    • Review This Course!
    • Become An Alumni
    • Learning Guideline
    • ZTM Events Every Month
    • LinkedIn Endorsements
  •   Extras: Google, Amazon, Facebook Interview Questions
    • Coding Problems
    • Top Interview Questions
    • Amazon Interview Questions
    • Facebook Interview Questions
    • Google Interview Questions
    • Domain Specific Questions
  •   Contributing To Open Source To Gain Experience
    • Watch Git, Github + Open Source Projects Section
  •   Bonus: Extra Bits
    • Learning Guideline
    • Quick Note: Upcoming Videos
    • From JTS: Learn to Learn
    • From JTS: Start With Why
    • How To Use Leetcode

Taught by

Andrei Neagoie

Reviews

Start your review of Master the Coding Interview: Data Structures + Algorithms

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.