Home Courses Instructor Labs

Master the Coding Interview: Data Structures and Algorithms

(674 Ratings) 1125 Students Enrolled
Created By Sam Johnson Last Updated Tue, 17-Dec-2019 English
  • Course Duration
    18 Hours
  • Mode of Training
    Self-Paced
  • Lessons
    201 Lessons
  • Validity
    Life Time
$ 199.99 $ 19.99 90% off 100% Money Back Guarantee
12k+ satisfied learners Read Reviews
What Will I Learn?
  • Crack the coding interviews given by top tech companies
  • Learn, implement and use Different Data Structures and Algorithms
  • How to get more confident and prepared for the coding interviews
  • Get more interviews
  • Become a better developer in the great tech companies
  • How to handle multiple offers professionally and negotiate raises

Requirements
  • Basic understanding of any one programming language
  • No experience with Data Structure and Algorithms needed
  • No previous Computer Science Knowledge necessary
+ View More
Description

This course is for one who wants to get landed in a great tech companies like Amazon, Google, Netflix, Microsoft, Facebook or other companies.

Do you feel stuck every time you were asked the coding questions? This course is at its best for all your needs. Using the strategies, lessons and exercises in this course, you will learn how to handle offers and select the best company from your offer.

The main advantage over self-paced learning versus learning from self-paced learning videos will make more impact in learning the concepts deeply.

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

Curriculum For This Course
201 Lessons 18 Hours
  • Master the Coding Interview 00:01:43 Preview
  • How to Succeed? 00:03:07 Preview
  • Introduction 00:05:40 Preview
  • Resume 00:05:09
  • Resume Walkthrough 00:17:05
  • Resume Review 00:02:37
  • What if I don't have experience 00:15:03
  • LinkedIn 00:08:23
  • Portfolio 00:03:23
  • Email 00:08:24
  • Where to find the jobs? 00:06:03
  • When should you apply? 00:03:34
  • Summary 00:02:17
  • Environment Setup 00:02:54
  • Introduction 00:02:25
  • What is good code? 00:06:57
  • Big O and Scalability 00:11:09
  • O(n) 00:05:39
  • O(1) 00:06:10
  • O exercise - part 1 00:05:55
  • O exercise - part 2 00:02:30
  • Simplifying Big O 00:01:51
  • Rule 1 00:04:29
  • Rule 2 00:06:37
  • Rule 3 00:03:14
  • O(n^2) 00:07:14
  • Rule 4 00:06:47
  • Big O Cheat Sheet 00:03:19
  • What does this all mean? 00:05:32
  • O(n!) 00:01:18
  • Pillars of Coding 00:03:31
  • Space Complexity 00:02:23
  • Exercise - Space Complexity 00:06:24
  • Twitter Exercise 00:07:14
  • Review 00:04:44
  • Optional: Javascript Loops 00:03:27
  • Introduction 00:01:58
  • What are companies looking for? 00:03:06
  • What we need to learn? 00:03:27
  • Google Interview - Exercise 00:02:32
  • Problem Solving - Part 1 00:20:33
  • Problem Solving - Part 2 00:22:59
  • Google Revisited 00:01:30
  • Review 00:03:36
  • Introduction 00:01:58 Preview
  • What is a Data Structure? 00:05:54
  • Down the Rabbit hole 00:12:34
  • Data Structures in Different Languages 00:03:27
  • Data Structure Operations 00:03:05
  • Arrays 00:13:51 Preview
  • Static vs Dynamic Arrays 00:06:41
  • Implementing an Array 00:17:19
  • Strings and Arrays 00:01:05
  • Exercise: Reverse String 00:01:36
  • Solution: Reverse String 00:10:31
  • Exercise: Merge Sorted Arrays 00:00:44 Preview
  • Solution: Merge Sorted Arrays 00:14:12
  • Review Arrays 00:03:29
  • Hash Tables 00:04:10 Preview
  • Hash Function 00:05:56
  • Hash Collisions 00:09:44
  • Hash Tables in Different Languages 00:03:31
  • Exercise: Hash Table 00:03:51
  • Solution: Hash Table 00:17:25
  • Solution: Hash Table Extra 00:06:12
  • Hash Tables vs Arrays 00:02:01
  • Exercise: First Recurring Character 00:01:19
  • Solution: First Recurring Character 00:16:11
  • Review 00:06:10
  • Introduction 00:02:27 Preview
  • What is a Linked List? 00:04:37
  • Exercise: Why Linked List? 00:02:05
  • Solution: Why Linked List? 00:05:36
  • What is a pointer? 00:05:45
  • Our First Linked List 00:08:39
  • append() 00:05:26
  • prepend() 00:02:28
  • Node Class 00:02:41
  • insert() 00:05:13
  • insert() solution 00:13:09
  • remove() solution 00:05:21
  • Doubly Linked List 00:03:18
  • Solution: Doubly Linked List 00:08:51
  • BEFORE doubly vs singly linked list 00:02:40
  • Exercise: Reverse Linked List 00:01:31
  • Solution: Reverse Linked List 00:07:39
  • Review Linked Lists 00:05:08
  • Stacks + Queues Introduction 00:02:59
  • Stacks 00:03:29
  • Queues 00:03:31
  • Exercise: Stacks VS Queues 00:03:06
  • Solution: Stacks VS Queues 00:03:39
  • Optional: How Javascript Works 00:24:12
  • Exercise: Stack Implementation (Linked Lists) 00:02:23
  • Solution: Stack Implementation (Linked Lists) 00:08:58
  • Exercise: Stack Implementation (Array) 00:00:54
  • Solution: Stack Implementation (Array) 00:03:56
  • Exercise: Queue Implementation 00:01:48
  • Solution: Queue Implementation 00:07:51
  • Queues Using Stacks 00:02:05
  • Stacks + Queues Review 00:02:20
  • Trees Introduction 00:06:23
  • Binary Trees 00:05:45
  • O(log n) 00:07:00
  • Binary Search Trees 00:06:12
  • Balanced VS Unbalanced BST 00:03:42
  • BST Pros and Cons 00:02:27
  • Exercise: Binary Search Tree 00:03:58
  • Solution: insert() 00:10:11
  • Solution: lookup() 00:04:55
  • Bonus Exercise: remove() 00:02:28
  • Solution: remove() 00:07:41
  • AVL Trees + Red Black Trees 00:02:56
  • Binary Heaps 00:05:36
  • Quick Note on Heaps 00:01:08
  • Priority Queue 00:05:28
  • Trie 00:03:17
  • Tree Review 00:00:52
  • Graphs Introduction 00:02:28
  • Types Of Graphs 00:03:33
  • Exercise: Guess The Graph 00:02:45
  • Graph Data 00:05:59
  • Exercise: Graph Implementation 00:04:06
  • Solution: Graph Implementation 00:04:51
  • Graphs Review 00:02:05
  • Data Structures Review 00:01:52
  • What Else Is Coming Up? 00:01:53
  • Introduction to Algorithms 00:03:52
  • Recursion Introduction 00:05:37
  • Stack Overflow 00:06:17
  • Anatomy Of Recursion 00:10:27
  • Exercise: Factorial 00:03:26
  • Solution: Factorial 00:06:20
  • Exercise: Fibonacci 00:01:59
  • Solution: Fibonacci 00:11:22
  • Recursive VS Iterative 00:04:16
  • When To Use Recursion 00:04:00
  • Recursion Review 00:02:47
  • Sorting Introduction 00:07:02
  • The Issue With sort() 00:06:51
  • Sorting Algorithms 00:03:38
  • Bubble Sort 00:03:46
  • Solution: Bubble Sort 00:05:07
  • Selection Sort 00:02:39
  • Solution: Selection Sort 00:02:23
  • Dancing Algorithms 00:01:36
  • Insertion Sort 00:02:38
  • Solution: Insertion Sort 00:02:07
  • Merge Sort and O(n log n) 00:08:59
  • Solution: Merge Sort 00:04:44
  • Quick Sort 00:07:40
  • Which Sort Is Best? 00:04:41
  • Radix Sort + Counting Sort 00:04:18
  • Exercise: Sorting Interview 00:01:28
  • Solution: Sorting Interview 00:07:07
  • Sorting In Your Language 00:01:27
  • Sorting Review 00:02:53
  • Searching + Traversal Introduction 00:01:34
  • Linear Search 00:03:37
  • Binary Search 00:06:05
  • Graph + Tree Traversals 00:03:56
  • BFS Introduction 00:02:45
  • DFS Introduction 00:03:23
  • BFS vs DFS 00:03:21
  • Exercise: BFS vs DFS 00:00:44
  • Solution: BFS vs DFS 00:03:16
  • breadthFirstSearch() 00:09:15
  • breadthFirstSearchRecursive() 00:05:34
  • PreOrder, InOrder, PostOrder 00:05:21
  • depthFirstSearch() 00:12:03
  • Graph Traversals 00:03:53
  • BFS in Graphs 00:02:07
  • DFS in Graphs 00:02:50
  • Dijkstra + Bellman-Ford Algorithms 00:05:12
  • Searching + Traversal Review 00:04:22
  • Dynamic Programming Introduction 00:01:52
  • Memoization 1 00:07:47
  • Memoization 2 00:03:56
  • Fibonacci and Dynamic Programming 00:05:33
  • Dynamic Programming 00:05:48
  • Implementing Dynamic Programming 00:09:12
  • Dynamic Programming Review 00:04:45
  • Section Overview 00:02:38
  • During The Interview 00:09:04
  • Tell Me About Yourself 00:05:30
  • Why Us? 00:05:07
  • Tell Me About A Problem You Have Solved 00:05:18
  • What Is Your Biggest Weakness 00:02:19
  • Any Questions For Us? 00:03:25
  • Secret Weapon 00:08:12
  • After The Interview 00:05:24
  • Section Summary 00:03:56
  • Section Overview 00:02:11
  • Handling Rejection 00:04:08
  • Negotiation 101 00:09:40
  • Handling An Offer 00:09:03
  • Handling Multiple Offers 00:07:29
  • Getting A Raise 00:07:41
  • Section Summary 00:02:10
  • Thank You. 00:00:53
  • Coding Problems 00:01:26

Master the Coding Interview: Data Structures and Algorithms