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 |
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
Master the Coding Interview: Data Structures + Algorithms at UDEMY Course details
- 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
- 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
- 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!
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
Optional Exercise: LinkedIn Endorsements
Portfolio
Resources: Free Portfolio Templates
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