Master the Coding Interview Data Structures Algorithms

19h 27m 7s
English
Paid

Course description

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.

Read more about the course

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. You will also get access to our private online chat community with thousands of developers online to help you get through the course.


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!

Taught by:

Andrei is the instructor of the highest rated Web Development course on Udemy as well as one of the fastest growing. His graduates have moved on to work for some of the biggest tech companies around the world like Apple, Google, JP Morgan, IBM, etc... He has been working as a senior software developer in Silicon Valley and Toronto for many years, and is now taking all that he has learned, to teach programming skills and to help you discover the amazing career opportunities that being a developer allows in life. 

Having been a self taught programmer, he understands that there is an overwhelming number of online courses, tutorials and books that are overly verbose and inadequate at teaching proper skills. Most people feel paralyzed and don't know where to start when learning a complex subject matter, or even worse, most people don't have $20,000 to spend on a coding bootcamp. Programming skills should be affordable and open to all. An education material should teach real life skills that are current and they should not waste a student's valuable time.   Having learned important lessons from working for Fortune 500 companies, tech startups, to even founding his own business, he is now dedicating 100% of his time to teaching others valuable software development skills in order to take control of their life and work in an exciting industry with infinite possibilities. 

Andrei promises you that there are no other courses out there as comprehensive and as well explained. He believes that in order to learn anything of value, you need to start with the foundation and develop the roots of the tree. Only from there will you be able to learn concepts and specific skills(leaves) that connect to the foundation. Learning becomes exponential when structured in this way. 

Taking his experience in educational psychology and coding, Andrei's courses will take you on an understanding of complex subjects that you never thought would be possible.  

Requirements:

  • No experience with data structures or algorithms needed
  • Basic understanding of one programming language
  • No previous computer science knowledge necessary

Who this course is for:
  • Any engineer, developer, programmer, who wants to improve their interviewing skills
  • Anyone interested in improving their whiteboard coding skills
  • Anyone who wants to become a better developer
  • Any self taught programmer who missed out on a computer science degree

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

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 210 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Master the Coding Interview Data Structures Algorithms

0:00
/
#1: How To Succeed In This Course

All Course Lessons (210)

#Lesson TitleDurationAccess
1
How To Succeed In This Course Demo
05:05
2
Join Our Online Classroom!
04:02
3
ZTM Resources
04:24
4
Section Overview
05:40
5
Resume
05:10
6
Exercise: Resume Walkthrough
17:06
7
Resume Review
02:38
8
What If I Don't Have Enough Experience?
15:04
9
LinkedIn
08:23
10
Portfolio
03:24
11
Email
08:25
12
Where To Find Jobs?
06:03
13
When Should You Start Applying?
03:35
14
Section Summary
02:18
15
Setting Up Your Environment
02:54
16
Section Overview
02:25
17
What Is Good Code?
06:58
18
Big O and Scalability
11:09
19
O(n)
05:40
20
O(1)
06:11
21
Solution: Big O Calculation
05:55
22
Solution: Big O Calculation 2
02:30
23
Simplifying Big O
01:51
24
Big O Rule 1
04:29
25
Big O Rule 2
06:38
26
Big O Rule 3
03:14
27
O(n^2)
07:14
28
Big O Rule 4
06:48
29
Big O Cheat Sheet
03:20
30
What Does This All Mean?
05:33
31
O(n!)
01:19
32
3 Pillars Of Programming
03:33
33
Space Complexity
02:23
34
Exercise: Space Complexity
06:25
35
Exercise: Twitter
07:14
36
Optional: Javascript Loops
03:28
37
Section Summary
04:44
38
Section Overview
05:05
39
What Are Companies Looking For?
03:06
40
What We Need For Coding Interviews
03:28
41
Exercise: Google Interview
02:32
42
Exercise: Interview Question
20:34
43
Exercise: Interview Question 2
23:00
44
Review Google Interview
01:31
45
Section Summary
03:37
46
Section Overview
01:59
47
What Is A Data Structure?
05:54
48
How Computers Store Data
12:34
49
Data Structures In Different Languages
03:29
50
Operations On Data Structures
03:06
51
Arrays Introduction
13:52
52
Static vs Dynamic Arrays
06:41
53
Optional: Classes In Javascript
24:53
54
Implementing An Array
17:20
55
Strings and Arrays
01:05
56
Exercise: Reverse A String
01:36
57
Solution: Reverse A String
10:32
58
Exercise: Merge Sorted Arrays
00:45
59
Solution: Merge Sorted Arrays
14:13
60
Arrays Review
03:29
61
Hash Tables Introduction
04:11
62
Hash Function
05:57
63
Hash Collisions
09:44
64
Hash Tables In Different Languages
03:31
65
Exercise: Implement A Hash Table
03:52
66
Solution: Implement A Hash Table
17:26
67
keys()
06:12
68
Hash Tables VS Arrays
02:02
69
Exercise: First Recurring Character
01:19
70
Solution: First Recurring Character
16:12
71
Hash Tables Review
06:10
72
Linked Lists Introduction
02:27
73
What Is A Linked List?
04:37
74
Exercise: Imposter Syndrome
02:57
75
Exercise: Why Linked Lists?
02:06
76
Solution: Why Linked Lists?
05:36
77
What Is A Pointer?
05:46
78
Our First Linked List
08:39
79
Solution: append()
05:26
80
Solution: prepend()
02:29
81
Node Class
02:42
82
insert()
05:13
83
Solution: insert()
13:09
84
Solution: remove()
05:22
85
Doubly Linked Lists
03:19
86
Solution: Doubly Linked Lists
08:51
87
Singly VS Doubly Linked Lists
02:41
88
Exercise: reverse()
01:31
89
Solution: reverse()
07:39
90
Linked Lists Review
05:09
91
Stacks + Queues Introduction
02:59
92
Stacks
03:29
93
Queues
03:31
94
Exercise: Stacks VS Queues
03:07
95
Solution: Stacks VS Queues
03:40
96
Optional: How Javascript Works
24:13
97
Exercise: Stack Implementation (Linked Lists)
02:24
98
Solution: Stack Implementation (Linked Lists)
08:59
99
Exercise: Stack Implementation (Array)
00:54
100
Solution: Stack Implementation (Array)
03:57
101
Exercise: Queue Implementation
01:49
102
Solution: Queue Implementation
07:51
103
Queues Using Stacks
02:06
104
Stacks + Queues Review
02:20
105
Trees Introduction
06:24
106
Binary Trees
05:46
107
O(log n)
07:01
108
Binary Search Trees
06:13
109
Balanced VS Unbalanced BST
03:43
110
BST Pros and Cons
02:27
111
Exercise: Binary Search Tree
03:58
112
Solution: insert()
10:11
113
Solution: lookup()
04:55
114
Extra Exercise: remove()
02:29
115
Solution: remove()
07:42
116
AVL Trees + Red Black Trees
02:57
117
Binary Heaps
05:37
118
Quick Note on Heaps
01:09
119
Priority Queue
05:28
120
Trie
03:17
121
Tree Review
00:52
122
Graphs Introduction
02:29
123
Types Of Graphs
03:33
124
Exercise: Guess The Graph
02:46
125
Graph Data
05:59
126
Exercise: Graph Implementation
04:07
127
Solution: Graph Implementation
04:52
128
Graphs Review
02:05
129
Data Structures Review
01:53
130
What Else Is Coming Up?
01:54
131
Introduction to Algorithms
03:52
132
Recursion Introduction
05:37
133
Stack Overflow
06:18
134
Anatomy Of Recursion
10:28
135
Exercise: Factorial
03:26
136
Solution: Factorial
06:21
137
Exercise: Fibonacci
02:00
138
Solution: Fibonacci
11:22
139
Recursive VS Iterative
04:17
140
When To Use Recursion
04:01
141
Recursion Review
02:48
142
Sorting Introduction
07:02
143
The Issue With sort()
06:52
144
Sorting Algorithms
03:39
145
Bubble Sort
03:47
146
Solution: Bubble Sort
05:07
147
Selection Sort
02:40
148
Solution: Selection Sort
02:24
149
Dancing Algorithms
01:37
150
Insertion Sort
02:39
151
Solution: Insertion Sort
02:07
152
Merge Sort and O(n log n)
09:00
153
Solution: Merge Sort
04:45
154
Quick Sort
07:41
155
Which Sort Is Best?
04:41
156
Radix Sort + Counting Sort
04:18
157
Exercise: Sorting Interview
01:28
158
Solution: Sorting Interview
07:08
159
Sorting In Your Language
01:28
160
Sorting Review
02:54
161
Searching + Traversal Introduction
01:35
162
Linear Search
03:38
163
Binary Search
06:06
164
Graph + Tree Traversals
03:57
165
BFS Introduction
02:46
166
DFS Introduction
03:24
167
BFS vs DFS
03:21
168
Exercise: BFS vs DFS
00:45
169
Solution: BFS vs DFS
03:17
170
breadthFirstSearch()
09:16
171
breadthFirstSearchRecursive()
05:34
172
PreOrder, InOrder, PostOrder
05:22
173
depthFirstSearch()
12:04
174
Graph Traversals
03:54
175
BFS in Graphs
02:08
176
DFS in Graphs
02:51
177
Dijkstra + Bellman-Ford Algorithms
05:12
178
Searching + Traversal Review
04:22
179
Dynamic Programming Introduction
01:52
180
Memoization 1
07:48
181
Memoization 2
03:57
182
Fibonacci and Dynamic Programming
05:34
183
Dynamic Programming
05:48
184
Implementing Dynamic Programming
09:13
185
Dynamic Programming Review
04:46
186
Section Overview
02:39
187
During The Interview
09:05
188
Tell Me About Yourself
05:31
189
Why Us?
05:07
190
Tell Me About A Problem You Have Solved
05:19
191
What Is Your Biggest Weakness
02:20
192
Any Questions For Us?
03:25
193
Secret Weapon
08:12
194
After The Interview
05:25
195
Section Summary
03:57
196
Section Overview
02:11
197
Handling Rejection
04:08
198
Negotiation 101
09:41
199
Handling An Offer
09:04
200
Handling Multiple Offers
07:30
201
Getting A Raise
07:42
202
Section Summary
02:10
203
Thank You.
00:53
204
Coding Problems
01:26
205
Contributing To Open Source
14:45
206
Contributing To Open Source 2
09:43
207
From JTS: Learn to Learn
02:00
208
From JTS: Start With Why
02:44
209
How To Use Leetcode
02:28
210
AMA - 100,000 Students!!
38:31

Unlock unlimited learning

Get instant access to all 209 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Frontend System Design

Frontend System Design

Sources: LearnersBucket | Prashant Yadav
Become the Alpha frontend engineer by designing 30+ distinct web applications and all the fundamentals. Learn the advanced concepts, strategies, techniques, and
TypeScript Interview Questions - Coding Interview 2023

TypeScript Interview Questions - Coding Interview 2023

Sources: udemy
This course is great preparation for any TypeScript programming interviews that you may have coming up. Programming interviews need a lot amount of knowledge, but the best way t...
2 hours 56 minutes 26 seconds
Deep Learning Interview Prep Course | Full Course [100 Q&A's]

Deep Learning Interview Prep Course | Full Course [100 Q&A's]

Sources: LunarTech
Attend a deep learning interview with confidence using our comprehensive preparatory course! Master key concepts and advanced...
8 hours 12 minutes 34 seconds
Mastering Job Interview English | Get Your Dream Job

Mastering Job Interview English | Get Your Dream Job

Sources: udemy
Feeling nervous about your upcoming English job interview? Take this course and give yourself the boost you need to get hired at your English language job inter
2 hours 49 minutes 55 seconds