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
Getting More Interviews
Section Overview (5:39)
Resume (5:09)
Exercise: Resume Walkthrough (17:05)
Resume Review (2:37)
Resources: Resume Templates
What If I Don't Have Enough Experience? (15:03)
Optional Exercise: Github Master
Optional Exercise: Github README
LinkedIn (8:22)
Optional Exercise: LinkedIn Endorsements
Portfolio (3:23)
Resources: Free Portfolio Templates
Email (8:24)
Resources: Email
Where To Find Jobs? (6:02)
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)
AMA - 100,000 Students!! (38:30)
What If I Don't Have Enough Experience?
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