Master the Coding Interview: Algorithms + Data Structures

Andrei Neagoie, Senior Software Developer + Instructor

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
87 Lessons (8h 43m)
    • 1. Master the Coding Interview

      3:47
    • 2. How to Succeed

      5:04
    • 3. 01 Introduction

      5:39
    • 4. 02 Resume

      5:09
    • 5. 03 Resume Walkthrough

      17:05
    • 6. 04 Resume Review

      2:37
    • 7. 05 What If I don't have experience

      15:03
    • 8. 06 LinkedIn

      8:22
    • 9. 07 Portfolio

      3:23
    • 10. 08 Email

      8:24
    • 11. 09 Where to find the jobs

      6:02
    • 12. 10 When should you apply?

      3:34
    • 13. 11 Summary

      2:17
    • 14. 00 Environemnt Setup

      2:53
    • 15. 01 Introduction

      2:24
    • 16. 02 What is good code?

      6:57
    • 17. 03 Big O and Scalability

      11:08
    • 18. 04 O(n)

      5:39
    • 19. 05 O(1)

      6:10
    • 20. 06 O exercise

      5:54
    • 21. 07 O exercise2

      2:29
    • 22. 08 Simplifying Big O

      1:50
    • 23. 09 Rule 1

      4:28
    • 24. 10 Rule 2

      6:36
    • 25. 11 Rule 3

      3:13
    • 26. 12 O(n^2)

      7:13
    • 27. 13 Rule 4

      6:47
    • 28. 14 Big O Cheat Sheet

      3:18
    • 29. 15 What does this all mean?

      5:32
    • 30. 16 O(n!)

      1:18
    • 31. 17 3 pillars of coding

      3:32
    • 32. 18 Space Complexity

      2:22
    • 33. 19 Exercise Space Complexity

      6:24
    • 34. 20 Twitter exercise

      7:13
    • 35. 21 Review

      4:43
    • 36. Optional: Javascript Loops

      3:27
    • 37. 01 Introduction

      1:58
    • 38. 02 What are companies looking for?

      3:05
    • 39. 03 What we need to learn

      3:27
    • 40. 04 google interview exercise

      2:31
    • 41. 05 Problem Solving

      20:33
    • 42. 06 Problem Solving 2

      22:59
    • 43. 07 Google revisited

      1:30
    • 44. 08 Review

      3:35
    • 45. 01 Introduction

      1:58
    • 46. 02 What is a Data Structure

      5:53
    • 47. 03 Down the rabbit hole

      12:33
    • 48. 04 Data Structures in Different Languages

      3:27
    • 49. 05 Data Structure Operations

      3:05
    • 50. 06 Arrays

      13:51
    • 51. 07 Static vs Dynamic Arrays

      6:40
    • 52. 08 Implementing an Array

      17:19
    • 53. 09 Strings and Arrays

      1:04
    • 54. 10 Exercise Reverse string

      1:35
    • 55. 11 Solution Reverse string

      10:31
    • 56. 12 Exersise Merge Sorted Arrays

      0:44
    • 57. 13 Solution Merge Sorted Arrays

      14:12
    • 58. 14 Review Arrays

      3:28
    • 59. 15 Hash Tables

      4:10
    • 60. 16 Hash Function

      5:56
    • 61. 17 Hash Collisions

      9:43
    • 62. 19 Hash Tables in Different Languages

      3:30
    • 63. 20 Exercise Hash Table

      3:51
    • 64. 21 Solution Hash Table

      17:24
    • 65. 22 Solution Hash Table Extra

      6:11
    • 66. 23 Hash Tables vs Arrays

      2:01
    • 67. 24 Exercise First Recurring Character

      1:18
    • 68. 24 Solution First Recurring Character

      16:11
    • 69. 25 Section Review

      6:09
    • 70. 01 Introduction

      2:26
    • 71. 02 What is a Linked List?

      4:36
    • 72. 03 Exercise Why Linked Lists?

      2:05
    • 73. 04 Solution Why Linked Lists?

      5:35
    • 74. 05 What is a pointer

      5:45
    • 75. 06 Our First Linked List

      8:38
    • 76. 07 append()

      5:25
    • 77. 08 prepend()

      2:27
    • 78. 09 Node Class

      2:40
    • 79. 10 insert()

      5:12
    • 80. 11 insert() solution

      13:08
    • 81. 12 remove() solution

      5:21
    • 82. 13 Doubly Linked List

      3:18
    • 83. 14 Soultion Doubly Linked List

      8:50
    • 84. 15 BEFORE doubly vs singly linked list

      2:40
    • 85. 15 Exercise Reverse linked list

      1:30
    • 86. 16 Solution Reverse linked list

      7:38
    • 87. 17 Review Linked Lists

      5:07
24 students are watching this class

About This Class

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!