UDEMY
UDEMY Logo

Master the Coding Interview: Data Structures + Algorithms 

  • Offered byUDEMY

Master the Coding Interview: Data Structures + Algorithms
 at 
UDEMY 
Overview

Duration

20 hours

Total fee

11,520

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Go to Website External Link Icon

Credential

Certificate

Master the Coding Interview: Data Structures + Algorithms
 at 
UDEMY 
Highlights

  • Compatible on Mobile and TV
  • Earn a Cerificate on successful completion
  • Get Full Lifetime Access
  • Course Instructor: Andrei Neagoie
Read more
Details Icon

Master the Coding Interview: Data Structures + Algorithms
 at 
UDEMY 
Course details

Who should do this course?
  • 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
What are the course deliverables?
  • 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
More about this course
  • Join a live online community of over 140,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, Amazon, Apple, IBM, JP Morgan, Facebook + other top tech companies. 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!
Read more

Master the Coding Interview: Data Structures + Algorithms
 at 
UDEMY 
Curriculum

Introduction

How To Succeed In This Course

Join Our Online Classroom!

Exercise: Meet The Community!

Section Overview

Getting More Interviews

Resume

Exercise: Resume Walkthrough

Resume Review

Resources: Resume Templates

What If I Don't Have Enough Experience?

Optional Exercise: Github Master

LinkedIn

Optional Exercise: LinkedIn Endorsements

Portfolio

Resources: Free Portfolio Templates

Email

Resources: Email

Where To Find Jobs?

Resources: Where To Find Jobs?

When Should You Start Applying?

Section Summary

Setting Up Your Environment

Big O

Section Overview

What Is Good Code?

Big O and Scalability

O(n)

O(1)

Exercise: Big O Calculation

Solution: Big O Calculation

Exercise: Big O Calculation 2

Solution: Big O Calculation 2

Simplifying Big O

Big O Rule 1

Big O Rule 2

Big O Rule 3

O(n^2)

Big O Rule 4

Big O Cheat Sheet

What Does This All Mean?

O(n!)

3 Pillars Of Programming

Space Complexity

Exercise: Space Complexity

Exercise: Twitter

Optional: Javascript Loops

Section Summary

Section Overview

How To Solve Coding Problems

What Are Companies Looking For?

What We Need For Coding Interviews

Exercise: Google Interview

Exercise: Interview Question

Exercise: Interview Question 2

Review Google Interview

Optional Exercise: Google Interview On Your Own

Section Summary

Section Overview

Data Structures: Introduction

What Is A Data Structure?

How Computers Store Data

Data Structures In Different Languages

Operations On Data Structures

Arrays Introduction

Data Structures: Arrays

Static vs Dynamic Arrays

Quick Note: Upcoming Video

Optional: Classes In Javascript

Implementing An Array

Strings and Arrays

Exercise: Reverse A String

Solution: Reverse A String

Exercise: Merge Sorted Arrays

Solution: Merge Sorted Arrays

Interview Questions: Arrays

Arrays Review

Hash Tables Introduction

Data Structures: Hash Tables

Hash Function

Hash Collisions

Hash Tables In Different Languages

Exercise: Implement A Hash Table

Solution: Implement A Hash Table

keys()

Hash Tables VS Arrays

Exercise: First Recurring Character

Solution: First Recurring Character

Interesting Tidbit: Python Dictionaries

Hash Tables Review

Linked Lists Introduction

Data Structures: Linked Lists

What Is A Linked List?

Exercise: Why Linked Lists?

Solution: Why Linked Lists?

What Is A Pointer?

Our First Linked List

Solution: append()

Solution: prepend()

Node Class

insert()

Quick Note: Upcoming Video

Solution: insert()

Solution: remove()

Doubly Linked Lists

Exercise: Doubly Linked Lists

Solution: Doubly Linked Lists

Singly VS Doubly Linked Lists

Exercise: reverse()

Solution: reverse()

Linked Lists Review

Stacks + Queues Introduction

Data Structures: Stacks + Queues

Stacks

Queues

Exercise: Stacks VS Queues

Solution: Stacks VS Queues

Quick Note: Upcoming Video

Optional: How Javascript Works

Exercise: Stack Implementation (Linked Lists)

Solution: Stack Implementation (Linked Lists)

Exercise: Stack Implementation (Array)

Solution: Stack Implementation (Array)

Exercise: Queue Implementation

Solution: Queue Implementation

Queues Using Stacks

Stacks + Queues Review

Trees Introduction

Data Structures: Trees

Binary Trees

O(log n)

Correction: Binary Search Trees

Binary Search Trees

Balanced VS Unbalanced BST

BST Pros and Cons

Exercise: Binary Search Tree

Solution: insert()

Solution: lookup()

Bonus Exercise: remove()

Solution: remove()

AVL Trees + Red Black Trees

Resources: AVL Trees + Red Black Trees

Binary Heaps

Quick Note on Heaps

Priority Queue

Trie

Tree Review

Graphs Introduction

Data Structures: Graphs

Types Of Graphs

Exercise: Guess The Graph

Graph Data

Exercise: Graph Implementation

Solution: Graph Implementation

Graphs Review

Data Structures Review

What Else Is Coming Up?

Introduction to Algorithms

Algorithms: Recursion

Recursion Introduction

Stack Overflow

Anatomy Of Recursion

Exercise: Factorial

Solution: Factorial

Exercise: Fibonacci

Solution: Fibonacci

Recursive VS Iterative

When To Use Recursion

Exercise: Reverse String With Recursion

Recursion Review

Sorting Introduction

Algorithms: Sorting

The Issue With sort()

Sorting Algorithms

Bubble Sort

Exercise: Bubble Sort

Solution: Bubble Sort

Selection Sort

Exercise: Selection Sort

Solution: Selection Sort

Dancing Algorithms

Insertion Sort

Exercise: Insertion Sort

Solution: Insertion Sort

Merge Sort and O(n log n)

Exercise: Merge Sort

Solution: Merge Sort

Stable VS Unstable Algorithms

Quick Sort

Optional Exercise: Quick Sort

Which Sort Is Best?

Resources: Heap Sort

Radix Sort + Counting Sort

Resources: Radix Sort + Counting Sort

Exercise: Sorting Interview

Solution: Sorting Interview

Sorting In Your Language

Sorting Review

Searching + Traversal Introduction

Algorithms: Searching + BFS + DFS

Linear Search

Binary Search

Graph + Tree Traversals

BFS Introduction

DFS Introduction

BFS vs DFS

Resources: BFS vs DFS

Exercise: BFS vs DFS

Solution: BFS vs DFS

breadthFirstSearch()

breadthFirstSearchRecursive()

PreOrder, InOrder, PostOrder

depthFirstSearch()

Optional Exercise: Validate A BST

Graph Traversals

BFS in Graphs

DFS in Graphs

Dijkstra + Bellman-Ford Algorithms

Searching + Traversal Review

Dynamic Programming Introduction

Algorithms: Dynamic Programming

Memoization 1

Memoization 2

Fibonacci and Dynamic Programming

Dynamic Programming

Implementing Dynamic Programming

Interview Questions: Dynamic Programming

Dynamic Programming Review

Section Overview

Non Technical Interviews

During The Interview

Exercise: Hero Stories

Tell Me About Yourself

Exercise: Your Pitch

Why Us?

Tell Me About A Problem You Have Solved

Exercise: Past Projects

What Is Your Biggest Weakness

Exercise: Your Biggest Weakness

Any Questions For Us?

Resources: Questions To Ask A Company

Secret Weapon

After The Interview

Section Summary

Section Overview

Offer + Negotiation

Handling Rejection

Negotiation 101

Handling An Offer

Handling Multiple Offers

Getting A Raise

Exercise: Negotiation Master

Section Summary

Become an Alumni

Thank You

Monthly Industry Updates

Thank You.

What You Can Do Now

Extras: Google, Amazon, Facebook Interview Questions

Coding Problems

Top Interview Questions

Amazon Interview Questions

Facebook Interview Questions

Google Interview Questions

Domain Specific Questions

Contributing To Open Source To Gain Experience

Contributing To Open Source

Contributing To Open Source 2

Exercise: Contribute To Open Source

Bonus: Extra Bits

Learning Guideline

Quick Note: Upcoming Videos

From JTS: Learn to Learn

From JTS: Start With Why

Coding Challenges

How To Use Leetcode

AMA - 100,000 Students!!

Extras

Bonus: Special Thank You Gift

Other courses offered by UDEMY

549
50 hours
– / –
3 K
10 hours
– / –
549
4 hours
– / –
599
10 hours
– / –
View Other 2346 CoursesRight Arrow Icon
qna

Master the Coding Interview: Data Structures + Algorithms
 at 
UDEMY 

Student Forum

chatAnything you would want to ask experts?
Write here...