Master the Coding Interview: Big Tech (FAANG) Interviews

Master the Coding Interview: Big Tech (FAANG) Interviews

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 35h 27m | 8.46 GB

Get hired by Google, Amazon, Facebook, Microsoft, Apple, Netflix by acing their coding interview. The step-by-step guide and framework for solving their toughest questions!

What you’ll learn

  • Ace the coding interview at top tech companies (Google, Amazon, Facebook, Apple, Microsoft, Netflix + others)
  • Step-by-step guide to solving common questions and how to best present them during the tech interview
  • The ultimate resource to prepare for coding interviews, tech interviews and programming interviews
  • Insider tips & tricks from instructors who have worked for big tech companies and actually gone through and aced the interview process
  • A mental framework on how to approach solving coding problems so that you can become a better problem solver and answer ANY question companies throw at you
  • Use the right Data Structures and Algorithms to pass coding interview questions that have the optimal solution
  • Become a better developer by mastering Computer Science fundamentals
  • Learn exactly what you need to answer the most difficult questions
Table of Contents

1 Course Breakdown
2 Interview Question #1 Two Sum
3 How To Approach Our Problem
4 Writing Our Brute Force Solution
5 Testing Our Solution With Our Test Cases
6 Submitting To Leetcode
7 Optimizing Our Solution
8 Coding Our Optimal Solution
9 Testing Our Optimal Solution With Our Test Cases
10 Checking Performance On LeetCode
11 Interview Question #2 – Container With Most Water
12 Coming Up With Test Cases
13 Thinking Through A Logical Brute Force Solution
14 Coding Out Our Brute Force Solution
15 Stepping Through Our Code
16 Thinking About Our Optimal Solution
17 Coding Our Optimal Solution And Testing On LeetCode
18 Interview Question #3 – Trapping Rainwater
19 Thinking About A Logical Solution
20 Coding Our Brute Force Solution
21 Figuring Out Our Optimization Strategy
22 Coding Our Optimal Solution
23 Optimal Code And Testing On LeetCode
24 Interview Question #4 -Typed Out Strings
25 Logic Of Our Brute Force Solution
26 Coding Our Brute Force Solution
27 Space And Time Complexity
28 Coming Up With Optimal Solution
29 Coding Our Optimal Solution
30 Submitting To LeetCode
31 Interview Question #5 – Longest Substring Without Repeating Characters
32 Coming Up With A Brute Force Approach
33 Coding Our Brute Force Solution
34 Space And Time Complexity
35 Sliding Window Technique
36 Hints For Optimizing Our Solution
37 Thinking About Optimal Solution
38 Coding Our Optimal Solution
39 Optimal Code And Testing On LeetCode
40 Intro To Palindromes
41 Interview Question #6 – Valid Palindrome
42 Almost A Palindrome
43 Figuring Out Our Solution
44 Coding Our Solution
45 Linked List Introduction
46 Basic Algorithm: Reverse a Linked List
47 Thinking About Our Solution
48 Coding Reverse A Linked List Solution
49 Interview Question #7 – M, N Reversals
50 Coming Up With A Logical Solution
51 Coding Our Solution
52 Interview Question #8 – Merge Multi-Level Doubly Linked List
53 Figuring Out Our Test Cases
54 Thinking About Our Approach
55 Coding Out Our Solution
56 Interview Question #9 – Cycle Detection
57 Floyd’s Tortoise And Hare
58 Coding Floyd’s Algorithm
59 Optional: Proof Of How Floyd’s Algorithm Works
60 Intro to Stacks and Queues
61 Interview Question #10 – Valid Parentheses
62 Walking Through Our Problem – Identifying The Need For A Stack
63 Coding Our Solution With A Stack
64 Interview Question #11 – Minimum Brackets To Remove
65 Thinking About Our Solution
66 Coding Our Solution
67 Question #12 – Implement Queue With Stacks
68 Figuring Out Our Solution
69 Coding Our Solution
70 Introducing Recursion
71 Optional: Tail Recursion
72 Sorting
73 Interview Question #13 – Kth Largest Element
74 Insights From Quick Sort
75 Understanding Divide And Conquer
76 Coding Quicksort Into Our Solution
77 Understanding Hoare’s Quickselect Algorithm
78 Coding Our Solution With Quickselect
79 Understanding Binary Search
80 How To Code Binary Search
81 Question #14 – Start And End Of Target In A Sorted Array
82 Walking Through Our Solution
83 Coding Our Solution
84 Intro to Binary Trees
85 Question #15 – Maximum Depth of Binary Tree
86 Learning The Process For Solving Binary Tree Problems
87 Coding Our Solution
88 Question #16 – Level Order Of Binary Tree
89 Walking Through Our Solution
90 Coding Out Level Order Traversal
91 Question #17 – Right Side View of Tree
92 Understanding The Breadth First Search Approach
93 Understanding The Depth First Search Approach
94 Thinking About Pre-Order, In-Order, and Post-Order Traversals For Our Solution
95 Completing Our DFS Solution
96 Coding Our Final DFS Solution
97 Question #18 – Number Of Nodes In Complete Tree
98 Thinking Deeply About A Full Binary Tree
99 Figuring Out Number Of Nodes At Last Level
100 Coding Out Our Full Solution
101 Question #19 – Validate Binary Search Tree
102 Thinking About Our Logical Solution
103 Figuring Out Our Boundaries
104 Coding Our Our Full Solution
105 Introducing Heaps
106 Insertion In Heaps – Understanding Sift Up
107 Deletion In Heaps – Understanding Sift Down
108 Starting To Code Our Priority Queue Class
109 Coding Our Insertion And Sift Up Methods
110 Coding Our Deletion And Sift Down Methods
111 Introducing 2D Arrays – What Are They?
112 Depth First Search In 2D-Arrays
113 Coding DFS – Setting Up For DFS
114 Coding DFS – Implementing Recursive DFS
115 Breadth First Search In 2D-Arrays
116 Coding BFS
117 A General Approach To Thinking About Most Graph Questions
118 Question #20 Number Of Islands
119 Approaching Our Problem – Thinking Deeply About The Values
120 Approaching Our Problem – Thinking About Traversals
121 Coding Our Solution
122 Thinking About Space And Time Complexity
123 Question #21 Rotting Oranges
124 Figuring Out Our Initial Logic
125 Figuring Out The Rest Of Our Solution
126 Coding Out Our Solution
127 Question #22 – Walls And Gates
128 Figuring Out Our Logical Solution
129 Coding Out Our Solution
130 Introduction To The Types Of Graphs
131 Representing Our Graphs – Adjacency List & Adjacency Matrix
132 Breadth First Search In Graphs
133 Coding BFS
134 Depth First Search In Graphs
135 Coding DFS
136 Question #23 – Time Needed to Inform All Employees
137 Verifying Our Constraints And Thinking About Test Cases
138 How To Represent Our Graph As An Adjacency List
139 Solving Our Problem Logically Using DFS Traversal
140 Coding Our DFS Solution
141 Question #24 – Course Scheduler
142 Thinking About Our Initial Solution – BFS
143 Coding Out Our Initial BFS Solution
144 What is Topological Sort?
145 Thinking About A Solution With Topological Sort
146 Coding Our Final Solution
147 Question #25 – Network Time Delay
148 Thinking About How To Approach The Problem
149 Greedy Method & What Is Dijkstra’s Algorithm?
150 Thinking About A Solution With Dijkstra’s Algorithm
151 Coding Our Solution With Dijkstra
152 Thinking About Time And Space Complexity Of Our Solution
153 What is The Bellman-Ford Algorithm? – Conceptualizing Dynamic Programming
154 What is The Bellman-Ford Algorithm? – The Algorithm Itself
155 Coding Our Solution With Bellman-Ford
156 Question #26 – Minimum Cost Of Climbing Stairs & How To Approach DP
157 Understanding & Identifying Recurrence Relation
158 First Step – Recursive Solution From Recurrence Relation
159 Second Step – Memoizing Our Redundant Recursive Calls
160 Coding Our Memoization Optimization
161 Understanding The Bottom Up Approach (Tabulation)
162 Third Step – Bottom Up Tabulation
163 Fourth Step – Bottom Up Optimization
164 Question #27 – Knight Probability In Chessboard
165 Thinking About Test Cases To Help Us
166 Identifying The Recurrence Relation
167 First Step – Recursive Solution From Recurrence Relation
168 Second Step – Memoizing Our Redundant Recursive Calls
169 Figuring Out The Logic For Our Bottom Up Solution
170 Third Step – Bottom Up Tabulation
171 Fourth Step – Bottom Up Optimization
172 Understanding The Basics Of Backtracking
173 Question #28 – Sudoku Solver
174 Learning The Backtracking Template
175 Applying Our Backtracking Template To Sudoku Solver Logic
176 Coding How To Get Box ID
177 Setting Up Our Solution Code
178 Coding The Recursive Backtracking Portion Of Our Solution
179 Thinking About The Space And Time Complexity
180 Understanding Interface Design & Question #29 – Monarchy
181 Figuring Out Our Test Cases
182 Thinking About The Logical Of The Monarchy
183 Coding Our Monarchy Solution
184 Introducing Tries
185 Question #30 – Implement Prefix Trie
186 Understanding The Logic For Our Methods
187 Implementing Our Prefix Trie Data Structure Solution
188 Section Overview
189 What Is Good Code?
190 Big O and Scalability
191 O(n)
192 O(1)
193 Solution: Big O Calculation
194 Solution: Big O Calculation 2
195 Simplifying Big O
196 Big O Rule 1
197 Big O Rule 2
198 Big O Rule 3
199 O(n^2)
200 Big O Rule 4
201 Big O Cheat Sheet
202 What Does This All Mean?
203 O(n!)
204 3 Pillars Of Programming
205 Space Complexity
206 Exercise: Space Complexity
207 Exercise: Twitter
208 Section Summary
209 Arrays Introduction
210 Static vs Dynamic Arrays
211 Optional: Implementing An Array
212 Hash Tables Introduction
213 Hash Function
214 Hash Collisions
215 Hash Tables VS Arrays
216 Linked Lists Introduction
217 What Is A Linked List?
218 Exercise: Why Linked Lists?
219 Solution: Why Linked Lists?
220 What Is A Pointer?
221 Doubly Linked Lists
222 Singly VS Doubly Linked Lists
223 Linked Lists Review
224 Stacks + Queues Introduction
225 Stacks
226 Queues
227 Exercise: Stacks VS Queues
228 Solution: Stacks VS Queues
229 Stacks + Queues Review
230 Trees Introduction
231 Binary Trees
232 O(log n)
233 Binary Search Tree
234 Balanced VS Unbalanced BST
235 BST Pros and Cons
236 Trie
237 Graph + Tree Traversals
238 BFS Introduction
239 DFS Introduction
240 BFS vs DFS
241 Exercise: BFS vs DFS
242 Solution: BFS vs DFS
243 Recursion Introduction
244 Stack Overflow
245 Anatomy Of Recursion
246 Recursive VS Iterative
247 When To Use Recursion
248 Recursion Review
249 Sorting Introduction
250 The Issue With sort()
251 Sorting Algorithms
252 Bubble Sort
253 Solution: Bubble Sort
254 Selection Sort
255 Solution: Selection Sort
256 Dancing Algorithms
257 Insertion Sort
258 Solution: Insertion Sort
259 Merge Sort and O(n log n)
260 Solution: Merge Sort
261 Quick Sort