Master the Coding Interview: Data Structures + Algorithms

Master the Coding Interview: Data Structures + Algorithms

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 19 Hours | 12.5 GB

Ultimate coding interview bootcamp. Get more job offers, negotiate a raise: Everything you need to get the job you want! Want to land a job at a great tech company like Google, Microsoft, Facebook, Netflix, Amazon, or other companies but you are 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 graduates in computer science is the fact that they don’t have knowledge about algorithms, data structures and the notorious Big-O Notation. Get on the same level as someone with computer science degree by learning the fundamental building blocks of computer science which will give you a big boost during interviews. Here is what you will learn in this course: 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 Unlike most instructors, I am not a marketer or a salesperson. I am 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 successful if I am able to help you become better at interviewing and land more jobs. This one skill can really change the course of your career and I hope you sign up today to see what it can do for your career! What you’ll learn
  • Ace coding interviews given by some of the top tech companies
  • Become more confident and prepared for your next coding interview
  • Learn, implement, and use different Data Structures
  • Learn, implement and use different Algorithms
  • Get more interviews
  • Professionally handle offers and negotiate raises
  • Become a better developer by mastering computer science fundamentals
+ Table of Contents

Introduction
1 How To Succeed In This Course
2 Join Our Online Classroom!
3 Exercise Meet The Community!

Getting More Interviews
4 Section Overview
5 Resume
6 Exercise Resume Walkthrough
7 Resume Review
8 Resources Resume Templates
9 What If I Don’t Have Enough Experience
10 Optional Exercise Github Master
11 LinkedIn
12 Optional Exercise LinkedIn Endorsements
13 Portfolio
14 Resources Free Portfolio Templates
15 Email
16 Resources Email
17 Where To Find Jobs
18 Resources Where To Find Jobs
19 When Should You Start Applying
20 Section Summary

Big O
22 Setting Up Your Environment
24 Section Overview
25 What Is Good Code
26 Big O and Scalability
27 O(n)
28 O(1)
29 Exercise Big O Calculation
30 Solution Big O Calculation
31 Exercise Big O Calculation 2
32 Solution Big O Calculation 2
33 Simplifying Big O
34 Big O Rule 1
35 Big O Rule 2
36 Big O Rule 3
37 O(n^2)
38 Big O Rule 4
39 Big O Cheat Sheet
40 What Does This All Mean
41 O(n!)
42 Pillars Of Programming
43 Space Complexity
44 Exercise Space Complexity
45 Exercise Twitter
46 Optional Javascript Loops
47 Section Summary

How To Solve Coding Problems
48 Section Overview
49 What Are Companies Looking For
50 What We Need For Coding Interviews
51 Exercise Google Interview
52 Exercise Interview Question
53 Exercise Interview Question 2
54 Review Google Interview
55 Optional Exercise Google Interview On Your Own
56 Section Summary

Data Structures Introduction
57 Section Overview
58 What Is A Data Structure
59 How Computers Store Data
60 Data Structures In Different Languages
61 Operations On Data Structures

Data Structures Arrays
62 Arrays Introduction
63 Static vs Dynamic Arrays
64 Quick Note Upcoming Video
65 Optional Classes In Javascript
66 Implementing An Array
67 Strings and Arrays
68 Exercise Reverse A String
69 Solution Reverse A String
70 Exercise Merge Sorted Arrays
71 Solution Merge Sorted Arrays
72 Interview Questions Arrays
73 Arrays Review

Data Structures Hash Tables
74 Hash Tables Introduction
75 Hash Function
76 Hash Collisions
77 Hash Tables In Different Languages
78 Exercise Implement A Hash Table
79 Solution Implement A Hash Table
80 keys()
81 Hash Tables VS Arrays
82 Exercise First Recurring Character
83 Solution First Recurring Character
84 Interesting Tidbit Python Dictionaries
85 Hash Tables Review

Data Structures Linked Lists
86 Linked Lists Introduction
87 What Is A Linked List
88 Exercise Why Linked Lists
89 Solution Why Linked Lists
90 What Is A Pointer
91 Our First Linked List
92 Solution append()
93 Solution prepend()
94 Node Class
95 insert()
96 Quick Note Upcoming Video
97 Solution insert()
98 Solution remove()
99 Doubly Linked Lists
100 Exercise Doubly Linked Lists
101 Solution Doubly Linked Lists
102 Singly VS Doubly Linked Lists
103 Exercise reverse()
104 Solution reverse()
105 Linked Lists Review

Data Structures Stacks + Queues
106 Stacks + Queues Introduction
107 Stacks
108 Queues
109 Exercise Stacks VS Queues
110 Solution Stacks VS Queues
111 Quick Note Upcoming Video
112 Optional How Javascript Works
113 Exercise Stack Implementation (Linked Lists)
114 Solution Stack Implementation (Linked Lists)
115 Exercise Stack Implementation (Array)
116 Solution Stack Implementation (Array)
117 Exercise Queue Implementation
118 Solution Queue Implementation
119 Queues Using Stacks
120 Stacks + Queues Review

Data Structures Trees
121 Trees Introduction
122 Binary Trees
123 O(log n)
124 Correction Binary Search Trees
125 Binary Search Trees
126 Balanced VS Unbalanced BST
127 BST Pros and Cons
128 Exercise Binary Search Tree
129 Solution insert()
130 Solution lookup()
131 Bonus Exercise remove()
132 Solution remove()
133 AVL Trees + Red Black Trees
134 Resources AVL Trees + Red Black Trees
135 Binary Heaps
136 Quick Note on Heaps
137 Priority Queue
138 Trie
139 Tree Review

Data Structures Graphs
140 Graphs Introduction
141 Types Of Graphs
142 Exercise Guess The Graph
143 Graph Data
144 Exercise Graph Implementation
145 Solution Graph Implementation
146 Graphs Review
147 Data Structures Review
148 What Else Is Coming Up

Algorithms Recursion
149 Introduction to Algorithms
150 Recursion Introduction
151 Stack Overflow
152 Anatomy Of Recursion
153 Exercise Factorial
154 Solution Factorial
155 Exercise Fibonacci
156 Solution Fibonacci
157 Recursive VS Iterative
158 When To Use Recursion
159 Exercise Reverse String With Recursion
160 Recursion Review

Algorithms Sorting
161 Sorting Introduction
162 The Issue With sort()
163 Sorting Algorithms
164 Bubble Sort
165 Exercise Bubble Sort
166 Solution Bubble Sort
167 Selection Sort
168 Exercise Selection Sort
169 Solution Selection Sort
170 Dancing Algorithms
171 Insertion Sort
172 Exercise Insertion Sort
173 Solution Insertion Sort
174 Merge Sort and O(n log n)
175 Exercise Merge Sort
176 Solution Merge Sort
177 Stable VS Unstable Algorithms
178 Quick Sort
179 Optional Exercise Quick Sort
180 Which Sort Is Best
181 Resources Heap Sort
182 Radix Sort + Counting Sort
183 Resources Radix Sort + Counting Sort
184 Exercise Sorting Interview
185 Solution Sorting Interview
186 Sorting In Your Language
187 Sorting Review

Algorithms Searching + BFS + DFS
188 Searching + Traversal Introduction
189 Linear Search
190 Binary Search
191 Graph + Tree Traversals
192 BFS Introduction
193 DFS Introduction
194 BFS vs DFS
195 Resources BFS vs DFS
196 Exercise BFS vs DFS
197 Solution BFS vs DFS
198 breadthFirstSearch()
199 breadthFirstSearchRecursive()
200 PreOrder, InOrder, PostOrder
201 depthFirstSearch()
202 Optional Exercise Validate A BST
203 Graph Traversals
204 BFS in Graphs
205 DFS in Graphs
206 Dijkstra + Bellman-Ford Algorithms
207 Searching + Traversal Review

Algorithms Dynamic Programming
208 Dynamic Programming Introduction
209 Memoization 1
210 Memoization 2
211 Fibonacci and Dynamic Programming
212 Dynamic Programming
213 Implementing Dynamic Programming
214 Interview Questions Dynamic Programming
215 Dynamic Programming Review

Non Technical Interviews
216 Section Overview
217 During The Interview
218 Exercise Hero Stories
219 Tell Me About Yourself
220 Exercise Your Pitch
221 Why Us
222 Tell Me About A Problem You Have Solved
223 Exercise Past Projects
224 What Is Your Biggest Weakness
225 Exercise Your Biggest Weakness
226 Any Questions For Us
227 Resources Questions To Ask A Company
228 Secret Weapon
229 After The Interview
230 Section Summary

Offer + Negotiation
231 Section Overview
232 Handling Rejection
233 Negotiation 101
234 Handling An Offer
235 Handling Multiple Offers
236 Getting A Raise
237 Exercise Negotiation Master
238 Section Summary

Thank You
239 Become an Alumni
240 Thank You.
241 What You Can Do Now

Extras Google, Amazon, Facebook Interview Questions
242 Coding Problems
243 Top Interview Questions
244 Amazon Interview Questions
245 Facebook Interview Questions
246 Google Interview Questions
247 Domain Specific Questions

Contributing To Open Source To Gain Experience
248 Contributing To Open Source
249 Contributing To Open Source 2
250 Exercise Contribute To Open Source

Bonus Extra Bits
251 Learning Guideline
252 Quick Note Upcoming Videos
253 From JTS Learn to Learn
254 From JTS Start With Why
255 Coding Challenges
256 How To Use Leetcode
257 AMA – 100,000 Students!!

Extras
258 Bonus Special Thank You Gift