Description
In this course, you will :
- Prepare for coding interviews by tackling real-world issues that tech companies face.
- When you solve real-world problems related to real-world projects (for example, paginating attendees in a Zoom call), you'll not only have more fun preparing, but you'll also remember more of what you've learned.
- We'll also show you what kinds of interview problems you'll now be able to solve using the techniques you just learned after each project, so your knowledge is adaptable to new problems.
Syllabus :
1. Netflix
- Feature #1: Group Similar Titles
- Feature #2: Fetch Top Movies
- Feature #3: Find Median Age
- Feature #4: Popularity Analysis
- Feature #5: Fetch Most Recently Watched Titles
- Feature #6: Fetch Most Frequently Watched Titles
- Feature #7: Browse Ratings
- Feature #8: Verify User Session
- Feature #9: Movie Combinations of a Genre
- Feature #10: Calculate Median of Buffering Events
- Feature #11: Generate Movie Viewing Orders
- Feature #12: Maintain Continue Watching Bar
- What Did We Learn?
- DIY: Group Anagrams
- DIY: Merge K Sorted Lists
- DIY: Find Median from a Data Stream
- DIY: Monotonic Array
- DIY: LRU Cache
- DIY: LFU Cache
- DIY: Min Stack
- DIY: Validate Stack Sequences
- DIY: Letter Combinations of a Phone Number
- DIY: Sliding Window Median
- DIY: Permutations
- DIY: Maximum Frequency Stack
2. Facebook
- Feature #1: Friend Circles
- Feature #2: Copy Connections
- Feature #3: Find Story ID
- Feature #4: Request Limiter
- Feature #5: Flag Words
- Feature #6: Combine Similar Messages
- Feature #7: Divide Posts
- Feature #8: Overlapping Topics
- Feature #9: Recreating the Decision Tree
- What Did We Learn?
- DIY: Number of Islands
- DIY: Number of Provinces
- DIY: Number of Connected Components in an Undirected Graph
- DIY: Clone Undirected Graph
- DIY: Search in Rotated Sorted Array
- DIY: Logger Rate Limiter
- DIY: Expressive words
- DIY: Group Shifted Strings
- DIY: Divide Chocolate
- DIY: Minimum Window Substring
- DIY: Construct a Binary Tree from Preorder and Inorder Traversal
3. Search Engine
- Feature #1: Store and Fetch Words
- Feature #2: Design Search Autocomplete System
- Feature #3: Add White Spaces to Create Words
- Feature #4: Suggest Possible Queries After Adding White Spaces
- Feature #5: Calculate the Search Ranking Factor
- Feature #6: Reorganizing Search Results
- Feature #7: Find Searching Time
- Feature #8: Distributed Process Coordinator
- Feature #9: Finding Minimum Servers
- What Did We Learn?
- DIY: Implement Trie
- DIY: Suggest Relevant Sentences
- DIY: Word Break
- DIY: Word Break II
- DIY: Product of Array Elements Except Itself
- DIY: Reorganizing a String
- DIY: Exclusive Time of Functions
- DIY: Snapshot Array
- DIY: Coin Change
- DIY: Coin Change 2
- DIY: Combination Sum
4. Google Calendar
- Feature #1: Find Meeting Rooms
- Feature #2: Show Busy Schedule
- Feature #3: Check if Meeting is Possible
- Feature #4: Schedule a New Meeting
- Feature #5: Find Common Meeting Times
- Feature #6: Find Two Sets of Consecutive Days
- Feature #7: Longest Busy Period
- What Did We Learn?
- DIY: Find Interval Sets
- DIY: Merge Intervals
- DIY: My Calendar
- DIY: Insert Interval
- DIY: Interval Lists Intersection
- DIY: Employee Free Time
- DIY: Find Two Non-Overlapping Subarrays Each with Target Sum
- DIY: Longest Consecutive Sequence
5. Stock Scraper
- Feature #1: Traversing DOM Tree
- Feature #2: Locating Stock Data
- Feature #3: Traversing DOM Tree II
- Feature #4: Maximum Profit
- What Did We Learn?
- DIY: Binary Tree Level Order Traversal
- DIY: Lowest Common Ancestor of a Binary Tree
- DIY: Lowest Common Ancestor of a Binary Tree III
- DIY: Populating Next Right Pointers in Each Node
- DIY: Populating Next Right Pointers in Each Node II
- DIY: Maximum Subarray
- DIY: Best Time to Buy and Sell Stock
6. UBER
- Feature #1: Select Closest Drivers
- Feature #2: Path Cost
- Feature #3: Plot and Select Path
- Feature #4: Fare in Words
- Feature #5: Uber Pool
- Feature #6: Longest Route
- Feature #7: Highest Rank
- Feature #8: Optimal Path
- What Did We Learn?
- DIY: K Closest Points to Origin
- DIY: Trapping Rainwater
- DIY: Evaluate Division
- DIY: Integer to English Words
- DIY: Random Pick with Weight
- DIY: Diameter of Binary Tree
- DIY: Kth Largest Element in an Array
- DIY: Minimum Path Sum
7. Amazon
- Feature #1: Suggest Items for Free Delivery
- Feature #2: Suggest Items for Special Offer
- Feature #3: Upselling Products
- Feature #4: Copy Product Data
- Feature #5: Order Processing Milestones
- Feature #6: Products Frequently Viewed Together
- Feature #7: Optimize Delivery Cost
- Feature #8: Merge Recommendations
- Feature #9: Products in Price Range
- Feature #10: Calculate the Total Cost of the Shopping Cart Items
- Feature #11: Ad Serving
- Feature #12: Warehouse and Drop Points
- Feature #13: Time-Based Item Price Store
- Feature #14: Find Similar Products
- What Did We Learn?
- DIY: Two Sum
- DIY: Three Sum
- DIY: 3Sum Closest
- DIY: Insert, Delete, and GetRandom in O(1)
- DIY: Insert Delete GetRandom O(1) - Duplicates Allowed
- DIY: Copy List with Random Pointer
- DIY: Find First and Last Position of an Element in Sorted Array
- DIY: Find All Anagrams in a String
- DIY: Random Pick Index
- DIY: Continuous Subarray Sum
- DIY: Accounts Merge
- DIY: Range Sum of BST
- DIY: Basic Calculator II
- DIY: Basic Calculator III
- DIY: Read N Characters Given Read4 II — Call Multiple Times
- DIY: Walls and Gates
- DIY: Time-Based Key-Value Store
- DIY: Intersection of Two Arrays
8. Zoom
- Feature #1: Display Meeting Lobby
- Feature #2: Serialize and Deserialize Participant Data
- Feature #3: Meeting Activity
- Feature #4: Validate Sorted Participants Data
- Feature #5: Auto Rotate in Mobile Devices
- What Did We Learn?
- DIY: Binary Search Tree Iterator
- DIY: Serialize and Deserialize Binary Tree
- DIY: Jump Game IV
- DIY: Validate the Binary Search Tree
- DIY: Rotate Image
9. Plagiarism Checker
- Feature #1: Possible Matches
- Feature #2: Return Match
- What Did We Learn?
- DIY: Number of Matching Subsequences
- DIY: Minimum Window Subsequence
10. Network
- Feature #1: Total Time
- Feature #2: TTL Expiry
- Feature #3: Minimum Hops
- Feature #4: Maximum Routers
- Feature #5: Update VLAN ID
- Feature #6: Transmission Error
- Feature #7: Divide Files Over the Network
- Feature #8: Maximum Clock Skew
- Feature #9: Update Configuration
- Feature #10: Minimum Variation
- Feature #11: Weighted Exponential Back-off
- Feature #12: Peak Signal Strength
- What Did We Learn?
- DIY: Time Needed to Inform All Employees
- DIY: All Nodes Distance K in Binary Tree
- DIY: Jump Game II
- DIY: Longest Increasing Path in a Matrix
- DIY: Flood Fill
- DIY: Valid Palindrome II
- DIY: Partition Labels
- DIY: Maximum Difference Between Node and Ancestor
- DIY: Rotting Oranges
- DIY: Longest Subarray With Absolute Diff Less Than Equal to Limit
- DIY: Add Two Numbers
- DIY: Add Two Numbers II
- DIY: Find Peak Element
11. Cyber Security
- Feature #1: Validate Packet Structure
- Feature #2: Verify Message Integrity
- Feature #3: Find Dictionary
- Feature #4: Ways to Decode Message
- Feature #5: Eligible Candidates
- What Did We Learn?
- DIY: UTF-8 Validation
- DIY: Verifying an Alien Dictionary
- DIY: Alien Dictionary
- DIY: Decode Ways
- DIY: Find K Closest Elements
12. Operating System
- Feature #1: Allocate Space
- Feature #2: Resume Process
- Feature #3: Schedule Processes
- Feature #4: Compress File
- Feature #5: Recover Files
- Feature #6: File Management System
- Feature #7: Serialize and Deserialize File System
- Feature #8: Compress File II
- Feature #9: File Search
- Feature #10: Decode a Message
- Feature #11: Directory Iterator
- Feature #12: Priority Validation
- Feature #13: Reverse Commands
- Feature #14: Releasing Process Lock
- Feature #15: Queue Reconstruction by Priority
- What Did We Learn?
- DIY: Subarray Sum Equals K
- DIY: Missing Element in a Sorted Array
- DIY: Course Schedule
- DIY: Course Schedule II
- DIY: Sequence Reconstruction
- DIY: Concatenated Words
- DIY: Minimum Remove to Make Valid Parentheses
- DIY: Design Add and Search Words Data Structure
- DIY: Serialize and Deserialize N-ary Tree
- DIY: String Compression
- DIY: Regular Expression Matching
- DIY: Wildcard Matching
- DIY: 24 Game
- DIY: Flatten Nested List Iterator
- DIY: Frog Jump
- DIY: Queue Reconstruction by Height
- DIY: Reverse Words in a String
- DIY: Single Element in a Sorted Array
13. Language Compiler
- Feature #1: Remove Comments
- Feature #2: Evaluate the Arithmetic Expression
- Feature #3: Loop Unrolling
- Feature #4: Optimization by Replacement
- Feature #5: Compilation Step Failure
- Feature #6: Most Common Token
- Feature #7: Exponentiation for Mobile Devices
- Feature #8: Divide in Power Save Mode
- Feature #9: Validate Program Brackets
- What Did We Learn?
- DIY: Count a Word in the Comments
- DIY: Basic Calculator
- DIY: Decoding a String
- DIY: Find and Replace in a String
- DIY: First Bad Version
- DIY: Nested List Weight Sum
- DIY: Most Common Word
- DIY: Pow(x, n)
- DIY: Divide Two Integers
- DIY: Valid Parentheses
- DIY: Valid Parenthesis String
14. Boggle
- Feature #1: Search for a Single Word in the Boggle Grid
- Feature #2: Search for Maximum Number of Words in the Boggle Grid
- What Did We Learn?
- DIY: Word Search I
- DIY: Word Search II
15. Scrabble 2.0
- Feature #1: Minimum Moves
- Feature #2: Possible Results
- What Did We Learn?
- DIY: Word Ladder I
- DIY: Word Ladder II
16. Game
- Feature #1: Hand of Straights
- Feature #2: Maximum Points You Can Obtain from Cards
- Feature #3: Balloon Splash
- What Did We Learn?
- DIY: Divide Array in Sets of K Consecutive Numbers
- DIY: Find Maximum Sum from Either End of an Array
- DIY: Remove All Adjacent Duplicates In String
- DIY: Remove All Adjacent Duplicates in String II
17. Stocks
- Feature #1: Validate Price
- Feature #2: Settling Period
- Feature #3: Goals Fulfilled
- Feature #4: Milestone Reached
- Feature #5: Top Brokers
- Feature #6: Assign Transactions
- Feature #7: Process Transactions
- Feature #8: Find Intervals
- What Did We Learn?
- DIY: Valid Number
- DIY: Task Scheduler
- DIY: Split Array into Consecutive Subsequences
- DIY: Searching a 2D Matrix
- DIY: Top K Frequent Elements
- DIY: Reverse Nodes in k-Group
- DIY: Reverse Linked List II
- DIY: String to Integer (atoi)
- DIY: Daily Temperatures
18. Computational Biology
- Feature #1: Mutate DNA
- Feature #2: Detect Virus
- Feature #3: Locate Protein
- Feature #4: Identifying Proteins
- Feature #5: Mutating a Virus
- Feature #6: Identify a Species
- Feature #7: Detecting a Protein
- Feature #8: Similarity Measure Between DNA Samples
- Feature #9: Kth Missing Gene
- What Did We Learn?
- DIY: String Transforms into Another String
- DIY: Longest Substring with At Most K Distinct Characters
- DIY: Longest Palindromic Substring
- DIY: Valid Palindrome
- DIY: Next Permutation
- DIY: Longest Substring without Repeating Characters
- DIY: Palindrome Permutation
- DIY: Palindromic Substrings
- DIY: Edit Distance
- DIY: Kth Missing Positive Number
19. Cellular Operator(AT&T)
- Feature #1: Determine Location
- Feature #2: Low Coverage Area
- Feature #3: Power Up the Station
- Feature #4: Query Peak Users
- Feature #5: Densest Deployment
- Feature #6: Maximum Users
- Feature #7: Maximum Contiguous Area
- Feature #8: Maximum Signal Strength
- What Did We Learn?
- DIY: Search a 2D Matrix II
- DIY: Largest Rectangle in Histogram
- DIY: Maximal Rectangle
- DIY: Open Lock
- DIY: Range Sum Query 2D — Immutable
- DIY: Minimum Area Rectangle
- DIY: Sliding Window Maximum
- DIY: Max Area of an Island
- DIY: Max Consecutive Ones III
- DIY: Shortest Bridge
20. Twitter
- Feature #1: Add Likes
- Feature #2: Merge Tweets In Twitter Feed
- Feature #3: Identify Peak Interaction Times
- Feature #4: Split Users into Two Groups
- Feature #5: Drawing a Global Profile of Viral Tweets
- Feature #6: Incoming Tweets Predictor
- Feature #7: Trending Hashtags
- What Did We Learn?
- DIY: Add Binary
- DIY: Multiply Strings
- DIY: Merge Sorted Arrays
- DIY: Maximum Sum of Three Non-Overlapping Arrays
- DIY: Is Graph Bipartite?
- DIY: The Skyline Problem
- DIY: Moving Average from a Data Stream
- DIY: Find Duplicate Files in System
21. Trees
- Invert Binary Tree
- Flip Equivalent Binary Trees
- Binary Tree Maximum Path Sum
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Right Side View
- Binary Tree Vertical Order Traversal
- Boundary of Binary Tree
- Flatten Binary Tree to Linked List