Master the Coding Interview: Data Structures + Algorithms

Intermediate

Master the Coding Interview: Data Structures + Algorithms

Overview
Curriculum
Reviews

Master the Coding Interview: Data Structures + Algorithms free download by 

Ultimate coding interview bootcamp. Get more job offers, negotiate a raise: Everything you need to get the job you want!

Requirements

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

Description

Updated for the 2023 hiring season! Join a live online community of over 900,000+ developers and a course taught by an industry expert that has actually worked both in Silicon Valley and Toronto as a senior developer. Graduates of this course are now working at Google, Tesla, Amazon, Apple, IBM, JP Morgan, Meta + other top tech companies.

Want to land a job at a great tech company like Google, Microsoft, Meta, 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

Curriculum

  • 22 Sections
  • 262 Lessons
  • 0 Quizzes
  • 19h 45m Duration
Expand All
Introduction
5 Lessons0 Quizzes
  1. How To Succeed In This Course
  2. Join Our Online Classroom!
  3. Exercise: Meet Your Classmates and Instructor
  4. ZTM Resources
  5. Monthly Coding Challenges, Free Resources and Guides
Getting More Interviews
19 Lessons0 Quizzes
  1. Section Overview
  2. Resume
  3. Exercise: Resume Walkthrough
  4. Resume Review
  5. Resources: Resume Templates
  6. What If I Don't Have Enough Experience?
  7. Optional Exercise: Github Master
  8. Optional: Exercise: Github README
  9. LinkedIn
  10. Optional Exercise: LinkedIn Endorsements
  11. Portfolio
  12. Resources: Free Portfolio Templates
  13. Email
  14. Resources: Email
  15. Where To Find Jobs?
  16. Resources: Where To Find Jobs?
  17. When Should You Start Applying?
  18. Section Summary
  19. Monthly Industry Updates
Big O
27 Lessons0 Quizzes
  1. Python, Java, C/C++, C#, Golang, Swift, Kotlin, TypeScript, Scala, Perl Code
  2. Setting Up Your Environment
  3. Section Overview
  4. Big O Cheatsheet
  5. What is Good Code?
  6. Big O and Scalability
  7. O(n)
  8. O(1)
  9. Exercise: Big O Calculation
  10. Solution: Big O Calculation
  11. Exercise: Big O Calculation 2
  12. Solution: Big O Calculation 2
  13. Simplifying Big O
  14. Big O Rule 1
  15. Big O Rule 2
  16. Big O Rule 3
  17. O(n^2)
  18. Big O Rule 4
  19. Big O Cheat Sheet
  20. What Does This All Mean?
  21. O(n!)
  22. 3 Pillars Of Programming
  23. Space Complexity
  24. Exercise: Space Complexity
  25. Exercise: Twitter
  26. Optional: Javascript Loops
  27. Section Summary
How To Solve Coding Problems
9 Lessons0 Quizzes
  1. Section Overview
  2. What Are Companies Looking For?
  3. What We Need For Coding Interviews
  4. Exercise: Google Interview
  5. Exercise: Interview Question
  6. Exercise: Interview Question 2
  7. Review Google Interview
  8. Optional Exercise: Google Interview On Your Own
  9. Section Summary
Data Structures: Introduction
5 Lessons0 Quizzes
  1. Section Overview
  2. What Is A Data Structure?
  3. How Computers Store Data
  4. Data Structures In Different Languages
  5. Operations On Data Structures
Data Structures: Arrays
12 Lessons0 Quizzes
  1. Arrays Introduction
  2. Static vs Dynamic Arrays
  3. Quick Note: Upcoming Video
  4. Optional: Classes In Javascript
  5. Implementing An Array
  6. Strings and Arrays
  7. Exercise: Reverse A String
  8. Solution: Reverse A String
  9. Exercise: Merge Sorted Arrays
  10. Solution: Merge Sorted Arrays
  11. Interview Questions: Arrays
  12. Arrays Review
Data Structures: Hash Tables
12 Lessons0 Quizzes
  1. Hash Tables Introduction
  2. Hash Function
  3. Hash Collisions
  4. Exercise: Implement A Hash Table
  5. Solution: Implement A Hash Table
  6. keys()
  7. Extra: keys() Without Collision
  8. Hash Tables VS Arrays
  9. Exercise: First Recurring Character
  10. Solution: First Recurring Character
  11. Interesting Tidbit: Python Dictionaries
  12. Hash Tables Review
Data Structures: Linked Lists
20 Lessons0 Quizzes
  1. Linked Lists Introduction
  2. What Is A Linked List?
  3. Exercise: Imposter Syndrome
  4. Exercise: Why Linked Lists?
  5. Solution: Why Linked Lists?
  6. What Is A Pointer?
  7. Our First Linked List
  8. Solution: append()
  9. Solution: prepend()
  10. Node Class
  11. insert()
  12. Quick Note: Upcoming Video
  13. Solution: remove()
  14. Doubly Linked Lists
  15. Exercise: Doubly Linked Lists
  16. Solution: Doubly Linked Lists
  17. Singly VS Doubly Linked Lists
  18. Exercise: reverse()
  19. Solution: reverse()
  20. Linked Lists Review
Data Structures: Stacks + Queues
14 Lessons0 Quizzes
  1. Stacks + Queues Introduction
  2. Stacks
  3. Queues
  4. Exercise: Stacks VS Queues
  5. Solution: Stacks VS Queues
  6. Quick Note: Upcoming Video
  7. Exercise: Stack Implementation (Linked Lists)
  8. Solution: Stack Implementation (Linked Lists)
  9. Exercise: Stack Implementation (Array)
  10. Solution: Stack Implementation (Array)
  11. Exercise: Queue Implementation
  12. Solution: Queue Implementation
  13. Queues Using Stacks
  14. Stacks + Queues Review
Data Structures: Trees
18 Lessons0 Quizzes
  1. Trees Introduction
  2. Binary Trees
  3. O(log n)
  4. Binary Search Trees
  5. Balanced VS Unbalanced BST
  6. BST Pros and Cons
  7. Exercise: Binary Search Tree
  8. Solution: insert()
  9. Solution: lookup()
  10. Extra Exercise: remove()
  11. Solution: remove()
  12. AVL Trees + Red Black Trees
  13. Resources: AVL Trees + Red Black Trees
  14. Binary Heaps
  15. Quick Note on Heaps
  16. Priority Queue
  17. Trie
  18. Tree Review
Data Structures: Graphs
9 Lessons0 Quizzes
  1. Graphs Introduction
  2. Types Of Graphs
  3. Exercise: Guess The Graph
  4. Graph Data
  5. Exercise: Graph Implementation
  6. Solution: Graph Implementation
  7. Graphs Review
  8. Data Structures Review
  9. What Else Is Coming Up?
Algorithms: Recursion
12 Lessons0 Quizzes
  1. Introduction to Algorithms
  2. Recursion Introduction
  3. Stack Overflow
  4. Anatomy Of Recursion
  5. Exercise: Factorial
  6. Solution: Factorial
  7. Exercise: Fibonacci
  8. Solution: Fibonacci
  9. Recursive VS Iterative
  10. When To Use Recursion
  11. Exercise: Reverse String With Recursion
  12. Recursion Review
Algorithms: Sorting
27 Lessons0 Quizzes
  1. Sorting Introduction
  2. The Issue With sort()
  3. Sorting Algorithms
  4. Bubble Sort
  5. Exercise: Bubble Sort
  6. Solution: Bubble Sort
  7. Selection Sort
  8. Exercise: Selection Sort
  9. Solution: Selection Sort
  10. Dancing Algorithms
  11. Insertion Sort
  12. Exercise: Insertion Sort
  13. Solution: Insertion Sort
  14. Merge Sort and O(n log n)
  15. Exercise: Merge Sort
  16. Solution: Merge Sort
  17. Stable VS Unstable Algorithms
  18. Quick Sort
  19. Optional Exercise: Quick Sort
  20. Which Sort Is Best?
  21. Resources: Heap Sort
  22. Radix Sort + Counting Sort
  23. Resources: Radix Sort + Counting Sort
  24. Exercise: Sorting Interview
  25. Solution: Sorting Interview
  26. Sorting In Your Language
  27. Sorting Review
Algorithms: Searching + BFS + DFS
20 Lessons0 Quizzes
  1. Searching + Traversal Introduction
  2. Linear Search
  3. Binary Search
  4. Graph + Tree Traversals
  5. BFS Introduction
  6. DFS Introduction
  7. BFS vs DFS
  8. Resources: BFS vs DFS
  9. Exercise: BFS vs DFS
  10. Solution: BFS vs DFS
  11. breadthFirstSearch()
  12. breadthFirstSearchRecursive()
  13. PreOrder, InOrder, PostOrder
  14. depthFirstSearch()
  15. Optional Exercise: Validate A BST
  16. Graph Traversals
  17. BFS in Graphs
  18. DFS in Graphs
  19. Dijkstra + Bellman-Ford Algorithms
  20. Searching + Traversal Review
Algorithms: Dynamic Programming
8 Lessons0 Quizzes
  1. Dynamic Programming Introduction
  2. Memoization 1
  3. Memoization 2
  4. Fibonacci and Dynamic Programming
  5. Dynamic Programming
  6. Implementing Dynamic Programming
  7. Interview Questions: Dynamic Programming
  8. Dynamic Programming Review
Non Technical Interviews
15 Lessons0 Quizzes
  1. Section Overview
  2. During The Interview
  3. Exercise: Hero Stories
  4. Tell Me About Yourself
  5. Exercise: Your Pitch
  6. Why Us?
  7. Tell Me About A Problem You Have Solved
  8. Exercise: Past Projects
  9. What Is Your Biggest Weakness
  10. Exercise: Your Biggest Weakness
  11. Any Questions For Us?
  12. Resources: Questions To Ask A Company
  13. Secret Weapon
  14. After The Interview
  15. Section Summary
Offer + Negotiation
8 Lessons0 Quizzes
  1. Section Overview
  2. Handling Rejection
  3. Negotiation 101
  4. Handling An Offer
  5. Handling Multiple Offers
  6. Getting A Raise
  7. Exercise: Negotiation Master
  8. Section Summary
Thank You
3 Lessons0 Quizzes
  1. Become an Alumni
  2. Thank You.
  3. What You Can Do Now
Extras: Google, Amazon, Facebook Interview Questions
6 Lessons0 Quizzes
  1. Coding Problems
  2. Top Interview Questions
  3. Amazon Interview Questions
  4. Facebook Interview Questions
  5. Google Interview Questions
  6. Domain Specific Questions
Contributing To Open Source To Gain Experience
3 Lessons0 Quizzes
  1. Contributing To Open Source
  2. Contributing To Open Source 2
  3. Exercise: Contribute To Open Source
Extra Bits
9 Lessons0 Quizzes
  1. Learning Guideline
  2. Quick Note: Upcoming Videos
  3. From JTS: Learn to Learn
  4. From JTS: Start With Why
  5. Coding Challenges
  6. How To Use Leetcode
  7. AMA - 100,000 Students!!
  8. Course Review
  9. The Final Challenge
BONUS SECTION
1 Lesson0 Quizzes
  1. Special Bonus Lecture
0 out of 5

0 user ratings

Deleting Course Review

Are you sure? You can't restore this back

Course Access

This course is password protected. To access it please enter your password below:

Related Courses

Beginner

The Complete Web Developer in 2023: Zero to Mastery

5 (1)
  • Skills that will allow you to apply for jobs like: Web Developer, Software Developer, Front End Developer, Javascript Developer, and Full Stack Developer
  • Learn modern technologies that are ACTUALLY being used behind tech companies in 2023
  • Build 10+ real world Web Development projects you can show off
38h 39m
0
6
1
Beginner

The Complete Python Bootcamp From Zero to Hero in Python

0 (0)
  • What you'll learn
  • You will learn how to leverage the power of Python to solve tasks.
  • You will build games and programs that use Python libraries.
22h
0
3
0
Beginner

The Complete JavaScript Course 2023: From Zero to Expert!

0 (0)
  • Become an advanced, confident, and modern JavaScript developer from scratch
  • Build 6 beautiful real-world projects for your portfolio (not boring toy apps)
  • Become job-ready by understanding how JavaScript really works behind the scenes
0m
0
5
1