Skip to main content

Master the Coding Interview Data Structures Algorithms

19h 27m 7s
English
Paid

Are you aiming to secure a position at top-tier tech giants like Google, Microsoft, Facebook, Netflix, Amazon, or other leading companies, but find yourself intimidated by the interview process and challenging coding questions? Do you often feel "stuck" when faced with coding questions in interviews? This course is designed just for you. With the strategies, lessons, and exercises provided, you will master the skills necessary to land offers from a wide range of companies.

Course Requirements

Many developers who are self-taught often feel at a disadvantage compared to computer science graduates, particularly because they lack formal knowledge of algorithms, data structures, and the critical Big-O Notation. This course will level the playing field by teaching you these fundamental computer science building blocks, providing a substantial advantage during interviews. Additionally, you'll gain access to our exclusive online chat community with thousands of developers ready to support you throughout the course.

What You Will Learn

Technical Skills

  • Big O Notation
  • Data Structures:
    • Arrays
    • Hash Tables
    • Singly Linked Lists
    • Doubly Linked Lists
    • Queues
    • Stacks
    • Trees (BST, AVL Trees, Red Black Trees, Binary Heaps)
    • Tries
    • Graphs
  • Algorithms:
    • Recursion
    • Sorting
    • Searching
    • Tree Traversal
    • Breadth First Search
    • Depth First Search
    • Dynamic Programming

Non-Technical Skills

  • How to secure more interviews
  • Effective interview strategies
  • Conduct post-interview follow-ups
  • Answer interview questions confidently
  • Navigate job offers
  • Negotiate your salary
  • Gain promotions and raises

I am a senior developer and programmer, not a marketer. Having managed engineering teams and participated in many interviews as both an interviewee and interviewer, I understand the process intimately. My goal as an instructor is to enhance your interviewing skills, helping you secure more job offers and potentially change the trajectory of your career. I invite you to enroll today to discover the profound impact this skill can have on your professional journey!

Meet Your Instructor

Andrei is the instructor of the highest-rated Web Development course on Udemy and one of the fastest-growing educators in the field. His students have gone on to work for leading tech firms like Apple, Google, and JP Morgan. As a senior software developer with extensive experience in both Silicon Valley and Toronto, he's now focused on teaching programming skills to help you explore the exciting opportunities offered by a career in development.

Having been self-taught himself, Andrei understands the vast number of overly verbose and poorly organized online resources available. He strongly believes in making programming skills accessible and affordable, offering real-life lessons without wasting your valuable time. Drawing from his varied experiences with Fortune 500 companies, tech startups, and his entrepreneurial endeavors, Andrei dedicates himself to teaching others essential software development skills, enabling you to seize control of your own career in an industry full of limitless potential.

Promises from Andrei: His courses are unparalleled in their comprehensiveness and clarity. He emphasizes starting with foundational knowledge, fostering a learning environment where concepts build upon one another, leading to exponential understanding. With expertise in educational psychology and coding, his courses will demystify complex subjects like never before.

Requirements

  • No prior experience with data structures or algorithms is necessary
  • Basic understanding of at least one programming language
  • No formal computer science background required

Target Audience

  • Engineers, developers, programmers wanting to enhance their interview skills
  • Individuals interested in improving their whiteboard coding proficiency
  • Aspiring developers looking to elevate their skills
  • Self-taught programmers lacking a formal computer science degree

Learning Outcomes

  • Excel in coding interviews with top tech companies
  • Feel more confident and prepared for your next coding challenge
  • Learn and implement various data structures
  • Master and apply different algorithms
  • Increase your number of interviews
  • Professionally handle offers and negotiate better conditions
  • Become a stronger developer by mastering computer science fundamentals

About the Authors

udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

zerotomastery.io

zerotomastery.io thumbnail
Whether you are just starting to learn to code or want to advance your skills, Zero To Mastery Academy will teach you React, Javascript, Python, CSS and more to help you advance your career, get hired and succeed at some of the top companies in the world.

Watch Online 210 lessons

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
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