Master the Coding Interview: Data Structures + Algorithms
4.7 (1,395 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,993 students enrolled

Master the Coding Interview: Data Structures + Algorithms

Ultimate coding interview bootcamp. Get more job offers, negotiate a raise: Everything you need to get the job you want!
Bestseller
4.7 (1,395 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,993 students enrolled
Created by Andrei Neagoie
Last updated 4/2019
English
English [Auto-generated], Indonesian [Auto-generated], 3 more
  • Italian [Auto-generated]
  • Polish [Auto-generated]
  • Romanian [Auto-generated]
Current price: $11.99 Original price: $199.99 Discount: 94% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 18 hours on-demand video
  • 44 articles
  • 4 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
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
Course content
Expand all 248 lectures 18:27:44
+ Introduction
3 lectures 07:57
Join Our Online Classroom!
01:11
Exercise: Meet The Community!
01:41
+ Getting More Interviews
17 lectures 01:19:59
Section Overview
05:39
Resume
05:09
Exercise: Resume Walkthrough
17:05
Resume Review
02:37
Resources: Resume Templates
00:12
What If I Don't Have Enough Experience?
15:03
Optional Exercise: Github Master
00:31
LinkedIn
08:22
Optional Exercise: LinkedIn Endorsements
00:23
Portfolio
03:23
Resources: Free Portfolio Templates
00:29
Email
08:24
Resources: Email
00:26
Where To Find Jobs?
06:02
Resources: Where To Find Jobs?
00:21
When Should You Start Applying?
03:34
Section Summary
02:17
+ Big O
25 lectures 01:52:22
Setting Up Your Environment
02:53
Exercise: Big O Calculation
00:21
Solution: Big O Calculation
05:54
Exercise: Big O Calculation 2
00:30
Solution: Big O Calculation 2
02:29
Simplifying Big O
01:50
Big O Rule 1
04:28
Big O Rule 2
06:36
Big O Rule 3
03:13
O(n^2)
07:13
Big O Rule 4
06:47
Big O Cheat Sheet
03:18
What Does This All Mean?
05:32
O(n!)
01:18
3 Pillars Of Programming
03:32
Space Complexity
02:22
Exercise: Space Complexity
06:24
Exercise: Twitter
07:13
Optional: Javascript Loops
03:27
Section Summary
04:43
+ How To Solve Coding Problems
9 lectures 01:03:19
Section Overview
05:04
What Are Companies Looking For?
03:05
What We Need For Coding Interviews
03:27
Exercise: Google Interview
02:31
Exercise: Interview Question
20:33
Exercise: Interview Question 2
22:59
Optional Exercise: Google Interview On Your Own
00:35
Section Summary
03:35
+ Data Structures: Introduction
5 lectures 26:56
Section Overview
01:58
What Is A Data Structure?
05:53
How Computers Store Data
12:33
Data Structures In Different Languages
03:27
Operations On Data Structures
03:05
+ Data Structures: Arrays
12 lectures 01:35:23
Arrays Introduction
13:51
Static vs Dynamic Arrays
06:40
Quick Note: Upcoming Video
00:36
Optional: Classes In Javascript
24:51
Implementing An Array
17:19
Strings and Arrays
01:04
Exercise: Reverse A String
01:35
Solution: Reverse A String
10:31
Exercise: Merge Sorted Arrays
00:44
Solution: Merge Sorted Arrays
14:12
Interview Questions: Arrays
00:32
Arrays Review
03:28
+ Data Structures: Hash Tables
11 lectures 01:16:24
Hash Tables Introduction
04:10
Hash Function
05:56
Hash Collisions
09:43
Hash Tables In Different Languages
03:30
Exercise: Implement A Hash Table
03:51
Solution: Implement A Hash Table
17:24
keys()
06:11
Hash Tables VS Arrays
02:01
Exercise: First Recurring Character
01:18
Solution: First Recurring Character
16:11
Hash Tables Review
06:09
+ Data Structures: Linked Lists
19 lectures 01:32:29
Linked Lists Introduction
02:26
What Is A Linked List?
04:36
Exercise: Why Linked Lists?
02:05
Solution: Why Linked Lists?
05:35
What Is A Pointer?
05:45
Our First Linked List
08:38
Solution: append()
05:25
Solution: prepend()
02:27
Node Class
02:40
insert()
05:12
Solution: insert()
13:08
Solution: remove()
05:21
Doubly Linked Lists
03:18
Exercise: Doubly Linked Lists
00:08
Solution: Doubly Linked Lists
08:50
Singly VS Doubly Linked Lists
02:40
Exercise: reverse()
01:30
Solution: reverse()
07:38
Linked Lists Review
05:07
+ Data Structures: Stacks + Queues
15 lectures 01:11:24
Stacks + Queues Introduction
02:58
Stacks
03:28
Queues
03:30
Exercise: Stacks VS Queues
03:06
Solution: Stacks VS Queues
03:39
Quick Note: Upcoming Video
00:20
Optional: How Javascript Works
24:12
Exercise: Stack Implementation (Linked Lists)
02:23
Solution: Stack Implementation (Linked Lists)
08:58
Exercise: Stack Implementation (Array)
00:53
Solution: Stack Implementation (Array)
03:56
Exercise: Queue Implementation
01:48
Solution: Queue Implementation
07:50
Queues Using Stacks
02:04
Stacks + Queues Review
02:19
+ Data Structures: Trees
19 lectures 01:20:24
Trees Introduction
06:23
Binary Trees
05:45
O(log n)
07:00
Correction: Binary Search Trees
00:11
Binary Search Trees
06:12
Balanced VS Unbalanced BST
03:42
BST Pros and Cons
02:26
Exercise: Binary Search Tree
03:57
Solution: insert()
10:10
Solution: lookup()
04:54
Bonus Exercise: remove()
02:28
Solution: remove()
07:41
AVL Trees + Red Black Trees
02:56
Resources: AVL Trees + Red Black Trees
00:21
Binary Heaps
05:36
Quick Note on Heaps
01:08
Priority Queue
05:27
Trie
03:16
Tree Review
00:51
Requirements
  • No experience with data structures or algorithms needed
  • Basic understanding of one programming language
  • No previous computer science knowledge necessary
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.

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.  

See you inside the courses!


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