4.64 (12322 reviews)
☑ 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
Updated for 2021 hiring season! Join a live online community of over 400,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, 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!
Introduction
How To Succeed In This Course
Join Our Online Classroom!
Exercise: Meet The Community!
Getting More Interviews
Section Overview
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
Monthly Industry Updates
Big O
Setting Up Your Environment
Section Overview
Python + JavaScript Solutions!
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
How To Solve Coding Problems
Section Overview
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
Data Structures: Introduction
Section Overview
What Is A Data Structure?
How Computers Store Data
Data Structures In Different Languages
Operations On Data Structures
Data Structures: Arrays
Arrays Introduction
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
Data Structures: Hash Tables
Hash Tables Introduction
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
Data Structures: Linked Lists
Linked Lists Introduction
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
Data Structures: Stacks + Queues
Stacks + Queues Introduction
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
Data Structures: Trees
Trees Introduction
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
Data Structures: Graphs
Graphs Introduction
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?
Algorithms: Recursion
Introduction to Algorithms
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
Algorithms: Sorting
Sorting Introduction
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
Algorithms: Searching + BFS + DFS
Searching + Traversal Introduction
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
Algorithms: Dynamic Programming
Dynamic Programming Introduction
Memoization 1
Memoization 2
Fibonacci and Dynamic Programming
Dynamic Programming
Implementing Dynamic Programming
Interview Questions: Dynamic Programming
Dynamic Programming Review
Non Technical Interviews
Section Overview
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
Offer + Negotiation
Section Overview
Handling Rejection
Negotiation 101
Handling An Offer
Handling Multiple Offers
Getting A Raise
Exercise: Negotiation Master
Section Summary
Thank You
Become an Alumni
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
Great course I like the way of his teaching easy to understand it. Like the content I had a great time of learning thanks Andrei.
this was perfect! exactly what anybody new to ds and algo needs to learn. only improvement i would suggest is to include more steps wise exercises rather than implementing ADTs
Perhaps I picked the wrong course, since I was only interested in improving my algorithmic skills. Also, getting a job as a software developer is not at all realistic right now given my lack of skills and not knowing what exactly I'm interested in. But this course did clarify a lot of things I didn't understand, especially regarding data structures like linked lists, trees and graphs. I still have a lot of questions, but I'm sure they will be answered with enough studying and through creating my own projects. Also, knowing how the interview process works is is good.
This is a good course. Andrei did a great job as usual. I think this course could be shortened a bit.
I found this course to be very informative. Teaches you so much more than just how to be a knowledgable programmer. A nice in depth data structures section, what to expect during the non technical interview and more. My only complain is the algorithms section. I feel that this section is rushed and deserves a bigger emphasis. Algorithms is just as important and if not more important than data structures. As for DFS/BFS I believe this section should have revolved around mostly graph implementation and not trees. The graph implementations are more challenging and shows the true depth of BFS/DFS in my opinion. Overall this was a great course and I have already purchased another course by Andrei. Thank you!
Very good information and I learned some of the data structures that I only knew about but never had implementation hands on. Many thanks.
The instructor is very knowledgeable in the area and gives excellent examples and advice on what companies are looking for. So far it is an amazing course and I enjoy the way the instructor communicates the material. Very informative, well organized and thorough. I look forward to completing the course and putting in practice what I learn. Thank you for sharing such a great course.
A cool course, with good explanation of each topic. He explains everything when needed means he's not jumbling up in the course.
I enjoyed this course so much. It covers everything an employee may face in his interview and how to get the best offer from different companies. For the technical part, this course shows many questions a programmer may face in google, Facebook, amazon, etc.
the course nobly aims at trying to cover way too much concepts but fails to do so fairy in many places, you can sense poor content
Most of the interview there is more stress on problem solving with DS. I think this course takes you through basics but leaves advance topics of implementation those basics.
Great course, great content. The only issue I have is that he ends up rambling quite a bit. Sometimes makes for hard listening. You just want to get to the point.
I am looking for a developer job. But finding a good mentor who guides you to this journey is a difficult task. So I find this course which sharpens my technical skills and help me to find at a better position to get those jobs by using the non-technical areas where I think need to work upon. This course is by now the best one I am looking for as a developer.
One of the best courses I've ever taken on Udemy. Being an astronomer-turned-into-Data Scientist, I've always found myself in the in-between Statistics and Programming; this course helped me to improve a lot on the latter, with clear, fun and helpful explanations. The instructor is very captivating and I definitely recommend this course! Thank you and congrats for the awesome work, Andrei!
It was somewhat more basic than I needed. A course for experienced programmers would have been more time efficient for me.
Status | Date | Discount | ||
---|---|---|---|---|
Expired | 11/11/2019 | 93% OFF | ||
Expired | 1/16/2020 | 94% OFF | ||
Expired | 3/17/2020 | 92% OFF | ||
Expired | 6/2/2020 | 93% OFF | ||
Expired | 6/12/2020 | 94% OFF | ||
Expired | 9/15/2020 | 94% OFF | ||
Expired | 11/2/2020 | 94% OFF | ||
Expired | 11/8/2020 | 94% OFF | ||
Valid | 1/10/2021 | 93% OFF | ||