Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Online Bootcamp for Technical Interviews
Pre Course
READ THIS FIRST - The 5 Commandments of Interview Camp
Welcome! Introduction to this Course (2:10)
The Building Blocks Approach. Guide to Problem Levels: Easy, Medium, Hard
4 Week Action Plan (5 days/week vs 3 days/week)
Understanding the Interview Process
Precourse - Build Your Base
Programming Language Concepts - Java
Big O for Beginners
Hash Tables and Sorting for Beginners (10:47)
Program Execution in Memory (12:49)
Precourse - The Interview Process
Practice the ESTCV Approach
Example of a great coding interview (22:15)
Which Language to Use?
Behavior Tips
Common Behavioral Interview Questions
Chapter 1 - Arrays and Strings I
Traversing Array in Reverse (Using ESTCV Approach) (18:24)
Traverse from Both Ends (5:23)
Partitioning Arrays (21:42)
Chapter 2 - Subarray Problems
Kadane's Algorithm (14:35)
Sliding Window using Two Pointers (13:29)
Prefix Sums (5:40)
Chapter 3 - System Design Intro
Anatomy of a Scalable Web Application (17:51)
Approach for System Design Interviews + Uber/Lyft Design (21:59)
Load Balancers and App Servers (17:34)
Chapter 4 - System Design - Horizontal Scaling by Sharding
Why Sharding is the Swiss Army Knife of System Design Interviews
Optional Article: Distributed Caching Using Memcached
CAP Theorem for Beginners (8:34)
Sharding - Using Partition Functions (8:08)
Dynamic Sharding (8:37)
Sharding - Consistent Hashing (6:41)
Chapter 5 - Binary Search
Implementation (6:37)
Binary Search with Duplicates (3:50)
Search for Closest - Record and Move On (7:09)
Special Tricks (11:38)
Chapter 6 - Recursion and Backtracking
Intro to Recursion and Memoization (9:56)
Permutations/Combinations using Auxiliary Buffer (31:36)
Backtracking Spaceship (13:45)
Chapter 7 - Linked List
Implementation (4:39)
Append Function (3:31)
Deleting Nodes (5:01)
Slow Pointer, Fast Pointer (10:33)
Linked Hash Table (10:11)
Reversing a Linked List (3:02)
Chapter 8 - Stack
Stack - Intro (5:09)
Stack as Restriction (7:55)
Stack with Max (5:26)
Expression Evaluation (21:02)
Chapter 9 - System Design - Databases and Storage
Databases - Intro to Indexing and NoSQL (12:49)
Key-Value Stores incl. Object Stores, In Memory DBs (9:06)
Wide Column Stores - e.g, HBase, Cassandra (22:53)
Transaction Processing (12:28)
Optional Paper - Facebook Haystack
Chapter 10 - Queue
Queue - Intro (8:53)
Queue - Sliding Window (4:57)
Queue with Max (5:23)
Chapter 11 - Dynamic Programming
DP Myths
Intro (11:24)
Approaching Dynamic Programming Problems (29:52)
Chapter 12 - Arrays and Strings II
Max Diff (8:17)
2D Arrays (3:25)
Special Tricks (7:35)
Add/Multiply without Operators (14:14)
Chapter 13 - Hash Table & Hash Functions
Hash Table - Implementation (13:44)
Hash Table - Hash Functions (6:28)
Hash Table - String Search (3:46)
Chapter 14 - System Design - Important Backend Components
Distributed File System Design (22:15)
Distributed Processing using MapReduce (26:18)
Spatial Indexing - Nearest Neighbors Search (26:24)
Chapter 15 - Graphs I
Graphs I - Basics (5:15)
Graphs I - DFS (9:15)
Graphs I - BFS (8:37)
Graphs I - Topological Sort (9:18)
Chapter 16 - Heap
Heaps - Intro, Implementation (18:36)
Chapter 17 - Line Sweep
Line Sweep - Intro (7:02)
Line Sweep - Skyline Problem (12:04)
Chapter 18 - Selection Algorithm
Selection Algorithm - Intro, Implementation (27:04)
Chapter 19 - Sorting Algorithms
Sorting Algorithms Intro (2:13)
Merge Sort and Quick Sort (14:50)
Stability and Sorting Large Data (10:26)
Special Tricks (8:08)
Chapter 20 - Graphs II
Graphs II - Detecting Cycles (5:45)
Graphs II - Bipartite Graph (9:25)
Graphs II - Connected Components (2:12)
Chapter 21 - Bit Manipulation
Bit Manipulation - Intro (8:51)
Bit Manipulation - Flip Bits (3:42)
Bit Manipulation - Get & Set Bits (6:30)
Bit Manipulation - Swap Bits (5:43)
Bit Manipulation - LSB (4:37)
Bit Manipulation - Complement of Integer (5:21)
Bit Manipulation - Duplicate XOR (5:53)
Chapter 22 - Binary Tree
Binary Tree - Intro, Traversing (17:46)
Binary Tree - Bottom to Top (10:27)
Binary Tree - Top to Bottom (5:23)
Binary Tree - Lowest Common Ancestor (6:16)
Binary Tree - Reconstruction (4:08)
Chapter 23 - Binary Search Tree
Binary Search Tree - Intro, Implementation (8:08)
Binary Search Tree - Record and Move On (4:10)
Binary Search Tree - Successor (4:09)
Binary Search Tree - LCA (3:28)
Binary Search Tree - Building Balanced BSTs (2:03)
Chapter 24 - Trie
Trie - Intro (5:59)
Trie - Implementation (7:31)
Chapter 25 - System Design - Putting it all together
The iCamp System Design Template
Design an E-commerce Application like Amazon
Design a Social Networking Service like Instagram
Design a URL Shortening Service like TinyURL
Design a Messaging Service like WhatsApp
Last Day Interview Prep
Day Before Interview Guide
Extras
Everything below this section is Supplementary
Majority Search
Majority Search - Half (6:06)
Majority Search - 1/k (6:16)
Live Session Recordings - Topic Discussion followed by Q&A (2 hours each)
Facebook Manager Q&A (119:18)
Q&A with a Candidate who got multiple offers (115:59)
Q&A with Uber Manager, Mock Behavioral Interviews (126:00)
Examples of Sharding/Partitioning, Local/Global Indexing (126:52)
Understanding ACID vs BASE, Database Transactions (124:57)
Replication - Synchronous, Asynchronous (122:16)
Capacity Estimation + Different Types of Caching (123:03)
Behavioral Interviews - Tips and Discussions (128:39)
Object Oriented Design Interviews (Design a Parking Lot) (122:39)
System Design for Search Index (Amazon Elasticsearch, Apache Lucene) (118:49)
Mock Phone Interview - Expression Calculator (116:43)
Facebook News Feed Design (Recommendation System) (117:13)
Messaging Application System Design (WhatsApp, Messenger) (126:47)
Mock Interview - System Design (Facebook, Instagram) (123:14)
Consistent Hashing Discussion - Horizontally Scaling Systems (114:41)
2 Mock Phone Interviews - Algorithms (120:22)
Scaling your Algorithms for Large Data (124:56)
Improving Performance of Web Applications (136:45)
Video Sharing Service (Youtube, Netflix) (128:38)
Q&A with a successful candidate + Uber/Lyft System Design (121:26)
Design a Web Crawler (118:12)
Q&A with an Amazon engineer (118:38)
Q&A with a Google Tech Lead (126:23)
Q&A with a Google Engineer (120:44)
Security Considerations while Designing Web Applications (118:24)
Design HackerRank (Coding Competition Application) (124:00)
Q&A with an Amazon engineer (120:14)
Sharding with Examples (121:50)
2 Good Mock System Design Interviews (125:35)
Transaction Isolation Levels (125:33)
2 Mock Interviews (130:30)
Example of a Good Mock System Design Interview (120:18)
Job Scheduler Design (132:24)
Producer-Consumer Problem (121:05)
Mock Interview: Design a Logging System in a Social Network (126:17)
Mock Interview: Design an A/B Testing System (126:43)
Q&A with Staff Level Engineer (L6+) who got multiple offers (120:23)
API Design for Amazon.com
iCamp Graveyard - Old and Deprecated Material
Subarray Sum Problems (28:10)
Dutch National Flag (10:47)
Backtracking Problems (13:18)
Useful Resources
Amazon Leadership Principles
Load Balancers and App Servers
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock