Interview Question Library
System Design
- Design a URL Shortener (Medium)
- Design Ticketmaster (Hard)
- Design WhatsApp (Hard)
- Design a Distributed Rate Limiter (Medium)
- Design a News Feed (Hard)
- Design Uber (Hard)
- Design a Web Crawler (Medium)
- Design Top-K Trending Videos (Hard)
- Design Dropbox (Medium)
- Design YouTube (Hard)
- Design Google Docs (Hard)
- Design a Payment System (Hard)
- Design a Notification System (Medium)
- Design a Distributed Cache (Medium)
- Design a Distributed Job Scheduler (Hard)
- Design Search Autocomplete (Medium)
- Design a Chat LLM Serving Platform (Hard)
- Design an Ad Click Aggregator (Hard)
- Design Yelp (Proximity Search) (Medium)
- Design an Online Auction (Medium)
- Design Slack (Hard)
- Design Google Calendar (Medium)
- Design Google Maps (Hard)
- Design Online Chess (Medium)
- Design LeetCode (Medium)
- Design an Online Bookstore (Medium)
- Design Meta Post Privacy (Hard)
- Design Airbnb (Hard)
- Design DoorDash (Food Delivery) (Hard)
- Design Spotify (Medium)
- Design Zoom (Video Conferencing) (Hard)
- Design Figma (Multiplayer Editing) (Hard)
- Design Cash App (P2P Payments) (Hard)
- Design Instagram (Medium)
- Design Twitter Search (Hard)
- Design Reddit (Medium)
- Design TikTok (For You Feed) (Hard)
- Design a Flash Sale System (Hard)
- Design GitHub (Hard)
- Design Gmail (Hard)
- Design Tinder (Medium)
- Design Facebook Live Comments (Medium)
- Design Strava (Medium)
- Design a Price Tracker (Medium)
- Design Google News (Hard)
- Design a CI/CD System (Hard)
- Design a Webhook Delivery System (Medium)
- Design a Distributed File System (Hard)
- Design Distributed Counters (Medium)
- Design a Real-Time Leaderboard (Medium)
- Design a Remote Devbox (Hard)
- Design a Crossword Puzzle Solver (Hard)
- Design Smart Grid Device Control (Hard)
- Design a Stock Exchange (Hard)
- Design a Real-Time Market Data Feed (Hard)
- Design a Content Delivery Network (CDN) (Hard)
- Design a Distributed Key-Value Store (Hard)
- Design a Distributed Message Queue (Hard)
- Design a Metrics Monitoring & Alerting System (Medium)
- Design Over-the-Air (OTA) Firmware Updates (Medium)
- Design an Enterprise Data Integration Platform (Hard)
- Design Pastebin (Easy)
- Design a Distributed Lock Service (Hard)
- Design ChatGPT Playground (Medium)
- Design a Batch Inference System (Hard)
- Design ML Model Distribution (Hard)
- Design Sora (Text-to-Video) (Hard)
- Design a Data Labeling Platform (Medium)
Arrays & Strings
- Longest Substring Without Repeating Characters (Medium)
- Minimum Window Substring (Hard)
- Trapping Rain Water (Hard)
- Container With Most Water (Medium)
- 3Sum (Medium)
- Maximum Subarray (Kadane's Algorithm) (Medium)
- Product of Array Except Self (Medium)
- Sort Colors (Dutch National Flag) (Medium)
- Majority Element (Boyer–Moore Vote) (Easy)
- Corporate Flight Bookings (Difference Array) (Medium)
- Find the Duplicate Number (Medium)
- Find All Anagrams in a String (Medium)
- Longest Palindromic Substring (Medium)
- Find the First Occurrence (KMP) (Medium)
- Best Time to Buy and Sell Stock (Easy)
- Valid Palindrome (Easy)
- Valid Palindrome II (Easy)
- Valid Word Abbreviation (Easy)
- Merge Sorted Array (Easy)
- Move Zeroes (Easy)
- Longest Common Prefix (Easy)
- Rotate Image (Medium)
- Spiral Matrix (Medium)
- Next Permutation (Medium)
- Set Matrix Zeroes (Medium)
- Longest Repeating Character Replacement (Medium)
- Max Consecutive Ones III (Medium)
- Minimum Size Subarray Sum (Medium)
- First Missing Positive (Hard)
- Text Justification (Hard)
- Remove Duplicates from Sorted Array (Easy)
- Rotate Array (Medium)
- Squares of a Sorted Array (Easy)
- Two Sum II - Input Array Is Sorted (Medium)
- Zigzag Conversion (Medium)
- 4Sum (Medium)
- 3Sum Closest (Medium)
- Fruit Into Baskets (Medium)
- Permutation in String (Medium)
- String Compression (Medium)
- Reverse Words in a String (Medium)
- Subarray Product Less Than K (Medium)
- Game of Life (Medium)
- Majority Element II (Medium)
- Remove Element (Easy)
- Merge Strings Alternately (Easy)
- Maximum Average Subarray I (Easy)
- Is Subsequence (Easy)
- Reverse Vowels of a String (Easy)
- Maximum Product of Three Numbers (Easy)
- Remove Duplicates from Sorted Array II (Medium)
- Diagonal Traverse (Medium)
- Spiral Matrix II (Medium)
- Increasing Triplet Subsequence (Medium)
- Frequency of the Most Frequent Element (Medium)
- Maximum Points You Can Obtain from Cards (Medium)
- Number of Substrings Containing All Three Characters (Medium)
- Substring with Concatenation of All Words (Hard)
- Rotate String (Easy)
- Longest Substring with At Least K Repeating Characters (Medium)
- Reverse Pairs (Hard)
- Find Pivot Index (Easy)
- Rearrange Array Elements by Sign (Medium)
- Count Binary Substrings (Easy)
- Can Make Arithmetic Progression From Sequence (Easy)
- Find Missing and Repeated Values (Easy)
- Find All Numbers Disappeared in an Array (Easy)
- Valid Triangle Number (Medium)
- Third Maximum Number (Easy)
- Maximum Sum of Distinct Subarrays With Length K (Medium)
- Maximum Number of Vowels in a Substring of Given Length (Medium)
- Shortest Unsorted Continuous Subarray (Medium)
- Longest Substring with At Most K Distinct Characters (Medium)
- Longest Mountain in Array (Medium)
- Sort an Array (Medium)
- Toeplitz Matrix (Easy)
- Range Sum Query - Immutable (Easy)
- Range Sum Query 2D - Immutable (Medium)
- Product of the Last K Numbers (Medium)
Hashing
- Subarray Sum Equals K (Medium)
- In-Memory Database (Multi-Part) (Hard)
- Implement an LRU Cache (Medium)
- Two Sum (Easy)
- Group Anagrams (Medium)
- Longest Consecutive Sequence (Medium)
- Contains Nearby Duplicate (Easy)
- Contiguous Array (Equal 0s and 1s) (Medium)
- First Unique Character (Easy)
- Valid Anagram (Easy)
- Isomorphic Strings (Easy)
- Valid Sudoku (Medium)
- Continuous Subarray Sum (Medium)
- Subarray Sums Divisible by K (Medium)
- Happy Number (Easy)
- Logger Rate Limiter (Easy)
- Contains Duplicate (Easy)
- Ransom Note (Easy)
- Word Pattern (Easy)
- Design HashMap (Easy)
- Count Number of Nice Subarrays (Medium)
- Binary Subarrays With Sum (Medium)
- LFU Cache (Hard)
- Intersection of Two Arrays (Easy)
- Repeated DNA Sequences (Medium)
- Group Shifted Strings (Medium)
- Design Underground System (Medium)
- Find All Duplicates in an Array (Medium)
- Longest Palindrome (Easy)
- Invalid Transactions (Medium)
- Analyze User Website Visit Pattern (Medium)
- Unique Number of Occurrences (Easy)
- Subarrays with K Different Integers (Hard)
- Brick Wall (Medium)
- K-diff Pairs in an Array (Medium)
- Max Number of K-Sum Pairs (Medium)
- Jewels and Stones (Easy)
- Find Common Characters (Easy)
- Shortest Word Distance (Easy)
- Shortest Word Distance II (Medium)
- Sort Array by Increasing Frequency (Easy)
Linked Lists
- Reverse a Linked List (Easy)
- Reverse a Sublist (Medium)
- Detect a Cycle (Floyd's Algorithm) (Easy)
- Find the Cycle Entry (Medium)
- Middle of a Linked List (Easy)
- Merge Two Sorted Lists (Easy)
- Merge K Sorted Lists (Hard)
- Remove the Nth Node From the End (Medium)
- Reorder List (Medium)
- Palindrome Linked List (Easy)
- Add Two Numbers (Medium)
- Swap Nodes in Pairs (Medium)
- Rotate List (Medium)
- Odd Even Linked List (Medium)
- Remove Duplicates from Sorted List II (Medium)
- Sort List (Medium)
- Reverse Nodes in k-Group (Hard)
- Remove Duplicates from Sorted List (Easy)
- Remove Linked List Elements (Easy)
- Partition List (Medium)
- Delete the Middle Node of a Linked List (Medium)
- Add Two Numbers II (Medium)
- Insertion Sort List (Medium)
- Next Greater Node In Linked List (Medium)
- Swapping Nodes in a Linked List (Medium)
- Maximum Twin Sum of a Linked List (Medium)
- Design Linked List (Medium)
- Merge Nodes in Between Zeros (Medium)
- Merge In Between Linked Lists (Medium)
- Remove Zero Sum Consecutive Nodes from Linked List (Medium)
- Reverse Nodes in Even Length Groups (Medium)
- Linked List Components (Medium)
- Double a Number Represented as a Linked List (Medium)
Stack & Monotonic Stack
- Daily Temperatures (Medium)
- Valid Parentheses (Easy)
- Min Stack (Medium)
- Evaluate Reverse Polish Notation (Medium)
- Basic Calculator II (Medium)
- Next Greater Element (Circular) (Medium)
- Largest Rectangle in Histogram (Hard)
- Online Stock Span (Medium)
- Remove K Digits (Medium)
- Minimum Remove to Make Valid Parentheses (Medium)
- Decode String (Medium)
- Asteroid Collision (Medium)
- Simplify Path (Medium)
- Basic Calculator (Hard)
- Longest Valid Parentheses (Hard)
- Sum of Subarray Minimums (Medium)
- Next Greater Element I (Easy)
- Final Prices With a Special Discount in a Shop (Easy)
- Remove All Adjacent Duplicates in String (Easy)
- Remove All Adjacent Duplicates in String II (Medium)
- Implement Queue using Stacks (Easy)
- Minimum Add to Make Parentheses Valid (Medium)
- 132 Pattern (Medium)
- Remove Duplicate Letters (Medium)
- Maximal Rectangle (Hard)
- Exclusive Time of Functions (Medium)
- Car Fleet (Medium)
- Buildings With an Ocean View (Medium)
- Backspace String Compare (Easy)
- Baseball Game (Easy)
- Number of Visible People in a Queue (Hard)
- Basic Calculator III (Hard)
- Max Stack (Hard)
- Design Browser History (Medium)
- Sum of Subarray Ranges (Medium)
- Maximum Width Ramp (Medium)
- Remove Outermost Parentheses (Easy)
- Maximum Nesting Depth of the Parentheses (Easy)
- Design a Stack With Increment Operation (Medium)
- Maximum Frequency Stack (Hard)
- Score of Parentheses (Medium)
- Using a Robot to Print the Lexicographically Smallest String (Medium)
Queue & Deque
- Sliding Window Maximum (Hard)
- Rotting Oranges (Multi-source BFS) (Medium)
- Distance to Nearest Zero (01 Matrix) (Medium)
- Binary Tree Level Order Traversal (Medium)
- Open the Lock (Medium)
- Number of Recent Calls (Easy)
- Shortest Subarray With Sum at Least K (Hard)
- Design Hit Counter (Medium)
- Design Circular Queue (Medium)
- Shortest Path in Binary Matrix (Medium)
- Walls and Gates (Medium)
- Longest Subarray With Absolute Diff ≤ Limit (Medium)
- Bus Routes (Hard)
- Moving Average from Data Stream (Easy)
- Implement Stack using Queues (Easy)
- First Unique Number (Medium)
- Find the Winner of the Circular Game (Medium)
- Jump Game VII (Medium)
- Shortest Path in a Grid with Obstacles Elimination (Hard)
- Number of Students Unable to Eat Lunch (Easy)
- Time Needed to Buy Tickets (Easy)
- Dota2 Senate (Medium)
- Nearest Exit from Entrance in Maze (Medium)
- Snakes and Ladders (Medium)
- Minimum Knight Moves (Medium)
- The Maze (Medium)
- Shortest Distance from All Buildings (Hard)
- Minimum Genetic Mutation (Medium)
- Shortest Path to Get All Keys (Hard)
- Find the Safest Path in a Grid (Medium)
- Continuous Subarrays (Medium)
- Count Subarrays With Fixed Bounds (Hard)
Heap & Priority Queue
- Top K Frequent Elements (Medium)
- Find Median from Data Stream (Hard)
- Kth Largest Element in an Array (Medium)
- K Closest Points to Origin (Medium)
- Kth Largest Element in a Stream (Easy)
- Task Scheduler (Medium)
- Last Stone Weight (Easy)
- IPO: Maximize Capital (Hard)
- Single-Threaded CPU Scheduling (Medium)
- Top K Frequent Words (Medium)
- Sort Characters by Frequency (Medium)
- Kth Smallest Element in a Sorted Matrix (Medium)
- Furthest Building You Can Reach (Medium)
- Maximum Number of Events That Can Be Attended (Medium)
- Meeting Rooms III (Hard)
- Minimum Number of Refueling Stops (Hard)
- Smallest Range Covering Elements from K Lists (Hard)
- Design Twitter (Medium)
- Seat Reservation Manager (Medium)
- Total Cost to Hire K Workers (Medium)
- Process Tasks Using Servers (Medium)
- Find K Pairs with Smallest Sums (Medium)
- Ugly Number II (Medium)
- Minimum Cost to Hire K Workers (Hard)
- Maximum Performance of a Team (Hard)
- Design A Leaderboard (Medium)
- Exam Room (Medium)
- K-th Smallest Prime Fraction (Medium)
- Stock Price Fluctuation (Medium)
- Design Task Manager (Medium)
- Find Score of an Array After Marking All Elements (Medium)
- Maximal Score After Applying K Operations (Medium)
- Number of Orders in the Backlog (Medium)
Binary Search
- Search in Rotated Sorted Array (Medium)
- Minimum Eating Speed (Medium)
- Time-Based Key-Value Store (Medium)
- Binary Search (Easy)
- Search Insert Position (Lower Bound) (Easy)
- First and Last Position in a Sorted Array (Medium)
- Find Minimum in Rotated Sorted Array (Medium)
- Capacity to Ship Packages Within D Days (Medium)
- Find a Peak Element (Medium)
- Split Array Largest Sum (Hard)
- Median of Two Sorted Arrays (Hard)
- Search a 2D Matrix (Medium)
- Sqrt(x) (Easy)
- Single Element in a Sorted Array (Medium)
- Kth Missing Positive Number (Easy)
- Find K Closest Elements (Medium)
- Minimum Number of Days to Make m Bouquets (Medium)
- Search a 2D Matrix II (Medium)
- Peak Index in a Mountain Array (Medium)
- Search in Rotated Sorted Array II (Medium)
- Find the Smallest Divisor Given a Threshold (Medium)
- Snapshot Array (Medium)
- Valid Perfect Square (Easy)
- Magnetic Force Between Two Balls (Medium)
- H-Index II (Medium)
- Find a Peak Element II (Medium)
- Heaters (Medium)
- Arranging Coins (Easy)
- Maximum Candies Allocated to K Children (Medium)
- Kth Smallest Number in Multiplication Table (Hard)
- Find K-th Smallest Pair Distance (Hard)
- Find Smallest Letter Greater Than Target (Easy)
- Count Negative Numbers in a Sorted Matrix (Easy)
- Successful Pairs of Spells and Potions (Medium)
- Minimum Time to Complete Trips (Medium)
- Minimized Maximum of Products Distributed to Any Store (Medium)
- Minimum Speed to Arrive on Time (Medium)
Trees
- Lowest Common Ancestor of a Binary Tree (Medium)
- Binary Tree Right Side View (Medium)
- Maximum Depth of a Binary Tree (Easy)
- Invert a Binary Tree (Easy)
- Balanced Binary Tree (Easy)
- Diameter of a Binary Tree (Easy)
- Path Sum II (Medium)
- Binary Tree Maximum Path Sum (Hard)
- Construct a Tree From Preorder and Inorder (Medium)
- Binary Tree Inorder Traversal (Iterative) (Easy)
- House Robber III (Tree DP) (Medium)
- Same Tree (Easy)
- Symmetric Tree (Easy)
- Subtree of Another Tree (Easy)
- Binary Tree Zigzag Level Order Traversal (Medium)
- Binary Tree Vertical Order Traversal (Medium)
- All Nodes Distance K in Binary Tree (Medium)
- Sum Root to Leaf Numbers (Medium)
- Path Sum III (Medium)
- Maximum Width of Binary Tree (Medium)
- Flatten Binary Tree to Linked List (Medium)
- Amount of Time for Binary Tree to Be Infected (Medium)
- Boundary of Binary Tree (Medium)
- Step-By-Step Directions From a Binary Tree Node to Another (Medium)
- Vertical Order Traversal of a Binary Tree (Hard)
- Count Good Nodes in Binary Tree (Medium)
- Find Leaves of Binary Tree (Medium)
- Binary Tree Cameras (Hard)
- Binary Tree Paths (Easy)
- Minimum Depth of Binary Tree (Easy)
- Path Sum (Easy)
- Count Complete Tree Nodes (Easy)
- Create Binary Tree From Descriptions (Medium)
- Count Nodes Equal to Average of Subtree (Medium)
- Cousins in Binary Tree (Easy)
- Maximum Difference Between Node and Ancestor (Medium)
- Longest ZigZag Path in a Binary Tree (Medium)
- Binary Tree Preorder Traversal (Easy)
- Sum of Left Leaves (Easy)
- Merge Two Binary Trees (Easy)
- Find Largest Value in Each Tree Row (Medium)
- Check Completeness of a Binary Tree (Medium)
- Construct Binary Tree from Inorder and Postorder Traversal (Medium)
- Maximum Level Sum of a Binary Tree (Medium)
- Binary Tree Tilt (Easy)
Binary Search Trees
- Search in a Binary Search Tree (Easy)
- Validate a Binary Search Tree (Medium)
- Kth Smallest Element in a BST (Medium)
- Lowest Common Ancestor in a BST (Medium)
- Insert Into a Binary Search Tree (Medium)
- Delete a Node in a BST (Medium)
- Range Sum of a BST (Easy)
- Convert a Sorted Array to a Balanced BST (Easy)
- Two Sum IV - Input is a BST (Easy)
- Closest Binary Search Tree Value (Easy)
- Trim a Binary Search Tree (Medium)
- Inorder Successor in BST (Medium)
- Recover Binary Search Tree (Medium)
- Convert Sorted List to Binary Search Tree (Medium)
- Convert BST to Greater Tree (Medium)
- Minimum Absolute Difference in BST (Easy)
- Closest Binary Search Tree Value II (Hard)
- Balance a Binary Search Tree (Medium)
- Unique Binary Search Trees (Medium)
- Construct Binary Search Tree from Preorder Traversal (Medium)
- Increasing Order Search Tree (Easy)
- Find Mode in Binary Search Tree (Easy)
- All Elements in Two Binary Search Trees (Medium)
- Largest BST Subtree (Medium)
- Count of Smaller Numbers After Self (Hard)
- Two Sum BSTs (Medium)
- Verify Preorder Sequence in Binary Search Tree (Medium)
- Maximum Sum BST in Binary Tree (Hard)
- Closest Nodes Queries in a Binary Search Tree (Medium)
- Contains Duplicate III (Hard)
Graphs
- Number of Islands (Medium)
- Course Schedule (Ordering) (Medium)
- Network Delay Time (Medium)
- Accounts Merge (Medium)
- Number of Provinces (Connected Components) (Medium)
- Redundant Connection (Medium)
- Graph Valid Tree (Medium)
- Word Ladder (Hard)
- Cheapest Flights Within K Stops (Bellman–Ford) (Medium)
- City With the Fewest Reachable Neighbors (Floyd–Warshall) (Medium)
- Min Cost to Connect All Points (MST) (Medium)
- Path With Minimum Effort (Dijkstra) (Medium)
- Pacific Atlantic Water Flow (Medium)
- Is Graph Bipartite? (Medium)
- Course Schedule II (Medium)
- Max Area of Island (Medium)
- Flood Fill (Easy)
- Surrounded Regions (Medium)
- Number of Connected Components in an Undirected Graph (Medium)
- Making A Large Island (Hard)
- Reconstruct Itinerary (Hard)
- Alien Dictionary (Hard)
- Keys and Rooms (Medium)
- Find Eventual Safe States (Medium)
- Possible Bipartition (Medium)
- Swim in Rising Water (Hard)
- The Earliest Moment When Everyone Become Friends (Medium)
- Parallel Courses III (Hard)
- Number of Islands II (Hard)
- Minimum Height Trees (Medium)
- Find if Path Exists in Graph (Easy)
- Find the Celebrity (Medium)
- All Paths From Source to Target (Medium)
- Most Stones Removed with Same Row or Column (Medium)
- Number of Distinct Islands (Medium)
- Critical Connections in a Network (Hard)
- Shortest Bridge (Medium)
- Reorder Routes to Make All Paths Lead to the City Zero (Medium)
- Number of Operations to Make Network Connected (Medium)
- Island Perimeter (Easy)
- Detonate the Maximum Bombs (Medium)
- Find All Possible Recipes from Given Supplies (Medium)
- Parallel Courses (Medium)
- Minimum Fuel Cost to Report to the Capital (Medium)
- Detect Cycles in 2D Grid (Medium)
- Find the Town Judge (Easy)
- Minimize Malware Spread (Hard)
- Count Unreachable Pairs of Nodes in an Undirected Graph (Medium)
Dynamic Programming
- Coin Change (Medium)
- Longest Increasing Subsequence (Medium)
- Word Break (Medium)
- Edit Distance (Hard)
- Climbing Stairs (Easy)
- House Robber (Medium)
- Decode Ways (Medium)
- Unique Paths (Medium)
- Minimum Path Sum (Medium)
- Longest Common Subsequence (Medium)
- Longest Palindromic Subsequence (Medium)
- 0/1 Knapsack (Medium)
- Coin Change II (Unbounded Knapsack) (Medium)
- Partition Equal Subset Sum (Medium)
- Target Sum (Medium)
- Matrix Chain Multiplication (Hard)
- Burst Balloons (Hard)
- Palindrome Partitioning II (Min Cuts) (Hard)
- Best Time to Buy and Sell Stock With Cooldown (Medium)
- Best Time to Buy and Sell Stock IV (k Transactions) (Hard)
- Maximum Product Subarray (Medium)
- Palindromic Substrings (Medium)
- House Robber II (Medium)
- Unique Paths II (Medium)
- Maximal Square (Medium)
- Interleaving String (Medium)
- Regular Expression Matching (Hard)
- Maximum Profit in Job Scheduling (Hard)
- Longest Increasing Path in a Matrix (Hard)
- Min Cost Climbing Stairs (Easy)
- Pascal's Triangle (Easy)
- Triangle (Medium)
- Perfect Squares (Medium)
- Minimum Cost For Tickets (Medium)
- Predict the Winner (Medium)
- Maximum Sum Circular Subarray (Medium)
- Wildcard Matching (Hard)
- Distinct Subsequences (Hard)
- Russian Doll Envelopes (Hard)
- Best Time to Buy and Sell Stock III (Hard)
- Best Time to Buy and Sell Stock with Transaction Fee (Medium)
- Combination Sum IV (Medium)
- Number of Longest Increasing Subsequence (Medium)
- Minimum Falling Path Sum (Medium)
- Dungeon Game (Hard)
- Frog Jump (Hard)
- Delete and Earn (Medium)
- Integer Break (Medium)
- Partition Array for Maximum Sum (Medium)
- Minimum Difficulty of a Job Schedule (Hard)
- Minimum Cost to Cut a Stick (Hard)
- Fibonacci Number (Easy)
- Count Square Submatrices with All Ones (Medium)
- Domino and Tromino Tiling (Medium)
- Cherry Pickup (Hard)
- Longest String Chain (Medium)
- Number of Ways to Form a Target String Given a Dictionary (Hard)
- Painting the Walls (Hard)
- New 21 Game (Medium)
- Stone Game III (Hard)
- Maximum Sum of 3 Non-Overlapping Subarrays (Hard)
Backtracking
- Generate Subsets and Permutations (Medium)
- Permutations (Medium)
- Combinations (Medium)
- Combination Sum (Medium)
- N-Queens (Hard)
- Sudoku Solver (Hard)
- Word Search (Medium)
- Generate Parentheses (Medium)
- Letter Combinations of a Phone Number (Medium)
- Subsets II (Medium)
- Combination Sum II (Medium)
- Permutations II (Medium)
- Palindrome Partitioning (Medium)
- Restore IP Addresses (Medium)
- Word Break II (Hard)
- Expression Add Operators (Hard)
- Subsets (Medium)
- Combination Sum III (Medium)
- Letter Case Permutation (Medium)
- Matchsticks to Square (Medium)
- Remove Invalid Parentheses (Hard)
- Word Ladder II (Hard)
- 24 Game (Hard)
- Beautiful Arrangement (Medium)
- Path with Maximum Gold (Medium)
- Maximum Length of a Concatenated String with Unique Characters (Medium)
- Generalized Abbreviation (Medium)
- Factor Combinations (Medium)
- Optimal Account Balancing (Hard)
- Unique Paths III (Hard)
- N-Queens II (Hard)
- Different Ways to Add Parentheses (Medium)
- The k-th Lexicographical String of All Happy Strings of Length n (Medium)
- Shopping Offers (Medium)
Greedy
- Jump Game (Medium)
- Jump Game II (Minimum Jumps) (Medium)
- Gas Station (Medium)
- Partition Labels (Medium)
- Fractional Knapsack (Medium)
- Minimum Cost to Connect Sticks (Huffman) (Medium)
- Candy (Hard)
- Activity Selection (Max Meetings in One Room) (Medium)
- Best Time to Buy and Sell Stock II (Medium)
- Can Place Flowers (Easy)
- Valid Parenthesis String (Medium)
- Largest Number (Medium)
- Boats to Save People (Medium)
- Hand of Straights (Medium)
- Maximum Swap (Medium)
- Lemonade Change (Easy)
- Assign Cookies (Easy)
- Two City Scheduling (Medium)
- Queue Reconstruction by Height (Medium)
- Minimum Deletions to Make Character Frequencies Unique (Medium)
- Maximum Units on a Truck (Easy)
- Maximize Distance to Closest Person (Medium)
- Reduce Array Size to The Half (Medium)
- Wiggle Subsequence (Medium)
- Bag of Tokens (Medium)
- Minimum Number of Taps to Open to Water a Garden (Hard)
- Broken Calculator (Medium)
- Minimum Initial Energy to Finish Tasks (Hard)
- Maximum Ice Cream Bars (Medium)
- Maximum Element After Decreasing and Rearranging (Medium)
- Minimum Number of Increments on Subarrays to Form a Target Array (Hard)
- Move Pieces to Obtain a String (Medium)
- Partitioning Into Minimum Number Of Deci-Binary Numbers (Medium)
Intervals
- Merge Overlapping Intervals (Medium)
- Minimum Meeting Rooms (Medium)
- Insert Interval (Medium)
- Meeting Rooms (Easy)
- Non-overlapping Intervals (Medium)
- Interval List Intersections (Medium)
- Minimum Arrows to Burst Balloons (Medium)
- Car Pooling (Sweep Line) (Medium)
- My Calendar I (Medium)
- Summary Ranges (Easy)
- Remove Covered Intervals (Medium)
- My Calendar II (Medium)
- Data Stream as Disjoint Intervals (Hard)
- Minimum Interval to Include Each Query (Hard)
- My Calendar III (Hard)
- Video Stitching (Medium)
- Missing Ranges (Easy)
- Meeting Scheduler (Medium)
- Count Days Without Meetings (Medium)
- Range Module (Hard)
- Divide Intervals Into Minimum Number of Groups (Medium)
- Find Right Interval (Medium)
- Minimum Time Difference (Medium)
- The Skyline Problem (Hard)
- Employee Free Time (Hard)
- Brightest Position on Street (Medium)
- Remove Interval (Medium)
- Points That Intersect With Cars (Easy)
Trie
- Word Search II (Hard)
- Implement a Trie (Prefix Tree) (Medium)
- Design Add and Search Words (Wildcards) (Medium)
- Search Suggestions (Autocomplete) (Medium)
- Maximum XOR of Two Numbers (Medium)
- Replace Words (Medium)
- Longest Word in Dictionary (Medium)
- Map Sum Pairs (Medium)
- Design Search Autocomplete System (Hard)
- Concatenated Words (Hard)
- Stream of Characters (Hard)
- Palindrome Pairs (Hard)
- Prefix and Suffix Search (Hard)
- Implement Magic Dictionary (Medium)
- Short Encoding of Words (Medium)
- Sum of Prefix Scores of Strings (Hard)
- Design In-Memory File System (Hard)
- Design File System (Medium)
- Find the Length of the Longest Common Prefix (Medium)
- Lexicographical Numbers (Medium)
- Remove Sub-Folders from the Filesystem (Medium)
- Words Within Two Edits of Dictionary (Medium)
- Index Pairs of a String (Easy)
- Count Prefix and Suffix Pairs (Easy)
Bit Manipulation
- Single Number (XOR) (Easy)
- Number of 1 Bits (Brian Kernighan) (Easy)
- Counting Bits (Easy)
- Power of Two (Easy)
- Missing Number (Easy)
- Set Mismatch (Duplicate and Missing) (Easy)
- Sum of Two Integers Without + or - (Medium)
- Partition to K Equal Sum Subsets (Bitmask DP) (Medium)
- Add Binary (Easy)
- Hamming Distance (Easy)
- Single Number II (Medium)
- Single Number III (Medium)
- Bitwise AND of Numbers Range (Medium)
- Total Hamming Distance (Medium)
- Find the Difference (Easy)
- Minimum Flips to Make a OR b Equal to c (Medium)
- Gray Code (Medium)
- Maximum Product of Word Lengths (Medium)
- Divide Two Integers (Medium)
- UTF-8 Validation (Medium)
- Reverse Bits (Easy)
- Number Complement (Easy)
- Binary Watch (Easy)
- Minimum Operations to Reduce an Integer to 0 (Medium)
- Minimum Bit Flips to Convert Number (Easy)
- Concatenation of Consecutive Binary Numbers (Medium)
- Bitwise ORs of Subarrays (Medium)
- Binary Gap (Easy)
- Find Kth Bit in Nth Binary String (Medium)
- XOR Queries of a Subarray (Medium)
- Number of Steps to Reduce a Number to Zero (Easy)
- Find The Original Array of Prefix Xor (Medium)
Math & Number Theory
- Prime Check (Easy)
- Count Primes (Sieve of Eratosthenes) (Medium)
- Greatest Common Divisor of Strings (Easy)
- Pow(x, n) — Fast Exponentiation (Medium)
- Modular Exponentiation (Medium)
- Binomial Coefficient nCr mod 10⁹+7 (Medium)
- Permutation Sequence (k-th Permutation) (Hard)
- Nth Magical Number (LCM + Binary Search) (Hard)
- Reservoir Sampling (Medium)
- Palindrome Number (Easy)
- Reverse Integer (Medium)
- Roman to Integer (Easy)
- Integer to Roman (Medium)
- String to Integer (atoi) (Medium)
- Multiply Strings (Medium)
- Excel Sheet Column Title (Easy)
- Fraction to Recurring Decimal (Medium)
- Integer to English Words (Hard)
- Angle Between Hands of a Clock (Medium)
- Plus One (Easy)
- Add Strings (Easy)
- Fizz Buzz (Easy)
- Count and Say (Medium)
- Bulb Switcher (Medium)
- Valid Number (Hard)
- Max Points on a Line (Hard)
- Robot Bounded In Circle (Medium)
- Sequential Digits (Medium)
- Power of Three (Easy)
- Ugly Number (Easy)
- Add Digits (Easy)
- Perfect Number (Easy)
- Sum of Square Numbers (Medium)
- Rotate Function (Medium)
- Count Good Numbers (Medium)
- Number of Digit One (Hard)
- Compare Version Numbers (Medium)
- Excel Sheet Column Number (Easy)
- Nth Digit (Medium)
- Factorial Trailing Zeroes (Medium)
- Water and Jug Problem (Medium)
- Nim Game (Easy)
- The kth Factor of n (Medium)
- Count Numbers with Unique Digits (Medium)
- Rectangle Area (Medium)
- Base 7 (Easy)
- Find the Closest Palindrome (Hard)
Low-Level Design
- Design a Parking Lot (Medium)
- Design an Elevator System (Hard)
- Design a Vending Machine (Medium)
- Implement a Rate Limiter Class (Medium)
- Design Snakes and Ladders (Easy)
- Design the Snake Game (Medium)
- Design Connect Four (Easy)
- Design a Chess Game (Hard)
- Design a Deck of Cards for Blackjack (Easy)
- Design Tic-Tac-Toe (Easy)
- Design Amazon Locker (Medium)
- Design Splitwise (Medium)
- Design an ATM (Medium)
- Design a Library Management System (Easy)
- Design a Meeting Room Scheduler (Medium)
- Design a Ride-Hailing Service (Medium)
- Design a Food Delivery Order Assignment System (Medium)
- Design a Digital Wallet (Medium)
- Design a Discount and Coupon Engine (Medium)
- Design a Cross-Product Tagging System (Medium)
- Design a Content Popularity Tracker (Medium)
- Design a Movie Ticket Booking System (Medium)
- Design an In-Memory Banking System (Medium)
- Design an In-Memory Cloud File Storage (Medium)
- Design a Music Player (Medium)
- Design a Q&A Site like Stack Overflow (Medium)
- Design an Online Auction (Medium)
- Design a Text Editor with Undo and Redo (Medium)
- Design a Spreadsheet with Formulas (Hard)
- Design a Support Agent Rating System (Medium)
- Design a Car Rental Booking System (Medium)
- Design a Logging Framework (Medium)
- Design an In-Memory Pub/Sub Message Broker (Medium)
- Design a Task Scheduler (Hard)
- Design a File Search Tool (Unix find) (Medium)
- Design a Stock Exchange Order Book (Hard)
- Design an HTTP Router (Medium)
- Design a Circuit Breaker (Medium)
- Design a Notification Service (Medium)
- Design a Cache with Pluggable Eviction (Medium)
- Design a Bounded Blocking Queue (Medium)
- Design an In-Memory File System (Medium)
Behavioral
- Tell me about yourself (Easy)
- Tell me about a conflict with a coworker (Medium)
- Tell me about a time you disagreed with your manager (Medium)
- Tell me about a time you failed (Medium)
- Walk me through your most impactful project (Medium)
- Tell me about a time you worked with ambiguity (Medium)
- Tell me about a time you had to meet a tight deadline (Easy)
- Tell me about critical feedback you received (Easy)
- Tell me about a time you helped someone grow (Medium)
- Why do you want to work here? (Easy)
- Why are you leaving your current role? (Easy)
- What are you looking for in your next team? (Easy)
- Where do you see yourself in five years? (Easy)
- Tell me about a time you took ownership beyond your role (Medium)
- Tell me about a problem you noticed that nobody else was addressing (Medium)
- Tell me about a project you drove from idea to launch (Medium)
- Tell me about working with a difficult stakeholder (Medium)
- Tell me about a time you had to compromise (Easy)
- Tell me about delivering a project across multiple teams (Hard)
- Tell me about a time you led without formal authority (Medium)
- Tell me about a time you convinced others to adopt your idea (Medium)
- Tell me about a time you improved how your team works (Medium)
- Tell me about working with an underperforming teammate (Hard)
- Tell me about a decision you made with incomplete information (Medium)
- Tell me about a difficult technical trade-off you made (Hard)
- Tell me about a time you had to change direction mid-project (Medium)
- How do you prioritize competing demands? (Easy)
- Tell me about a time you had to cut scope (Medium)
- Tell me about a mistake that affected others (Medium)
- What is a weakness you're working on? (Easy)
- Tell me about a production incident you handled (Medium)
- Tell me about the hardest bug you've debugged (Medium)
- Tell me about a time you had to learn something new quickly (Easy)
- Tell me about a time you pushed back on a request (Medium)
- Tell me about a time you made the case for paying down tech debt (Hard)
- What questions do you have for me? (Easy)
- Tell me about a time you went above and beyond for a customer (Medium)
- Tell me about a time you dove deep to find the root cause (Hard)
- Tell me about a time you took a calculated risk (Medium)
- Tell me about a time you simplified something complex (Medium)
- Tell me about a time you refused to compromise on quality (Hard)
- Tell me about a time you did more with less (Medium)
- Tell me about a time you had to earn the trust of a skeptical team (Medium)
- Tell me about a time you proposed a bold vision (Hard)
- Tell me about a time you delivered despite a major setback (Medium)
- Tell me about a judgment call where others disagreed with you (Hard)
- Tell me about something you learned outside your job that made you better at it (Easy)
- Tell me about raising the bar when hiring or developing people (Hard)
- Your team is split on a technical direction. What do you do? (Medium)
- Tell me about a time you made sure every voice on your team was heard (Medium)
- Tell me about a time you advocated for users (Medium)
- Tell me about a time you shipped fast and iterated (Medium)
- Tell me about a time you kept going on a problem that seemed stuck (Hard)
- Tell me about creating structure in a chaotic situation (Medium)
- Tell me about a time you changed your mind (Medium)
- Tell me about a time you gave difficult feedback to a peer (Hard)
- Tell me about a big decision you made without asking for permission (Hard)
- What part of our culture would be hardest for you? (Medium)
- Tell me about a time you argued for users over an easier option (Medium)
- Tell me about a time you sweated the details (Medium)
- Tell me about a time your values were tested at work (Hard)
- Tell me about a time you balanced speed against safety (Hard)
- Why do you want to work on AI? (Easy)
- Tell me about a time you made someone feel they belonged (Easy)
- Tell me about a time you stepped far outside your comfort zone (Medium)
- Tell me about a time your first impression was wrong (Medium)
- Tell me about a time you stood up for the customer (Medium)
- Tell me about a time you challenged a more senior colleague (Hard)
- Walk me through your life story (Medium)
- Describe the hardest problem you've solved (Hard)
- Tell me about solving a problem from first principles (Hard)
- Teach me something you recently learned (Medium)
- Why Bloomberg, and why financial technology? (Easy)
- Tell me about collaborating closely with design or hardware teams (Medium)
AI-Assisted Coding
- Extend an Unfamiliar Codebase with AI (Medium)
- Debug a Failing Test Suite with AI (Medium)
- Build a Small App from a Spec with AI (Hard)
- Add Tests to an Untested Module with AI (Medium)
- Refactor a Legacy Module with AI (Medium)
- Fix a Slow Endpoint with AI (Medium)
- Review an AI-Generated Pull Request (Medium)
- Build a Multi-Level In-Memory Store with AI (Hard)
- Integrate a Paginated, Rate-Limited API with AI (Medium)
- Analyze Logs with a Script and AI (Medium)
- Fix a Concurrency Bug with AI (Hard)
- Ship a Feature Behind a Flag with a Data Migration (Medium)