You are NOT signed in as a student! Your progress will not be saved and you won't see milestones on your ZTM Passport.
Make sure you are logged into
Academy
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Master the Coding Interview: Data Structures + Algorithms
Introduction
Why This Course? (3:47)
How To Succeed In This Course (5:04)
Exercise: Meet Your Classmates and Instructor
ZTM Plugin + Understanding Your Video Player
Set Your Learning Streak Goal
Optional: Getting More Interviews
Optional Section
Section Overview (5:39)
Resume (5:09)
Exercise: Resume Walkthrough (17:05)
Resources: Resume Templates
Resume Review (2:37)
What If I Don’t Have Enough Experience? (21:30)
Optional Exercise: Github Master
Optional Exercise: Github README
LinkedIN (8:07)
Optional Exercise: LinkedIn Endorsements
Portfolio (3:23)
Resources: Free Portfolio Templates
Email (8:24)
Resources: Email
Where To Find Jobs? (5:48)
Resources: Where To Find Jobs?
When Should You Start Applying? (3:34)
Section Summary (2:17)
Monthly Industry Updates
Big O
Python, Java, C/C++, C#, Go, Swift, Kotlin, TypeScript, Scala, Rust, Perl, PHP
Setting Up Your Environment (2:53)
Section Overview (2:24)
IMPORTANT: Replit Code
What Is Good Code? (6:57)
Big O and Scalability (11:08)
O(n) (5:39)
O(1) (6:10)
Exercise: Big O Calculation
Solution: Big O Calculation (5:54)
Exercise: Big O Calculation 2
Solution: Big O Calculation 2 (2:29)
Simplifying Big O (1:50)
Big O Rule 1 (4:28)
Big O Rule 2 (6:36)
Big O Rule 3 (3:13)
O(n^2) (7:13)
Big O Rule 4 (6:47)
Big O Cheat Sheet (3:18)
What Does This All Mean? (5:32)
O(n!) (1:18)
3 Pillars Of Programming (3:32)
Space Complexity (2:22)
Exercise: Space Complexity (6:24)
Exercise: Twitter (7:13)
Optional: Javascript Loops (3:27)
Section Summary (4:43)
Let's Have Some Fun (+ More Resources)
How To Solve Coding Problems
Section Overview (5:04)
What Are Companies Looking For? (3:05)
What We Need For Coding Interviews (3:27)
Exercise: Google Interview (2:31)
Exercise: Interview Question (20:33)
Exercise: Interview Question 2 (22:59)
Review Google Interview (1:30)
Optional Exercise: Google Interview On Your Own
Section Summary (3:35)
Unlimited Updates
Data Structures: Introduction
Section Overview (1:58)
What Is A Data Structure? (5:53)
How Computers Store Data (12:34)
Data Structures In Different Languages (3:27)
Operations On Data Structures (3:05)
Course Check-In
Data Structures: Arrays
Arrays Introduction (13:51)
Static vs Dynamic Arrays (6:40)
Quick Note: Upcoming Video
Optional: Classes In Javascript (24:51)
Implementing An Array (17:19)
Strings and Arrays (1:04)
Exercise: Reverse A String (1:35)
Solution: Reverse A String (10:31)
Exercise: Merge Sorted Arrays (0:44)
Solution: Merge Sorted Arrays (14:12)
Interview Questions: Arrays
Arrays Review (3:28)
Implement a New Life System
Data Structures: Hash Tables
Hash Tables Introduction (4:10)
Hash Function (5:56)
Hash Collisions (9:43)
Hash Tables In Different Languages (3:30)
Exercise: Implement A Hash Table (3:51)
Solution: Implement A Hash Table (17:24)
keys() (6:11)
Bonus: keys() Without Collision
Hash Tables vs Arrays (2:01)
Exercise: First Recurring Character (1:18)
Solution: First Recurring Character (16:11)
Interesting Tidbit: Python Dictionaries
Hash Tables Review (6:09)
Data Structures: Linked Lists
Linked Lists Introduction (2:26)
What Is A Linked List? (4:36)
Exercise: Why Linked Lists? (2:05)
Solution: Why Linked Lists? (5:35)
What Is A Pointer? (5:45)
Our First Linked List (8:38)
Solution: append() (5:25)
Solution: prepend() (2:28)
Node Class (2:40)
insert() (5:12)
Quick Note: Upcoming Video
Solution: insert() (13:08)
Solution: remove() (5:21)
Doubly Linked List (3:18)
Exercise: Doubly Linked Lists
Solution: Doubly Linked Lists (8:50)
Singly vs Doubly Linked Lists (2:40)
Exercise: reverse() (1:30)
Solution: reverse() (7:38)
Linked Lists Review (5:08)
Exercise: Imposter Syndrome (2:55)
Data Structures: Stacks + Queues
Stacks + Queues Introduction (2:58)
Stacks (3:28)
Queues (3:30)
Exercise: Stacks vs Queues (3:06)
Solution: Stacks vs Queues (3:39)
Quick Note: Upcoming Video
Optional: How Javascript Works (24:12)
Exercise: Stack Implementation (Linked Lists) (2:23)
Solution: Stack Implementation (Linked Lists) (8:58)
Exercise: Stack Implementation (Array) (0:53)
Solution: Stack Implementation (Array) (3:56)
Exercise: Queue Implementation (1:48)
Solution: Queue Implementation (7:50)
Queues Using Stacks (2:04)
Stacks + Queues Review (2:19)
Data Structures: Trees
Trees Introduction (6:23)
Binary Trees (5:45)
O(log n) (7:00)
Binary Search Trees (6:12)
Balanced vs Unbalanced BST (3:42)
BST Pros and Cons (2:26)
Exercise: Binary Search Tree (3:57)
Solution: insert() (10:10)
Solution: lookup() (4:54)
Bonus Exercise: remove() (2:28)
Solution: remove() (7:41)
AVL Trees + Red Black Trees (2:56)
Resources: AVL Trees + Red Black Trees
Binary Heaps (5:36)
Quick Note on Heaps (1:08)
Priority Queue (5:27)
Trie (3:16)
Tree Review (0:51)
Data Structures: Graphs
Graphs Introduction (2:28)
Types Of Graphs (3:32)
Exercise: Guess The Graph (2:45)
Graph Data (5:58)
Exercise: Graph Implementation (4:06)
Solution: Graph Implementation (4:50)
Graphs Review (2:04)
Data Structures Review (1:52)
What Else Is Coming Up? (1:53)
Algorithms: Recursion
Introduction to Algorithms (3:52)
Recursion Introduction (5:36)
Stack Overflow (6:17)
Anatomy Of Recursion (10:27)
Exercise: Factorial (3:25)
Solution: Factorial (6:20)
Exercise: Fibonacci (1:59)
Solution: Fibonacci (11:21)
Recursive vs Iterative (4:16)
When To Use Recursion (4:00)
Exercise: Reverse String With Recursion
Recursion Review (2:47)
Algorithms: Sorting
Sorting Introduction (7:01)
The Issue With sort() (6:51)
Sorting Algorithms (3:38)
Bubble Sort (3:45)
Exercise: Bubble Sort
Solution: Bubble Sort (5:06)
Selection Sort (2:39)
Exercise: Selection Sort
Solution: Selection Sort (2:23)
Dancing Algorithms (1:36)
Insertion Sort (2:38)
Exercise: Insertion Sort
Solution: Insertion Sort (2:06)
Merge Sort and O(n log n) (8:59)
Exercise: Merge Sort
Solution: Merge Sort (4:44)
Stable vs Unstable Algorithms
Quick Sort (7:40)
Optional Exercise: Quick Sort
Which Sort Is Best? (4:40)
Resources: Heap Sort
Radix Sort + Counting Sort (4:17)
Resources: Radix Sort + Counting Sort
Exercise: Sorting Interview (1:27)
Solution: Sorting Interview (7:07)
Sorting In Your Language (1:27)
Sorting Review (2:53)
Algorithms: Searching + BFS + DFS
Searching + Traversal Introduction (1:34)
Linear Search (3:37)
Binary Search (6:05)
Graph + Tree Traversals (3:56)
BFS Introduction (2:45)
DFS Introduction (3:23)
BFS vs DFS (3:20)
Resources: BFS vs DFS
Exercise: BFS vs DFS (0:44)
Solution: BFS vs DFS (3:16)
breadthFirstSearch() (9:15)
breadthFirstSearchRecursive() (5:33)
PreOrder, InOrder, PostOrder (5:21)
depthFirstSearch() (12:03)
Optional Exercise: Validate A BST
Graph Traversals (3:53)
BFS in Graph (2:07)
DFS in Graph (2:49)
Dijkstra + Bellman-Ford Algorithms (5:11)
Searching + Traversal Review (4:21)
Algorithms: Dynamic Programming
Dynamic Programming Introduction (1:51)
Memoization 1 (7:47)
Memoization 2 (3:56)
Fibonacci and Dynamic Programming (5:33)
Dynamic Programming (5:47)
Implementing Dynamic Programming (9:12)
Interview Questions: Dynamic Programming
Dynamic Programming Review (4:45)
Non Technical Interviews
Section Overview (2:38)
During The Interview (9:04)
Exercise: Hero Stories
Tell Me About Yourself (5:30)
Exercise: Your Pitch
Why Us? (5:06)
Tell Me About A Problem You Have Solved (5:18)
Exercise: Past Projects
What Is Your Biggest Weakness (2:19)
Exercise: Your Biggest Weakness
Any Questions For Us? (3:24)
Resources: Questions To Ask A Company
Secret Weapon (8:11)
After The Interview (5:24)
Section Summary (3:56)
Offer + Negotiation
Section Overview (2:10)
Handling Rejection (4:07)
Negotiation 101 (9:40)
Handling An Offer (9:03)
Handling Multiple Offers (7:29)
Getting A Raise (7:41)
Exercise: Negotiation Master
Section Summary (2:09)
Where To Go From Here?
Thank You (0:52)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Extras: Google, Amazon, Facebook Interview Questions
Coding Problems (1:25)
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 (1:59)
From JTS: Start With Why (2:43)
How To Use Leetcode (2:27)
Hash Function
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures