Menu

All interview questions
#QuestionTopicDifficultyTypePractiseDone
1How should Airflow retries and idempotency work together?AirflowMediumconceptual, scenario—
2ETL vs ELT: what factors decide the choice?Data EngineeringEasyconceptual, architecture—
3Data lake vs warehouse vs lakehouse: when would you choose each?Data EngineeringMediumconceptual, architecture—
4How would you design an idempotent batch pipeline?Data EngineeringMediumarchitecture, scenario—
5How would you investigate a suddenly slower data pipeline?Data EngineeringMediumdebugging, scenario—
6What are the most important data-quality checks in production?Data EngineeringMediumconceptual, scenario—
7How would you design a CDC pipeline?Data EngineeringHardarchitecture, scenario—
8What is Unity Catalog used for?DatabricksEasyconceptual—
9What problems does Delta Lake solve?Delta LakeEasyconceptual—
10What is schema evolution and when is it safe?Delta LakeMediumconceptual, scenario—
11Backspace String Compare: Read Both Strings Backwards With Skip CountersDSAEasycodingLeetCode (opens in a new tab)
12Balanced Binary Tree: Height Check with Early ExitDSAEasycodingLeetCode (opens in a new tab)
13Best Time to Buy and Sell Stock: Maximum Profit From One TradeDSAEasycodingLeetCode (opens in a new tab)
14Binary Search: Find a Target in a Sorted Array in O(log n)DSAEasycodingLeetCode (opens in a new tab)
15Ceil in Sorted Array: Lower-Bound Binary SearchDSAEasycodingGeeksforGeeks (opens in a new tab)
16Climbing Stairs: Count Ways with a Fibonacci-Style DPDSAEasycodingLeetCode (opens in a new tab)
17Complement of Base 10 Integer: Flip Bits With an All-Ones MaskDSAEasycodingLeetCode (opens in a new tab)
18Contains Duplicate: Detect Whether Any Value Appears TwiceDSAEasycodingLeetCode (opens in a new tab)
19Convert Sorted Array to BST: Pick the Middle, Recurse on HalvesDSAEasycodingLeetCode (opens in a new tab)
20Counting Bits: Set-Bit Counts for 0 to n with a One-Line DPDSAEasycodingLeetCode (opens in a new tab)
21Diameter of Binary Tree: Longest Path via Post-Order HeightsDSAEasycodingLeetCode (opens in a new tab)
22Find All Numbers Disappeared in an Array: Cyclic Sort and In-Place MarkingDSAEasycodingLeetCode (opens in a new tab)
23Find if Path Exists in Graph: Reachability with BFS or Union-FindDSAEasycodingLeetCode (opens in a new tab)
24Find Pivot Index: Balance Left and Right Prefix SumsDSAEasycodingLeetCode (opens in a new tab)
25Find Rotation Count: The Index of the Minimum Is the AnswerDSAEasycodingGeeksforGeeks (opens in a new tab)
26First Unique Character in a String: Count, Then Scan AgainDSAEasycodingLeetCode (opens in a new tab)
27Flood Fill: Repaint a Connected Region with DFS or BFSDSAEasycodingLeetCode (opens in a new tab)
28Happy Number: Detect a Cycle in a Digit-Square SequenceDSAEasycodingLeetCode (opens in a new tab)
29Implement Queue using Stacks: FIFO With Two Stacks in Amortised O(1)DSAEasycodingLeetCode (opens in a new tab)
30Implement Stack using Queues: LIFO Behaviour From FIFO PartsDSAEasycodingLeetCode (opens in a new tab)
31Invert Binary Tree: Recursive and Iterative Mirror SolutionsDSAEasycodingLeetCode (opens in a new tab)
32Island Perimeter: Count Land Edges Without a TraversalDSAEasycodingLeetCode (opens in a new tab)
33Kth Largest Element in a Stream: Size-k Min-HeapDSAEasycodingLeetCode (opens in a new tab)
34Last Stone Weight: Simulating Smashes with a Max-HeapDSAEasycodingLeetCode (opens in a new tab)
35Linked List Cycle: Floyd's Fast and Slow PointersDSAEasycodingLeetCode (opens in a new tab)
36Longest Common Prefix: Shared Start of a List of StringsDSAEasycodingLeetCode (opens in a new tab)
37Longest Palindrome: Pair Up Letter Counts and Keep One CentreDSAEasycodingLeetCode (opens in a new tab)
38Majority Element: Find the Value That Fills More Than Half the ArrayDSAEasycodingLeetCode (opens in a new tab)
39Max Sum Subarray of Size K: The Fixed-Size Sliding WindowDSAEasycodingGeeksforGeeks (opens in a new tab)
40Maximum Average Subarray I: Best Average Over a Fixed-Length WindowDSAEasycodingLeetCode (opens in a new tab)
41Maximum Depth of Binary Tree: Recursive DFS, Iterative DFS and BFSDSAEasycodingLeetCode (opens in a new tab)
42Meeting Rooms: Check Whether One Person Can Attend Every MeetingDSAEasycodingGeeksforGeeks (opens in a new tab)
43Merge Two Sorted Lists: Dummy Head Iteration and RecursionDSAEasycodingLeetCode (opens in a new tab)
44Middle of the Linked List: Find It in One Pass With Fast and Slow PointersDSAEasycodingLeetCode (opens in a new tab)
45Min Cost Climbing Stairs: Cheapest Path to the Top with 1D DPDSAEasycodingLeetCode (opens in a new tab)
46Missing Number: Find the One Value Absent From 0 to nDSAEasycodingLeetCode (opens in a new tab)
47Move Zeroes: Shift Zeros to the End While Keeping OrderDSAEasycodingLeetCode (opens in a new tab)
48Next Greater Element I: First Larger Value to the RightDSAEasycodingLeetCode (opens in a new tab)
49Number of 1 Bits: Count Set Bits in an IntegerDSAEasycodingLeetCode (opens in a new tab)
50Number of Recent Calls: Count Requests in a Sliding Time WindowDSAEasycodingLeetCode (opens in a new tab)
51Palindrome Linked List: Find the Middle, Reverse the Back Half, CompareDSAEasycodingLeetCode (opens in a new tab)
52Ransom Note: Check Letter Supply Against Demand With a CounterDSAEasycodingLeetCode (opens in a new tab)
53Remove All Adjacent Duplicates In String: Cancel Pairs With a StackDSAEasycodingLeetCode (opens in a new tab)
54Remove Duplicates from Sorted Array: Compact Unique Values In PlaceDSAEasycodingLeetCode (opens in a new tab)
55Reverse Bits: Mirror the 32 Bits of an Unsigned IntegerDSAEasycodingLeetCode (opens in a new tab)
56Reverse Linked List: Iterative and Recursive SolutionsDSAEasycodingLeetCode (opens in a new tab)
57Reverse String: Reverse a Character Array in PlaceDSAEasycodingLeetCode (opens in a new tab)
58Same Tree: Comparing Two Binary Trees Recursively and IterativelyDSAEasycodingLeetCode (opens in a new tab)
59Segregate 0s and 1s: Partition a Binary Array in One PassDSAEasycodingGeeksforGeeks (opens in a new tab)
60Set Mismatch: Find the Duplicate and the Missing Number With Cyclic SortDSAEasycodingLeetCode (opens in a new tab)
61Single Number: Find the Value That Appears Only Once Using XORDSAEasycodingLeetCode (opens in a new tab)
62Squares of a Sorted Array: Merge From Both Ends Without SortingDSAEasycodingLeetCode (opens in a new tab)
63Subtree of Another Tree: Brute-Force Matching and Linear SerialisationDSAEasycodingLeetCode (opens in a new tab)
64Two Sum: Find Two Indices That Add Up to a TargetDSAEasycodingLeetCode (opens in a new tab)
65Valid Anagram: Check Whether Two Strings Use the Same LettersDSAEasycodingLeetCode (opens in a new tab)
66Valid Palindrome II: Palindrome After Deleting at Most One CharacterDSAEasycodingLeetCode (opens in a new tab)
67Valid Palindrome: Check a Phrase While Ignoring Case and PunctuationDSAEasycodingLeetCode (opens in a new tab)
68Valid Parentheses: Check That Every Bracket Closes in the Right OrderDSAEasycodingLeetCode (opens in a new tab)
690 - 1 Knapsack Problem: Take or Skip Each Item OnceDSAMediumcodingGeeksforGeeks (opens in a new tab)
70132 Pattern: Find a Low, High, Middle Subsequence in One PassDSAMediumcodingLeetCode (opens in a new tab)
713Sum Closest: Sort, Fix One Value, and Squeeze Two PointersDSAMediumcodingLeetCode (opens in a new tab)
723Sum: Find All Unique Triplets That Sum to ZeroDSAMediumcodingLeetCode (opens in a new tab)
734Sum: Two Fixed Indices, Two Pointers and Careful Duplicate SkippingDSAMediumcodingLeetCode (opens in a new tab)
74Add Two Numbers: Digit-by-Digit Addition on Linked ListsDSAMediumcodingLeetCode (opens in a new tab)
75Aggressive Cows: Maximise the Minimum Gap with Binary SearchDSAMediumcodingGeeksforGeeks (opens in a new tab)
76Best Time to Buy and Sell Stock with Cooldown: State-Machine DPDSAMediumcodingLeetCode (opens in a new tab)
77Binary Tree Level Order Traversal: BFS with a Queue, Level by LevelDSAMediumcodingLeetCode (opens in a new tab)
78Binary Tree Right Side View: Last Node of Each LevelDSAMediumcodingLeetCode (opens in a new tab)
79Capacity To Ship Packages Within D Days: Binary Search on CapacityDSAMediumcodingLeetCode (opens in a new tab)
80Car Fleet: Count the Groups of Cars Arriving at a DestinationDSAMediumcodingLeetCode (opens in a new tab)
81Cheapest Flights Within K Stops: Bounded Bellman-Ford for Limited HopsDSAMediumcodingLeetCode (opens in a new tab)
82Circular Array Loop: Fast and Slow Pointers on Index JumpsDSAMediumcodingLeetCode (opens in a new tab)
83Clone Graph: Deep-Copy a Connected Graph with a Hash Map and BFS or DFSDSAMediumcodingLeetCode (opens in a new tab)
84Coin Change II: Count Combinations That Make an AmountDSAMediumcodingLeetCode (opens in a new tab)
85Coin Change: Fewest Coins with Bottom-Up DPDSAMediumcodingLeetCode (opens in a new tab)
86Combination Sum II: Use Each Value Once and Avoid Duplicate AnswersDSAMediumcodingLeetCode (opens in a new tab)
87Combination Sum: Reach a Target with Reusable Values via BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
88Construct Binary Tree from Preorder and Inorder TraversalDSAMediumcodingLeetCode (opens in a new tab)
89Container With Most Water: Maximise Area Between Two LinesDSAMediumcodingLeetCode (opens in a new tab)
90Contiguous Array: Longest Balanced 0/1 Subarray via Prefix SumsDSAMediumcodingLeetCode (opens in a new tab)
91Copy List with Random Pointer: Hash Map and Interleaving SolutionsDSAMediumcodingLeetCode (opens in a new tab)
92Count Good Nodes in Binary Tree: DFS Carrying the Path MaximumDSAMediumcodingLeetCode (opens in a new tab)
93Count Subsets with Sum: Add Up the Ways, Not Just True or FalseDSAMediumcodingGeeksforGeeks (opens in a new tab)
94Course Schedule II: Return a Valid Course Order with Topological SortDSAMediumcodingLeetCode (opens in a new tab)
95Course Schedule: Detect a Cycle in a Prerequisite Graph with Kahn's AlgorithmDSAMediumcodingLeetCode (opens in a new tab)
96Daily Temperatures: Days Until a Warmer Day With a Monotonic StackDSAMediumcodingLeetCode (opens in a new tab)
97Decode Ways: Count Digit-to-Letter Decodings with Prefix DPDSAMediumcodingLeetCode (opens in a new tab)
98Delete Node in a BST: Leaf, One Child and Two Children CasesDSAMediumcodingLeetCode (opens in a new tab)
99Design Add and Search Words: Trie Search with WildcardsDSAMediumcoding, architectureLeetCode (opens in a new tab)
100Design Circular Queue: A Fixed-Capacity Ring BufferDSAMediumcodingLeetCode (opens in a new tab)
101Design Twitter: News Feed with a K-Way Heap MergeDSAMediumcoding, architectureLeetCode (opens in a new tab)
102Edit Distance: Levenshtein Distance with a 2D DP TableDSAMediumcodingLeetCode (opens in a new tab)
103Encode and Decode Strings: Serialise a List of Strings SafelyDSAMediumcodingGeeksforGeeks (opens in a new tab)
104Evaluate Reverse Polish Notation: Compute a Postfix ExpressionDSAMediumcodingLeetCode (opens in a new tab)
105Extra Characters in a String: Dynamic Programming over a Trie of WordsDSAMediumcodingLeetCode (opens in a new tab)
106Find All Anagrams in a String: Fixed Window With Letter CountsDSAMediumcodingLeetCode (opens in a new tab)
107Find All Duplicates in an Array: Cyclic Sort and Sign Marking in O(1) SpaceDSAMediumcodingLeetCode (opens in a new tab)
108Find First and Last Position of a Value: Lower and Upper Bound Binary SearchDSAMediumcodingLeetCode (opens in a new tab)
109Find K Closest Elements: Binary Search for the Best WindowDSAMediumcodingLeetCode (opens in a new tab)
110Find Minimum in Rotated Sorted Array: Binary Search Against the Right EndDSAMediumcodingLeetCode (opens in a new tab)
111Find Peak Element: Follow the Uphill Side with Binary SearchDSAMediumcodingLeetCode (opens in a new tab)
112Find the Duplicate Number: Cycle Detection on an ArrayDSAMediumcodingLeetCode (opens in a new tab)
113Fruit Into Baskets: Longest Window With at Most Two Distinct ValuesDSAMediumcodingLeetCode (opens in a new tab)
114Gas Station: Find the Start of a Circular Route in One Greedy PassDSAMediumcodingLeetCode (opens in a new tab)
115Generate Parentheses: List Every Balanced String of n PairsDSAMediumcodingLeetCode (opens in a new tab)
116Graph Valid Tree: Check Edge Count, Connectivity and Cycles with Union-FindDSAMediumcodingGeeksforGeeks (opens in a new tab)
117Group Anagrams: Bucket Words That Share the Same LettersDSAMediumcodingLeetCode (opens in a new tab)
118Hand of Straights: Group Cards into Consecutive Runs GreedilyDSAMediumcodingLeetCode (opens in a new tab)
119House Robber II: Non-Adjacent Maximum Sum When Houses Form a CircleDSAMediumcodingLeetCode (opens in a new tab)
120House Robber: Maximum Non-Adjacent Sum with Take-or-Skip DPDSAMediumcodingLeetCode (opens in a new tab)
121Implement Trie (Prefix Tree): Insert, Search and Prefix LookupDSAMediumcoding, architectureLeetCode (opens in a new tab)
122Insert Interval: Add a Range to a Sorted List and Merge OverlapsDSAMediumcodingLeetCode (opens in a new tab)
123Insert into a BST: Walk Down to the Empty SpotDSAMediumcodingLeetCode (opens in a new tab)
124Interleaving String: Can Two Strings Merge into a Third? 2D DPDSAMediumcodingLeetCode (opens in a new tab)
125Interval List Intersections: Two Pointers over Sorted RangesDSAMediumcodingLeetCode (opens in a new tab)
126Is Graph Bipartite?: Two-Colour Every ComponentDSAMediumcodingLeetCode (opens in a new tab)
127Jump Game II: Fewest Jumps to the End with Greedy Level-by-Level BFSDSAMediumcodingLeetCode (opens in a new tab)
128Jump Game: Can You Reach the Last Index? Greedy Furthest ReachDSAMediumcodingLeetCode (opens in a new tab)
129K Closest Points to Origin: Bounded Max-Heap and QuickselectDSAMediumcodingLeetCode (opens in a new tab)
130Koko Eating Bananas: Binary Search on the AnswerDSAMediumcodingLeetCode (opens in a new tab)
131Kth Largest Element in an Array: Heap, Quickselect and CountingDSAMediumcodingLeetCode (opens in a new tab)
132Kth Smallest Element in a BST: Inorder Traversal with Early StopDSAMediumcodingLeetCode (opens in a new tab)
133Kth Smallest Element in a Sorted Matrix: Binary Search on ValuesDSAMediumcodingLeetCode (opens in a new tab)
134Letter Case Permutation: Branch Twice on Every LetterDSAMediumcodingLeetCode (opens in a new tab)
135Letter Combinations of a Phone Number: Cartesian Product by BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
136Linked List Cycle II: Find Where the Cycle Starts With Floyd's AlgorithmDSAMediumcodingLeetCode (opens in a new tab)
137Longest Common Subsequence: The Classic Two-String DP TableDSAMediumcodingLeetCode (opens in a new tab)
138Longest Consecutive Sequence: Longest Run of Consecutive Integers in O(n)DSAMediumcodingLeetCode (opens in a new tab)
139Longest Increasing Subsequence: O(n^2) DP and O(n log n) Patience SortingDSAMediumcodingLeetCode (opens in a new tab)
140Longest K Unique Characters Substring: A Window Bounded by a Distinct CountDSAMediumcodingGeeksforGeeks (opens in a new tab)
141Longest Palindromic Substring: Expand Around Centres or Interval DPDSAMediumcodingLeetCode (opens in a new tab)
142Longest Repeating Character Replacement: Window With At Most k ChangesDSAMediumcodingLeetCode (opens in a new tab)
143Longest Substring Without Repeating Characters: Sliding WindowDSAMediumcodingLeetCode (opens in a new tab)
144Lowest Common Ancestor of a Binary Tree: One Post-Order SearchDSAMediumcodingLeetCode (opens in a new tab)
145Lowest Common Ancestor of a BST: Follow the Split PointDSAMediumcodingLeetCode (opens in a new tab)
146LRU Cache: Hash Map Plus Doubly Linked List for O(1) OperationsDSAMediumcoding, architectureLeetCode (opens in a new tab)
147Max Area of Island: Largest Connected Land Region with Flood FillDSAMediumcodingLeetCode (opens in a new tab)
148Max Consecutive Ones III: Longest Window With at Most K ZerosDSAMediumcodingLeetCode (opens in a new tab)
149Maximum Absolute Sum of Any Subarray: Run Kadane for Max and MinDSAMediumcodingLeetCode (opens in a new tab)
150Maximum Candies Allocated to K Children: Binary Search on the ShareDSAMediumcodingLeetCode (opens in a new tab)
151Maximum Length of Pair Chain: Greedy by Earliest EndDSAMediumcodingLeetCode (opens in a new tab)
152Maximum Product Subarray: Track Both the Largest and Smallest ProductDSAMediumcodingLeetCode (opens in a new tab)
153Maximum Subarray Sum with One Deletion: Kadane With Two StatesDSAMediumcodingLeetCode (opens in a new tab)
154Maximum Subarray: Largest Sum of a Contiguous Slice with Kadane's AlgorithmDSAMediumcodingLeetCode (opens in a new tab)
155Maximum Sum Circular Subarray: Kadane Plus Total Minus MinimumDSAMediumcodingLeetCode (opens in a new tab)
156Maximum Sum Combination: The K Largest Pair Sums with a Max-HeapDSAMediumcodingGeeksforGeeks (opens in a new tab)
157Meeting Rooms II: Count the Rooms with a Min-Heap or a Sweep LineDSAMediumcodingGeeksforGeeks (opens in a new tab)
158Merge Intervals: Combine Every Overlapping RangeDSAMediumcodingLeetCode (opens in a new tab)
159Merge Triplets to Form Target: Keep Only Triplets That Never OvershootDSAMediumcodingLeetCode (opens in a new tab)
160Min Cost to Connect All Points: Minimum Spanning Tree with Prim or KruskalDSAMediumcodingLeetCode (opens in a new tab)
161Min Cost to Connect Ropes: Always Join the Two ShortestDSAMediumcodingGeeksforGeeks (opens in a new tab)
162Min Stack: A Stack That Returns Its Minimum in Constant TimeDSAMediumcodingLeetCode (opens in a new tab)
163Minimum Add to Make Parentheses Valid: Count Unmatched Brackets in One PassDSAMediumcodingLeetCode (opens in a new tab)
164Minimum Height Trees: Trim Leaves Until the Centre RemainsDSAMediumcodingLeetCode (opens in a new tab)
165Minimum Number of Days to Make m Bouquets: Binary Search on the DayDSAMediumcodingLeetCode (opens in a new tab)
166Minimum Size Subarray Sum: Grow Until Valid, Then ShrinkDSAMediumcodingLeetCode (opens in a new tab)
167My Calendar I: Accept Bookings Only When They Do Not OverlapDSAMediumcodingLeetCode (opens in a new tab)
168Network Delay Time: Single-Source Shortest Paths with Dijkstra's AlgorithmDSAMediumcodingLeetCode (opens in a new tab)
169Next Greater Element II: Monotonic Stack Over a Circular ArrayDSAMediumcodingLeetCode (opens in a new tab)
170Non-overlapping Intervals: Fewest Removals to Eliminate OverlapsDSAMediumcodingLeetCode (opens in a new tab)
171Number of Closed Islands: Sink the Border, Then CountDSAMediumcodingLeetCode (opens in a new tab)
172Number of Connected Components in an Undirected Graph with Union-FindDSAMediumcodingGeeksforGeeks (opens in a new tab)
173Number of Islands: Count Connected Land Cells with BFS, DFS or Union-FindDSAMediumcodingLeetCode (opens in a new tab)
174Number of Occurrence: Count a Value with Two Boundary SearchesDSAMediumcodingGeeksforGeeks (opens in a new tab)
175Number of Provinces: Count Components in an Adjacency MatrixDSAMediumcodingLeetCode (opens in a new tab)
176Pacific Atlantic Water Flow: Reverse Multi-Source BFS from Both OceansDSAMediumcodingLeetCode (opens in a new tab)
177Palindrome Partitioning: Split a String into Palindromes by BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
178Palindromic Substrings: Count Every Palindrome by Expanding Around CentresDSAMediumcodingLeetCode (opens in a new tab)
179Partition Equal Subset Sum: 0/1 Knapsack on Half the TotalDSAMediumcodingLeetCode (opens in a new tab)
180Partition Labels: Split a String So Each Letter Stays in One PartDSAMediumcodingLeetCode (opens in a new tab)
181Path With Minimum Effort: Minimise the Largest Step on a GridDSAMediumcodingLeetCode (opens in a new tab)
182Peak Index in a Mountain Array: Binary Search on the SlopeDSAMediumcodingLeetCode (opens in a new tab)
183Permutation in String: Does One String Contain a Rearrangement of Another?DSAMediumcodingLeetCode (opens in a new tab)
184Permutations: Every Ordering of Distinct Values with BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
185Product of Array Except Self: Prefix and Suffix Products Without DivisionDSAMediumcodingLeetCode (opens in a new tab)
186Redundant Connection: Find the Edge That Closes a Cycle with Union-FindDSAMediumcodingLeetCode (opens in a new tab)
187Remove All Adjacent Duplicates in String II: Stack of Character CountsDSAMediumcodingLeetCode (opens in a new tab)
188Remove Duplicate Letters: Smallest Order with a Greedy Monotonic StackDSAMediumcodingLeetCode (opens in a new tab)
189Remove K Digits: Smallest Number With a Greedy Monotonic StackDSAMediumcodingLeetCode (opens in a new tab)
190Remove Nodes From Linked List: Keep Nodes With Nothing Larger to Their RightDSAMediumcodingLeetCode (opens in a new tab)
191Remove Nth Node From End of List: One Pass with a Gap of nDSAMediumcodingLeetCode (opens in a new tab)
192Reorder List: Find the Middle, Reverse, Then InterleaveDSAMediumcodingLeetCode (opens in a new tab)
193Reorganize String: Place the Most Frequent Character First, Never Twice in a RowDSAMediumcodingLeetCode (opens in a new tab)
194Reverse Linked List II: Reverse a Sublist in One Pass With a Dummy NodeDSAMediumcodingLeetCode (opens in a new tab)
195Rotate Image: Turn a Square Matrix 90 Degrees Clockwise in PlaceDSAMediumcodingLeetCode (opens in a new tab)
196Rotate List: Close the Ring, Then Cut It at the New TailDSAMediumcodingLeetCode (opens in a new tab)
197Rotting Oranges: Minutes to Spread via Level-by-Level Multi-Source BFSDSAMediumcodingLeetCode (opens in a new tab)
198Search a 2D Matrix II: Staircase Search from the Top-Right CornerDSAMediumcodingLeetCode (opens in a new tab)
199Search a 2D Matrix: Binary Search over a Flattened Sorted GridDSAMediumcodingLeetCode (opens in a new tab)
200Search in Rotated Sorted Array: One-Pass Binary SearchDSAMediumcodingLeetCode (opens in a new tab)
201Search Suggestions System: Autocomplete with a Trie or Sorted Binary SearchDSAMediumcodingLeetCode (opens in a new tab)
202Set Matrix Zeroes: Zero Out Rows and Columns in PlaceDSAMediumcodingLeetCode (opens in a new tab)
203Shortest Unsorted Continuous Subarray: Find the Boundaries With Running Max and MinDSAMediumcodingLeetCode (opens in a new tab)
204Simplify Path: Canonical Unix Paths With a Stack of Directory NamesDSAMediumcodingLeetCode (opens in a new tab)
205Single Number III: Split Two Unique Values With One XOR BitDSAMediumcodingLeetCode (opens in a new tab)
206Sort Characters By Frequency: Count, Then Order by a Heap or BucketsDSAMediumcodingLeetCode (opens in a new tab)
207Sort Colors: One-Pass Three-Way Partition of 0s, 1s and 2sDSAMediumcodingLeetCode (opens in a new tab)
208Spiral Matrix: Read a Grid in Clockwise Spiral OrderDSAMediumcodingLeetCode (opens in a new tab)
209String to Integer (atoi): Parse a Signed 32-bit Integer by HandDSAMediumcodingLeetCode (opens in a new tab)
210Subarray Product Less Than K: Count Windows Ending at Each IndexDSAMediumcodingLeetCode (opens in a new tab)
211Subarray Sum Equals K: Count Contiguous Slices With a Given SumDSAMediumcodingLeetCode (opens in a new tab)
212Subarray Sums Divisible by K: Count Matching Prefix RemaindersDSAMediumcodingLeetCode (opens in a new tab)
213Subset Sum Problem: Track Every Reachable TotalDSAMediumcodingGeeksforGeeks (opens in a new tab)
214Subsets II: Power Set Without Duplicates When Values RepeatDSAMediumcodingLeetCode (opens in a new tab)
215Subsets: Generate the Power Set with Include/Exclude BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
216Sum of Two Integers: Add Without the Plus or Minus OperatorDSAMediumcodingLeetCode (opens in a new tab)
217Surrounded Regions: Capture Enclosed Cells by Flood-Filling from the BorderDSAMediumcodingLeetCode (opens in a new tab)
218Swap Nodes in Pairs: Rewire Every Two Nodes With a Dummy HeadDSAMediumcodingLeetCode (opens in a new tab)
219Target Sum: Count Sign Assignments with Subset-Sum DPDSAMediumcodingLeetCode (opens in a new tab)
220Task Scheduler: Cooldowns with a Max-Heap or a Counting FormulaDSAMediumcodingLeetCode (opens in a new tab)
221Time Based Key-Value Store: Versioned Lookups with Binary SearchDSAMediumcoding, architectureLeetCode (opens in a new tab)
222Top K Frequent Elements: Return the k Most Common ValuesDSAMediumcodingLeetCode (opens in a new tab)
223Topological Sort: Order a DAG with Kahn's Algorithm or DFSDSAMediumcodingGeeksforGeeks (opens in a new tab)
224Triplets with Smaller Sum: Count Many Pairs at Once With Two PointersDSAMediumcodingGeeksforGeeks (opens in a new tab)
225Two Sum II: Find a Pair With a Target Sum in a Sorted ArrayDSAMediumcodingLeetCode (opens in a new tab)
226Unique Paths: Count Grid Routes with 2D DP or a Binomial CoefficientDSAMediumcodingLeetCode (opens in a new tab)
227Valid Parenthesis String: Track a Range of Open Counts GreedilyDSAMediumcodingLeetCode (opens in a new tab)
228Valid Sudoku: Check Rows, Columns and Boxes for Repeated DigitsDSAMediumcodingLeetCode (opens in a new tab)
229Validate Binary Search Tree: Bounds Recursion and Inorder CheckDSAMediumcodingLeetCode (opens in a new tab)
230Word Break: Can a String Be Split into Dictionary Words? Prefix DPDSAMediumcodingLeetCode (opens in a new tab)
231Word Search: Trace a Word Through a Letter Grid with DFS BacktrackingDSAMediumcodingLeetCode (opens in a new tab)
232Alien Dictionary: Derive a Letter Order from Sorted Words with Topological SortDSAHardcodingGeeksforGeeks (opens in a new tab)
233Binary Tree Maximum Path Sum: Post-Order Gains with a Global BestDSAHardcodingLeetCode (opens in a new tab)
234Burst Balloons: Interval DP by Choosing the Last Balloon to BurstDSAHardcodingLeetCode (opens in a new tab)
235Find Median from Data Stream: Two Heaps Kept in BalanceDSAHardcodingLeetCode (opens in a new tab)
236First Missing Positive: Cyclic Sort Into Home Slots in O(n) Time, O(1) SpaceDSAHardcodingLeetCode (opens in a new tab)
237IPO: Maximise Capital by Picking the Best Affordable Project Each RoundDSAHardcodingLeetCode (opens in a new tab)
238Largest Rectangle in Histogram: Biggest Area Under the BarsDSAHardcodingLeetCode (opens in a new tab)
239Maximum Frequency Stack: Pop the Most Frequent Value in O(1)DSAHardcoding, architectureLeetCode (opens in a new tab)
240Median of Two Sorted Arrays: Partition Binary Search in O(log min(m, n))DSAHardcodingLeetCode (opens in a new tab)
241Merge k Sorted Lists: Min-Heap and Divide-and-Conquer SolutionsDSAHardcodingLeetCode (opens in a new tab)
242Minimum Window Substring: Shortest Slice Containing Every Required CharacterDSAHardcodingLeetCode (opens in a new tab)
243N-Queens: Place Non-Attacking Queens Row by Row with BacktrackingDSAHardcodingLeetCode (opens in a new tab)
244Partition Into 2 Subsets with Min Sum Diff: Subset Sum Up to Half the TotalDSAHardcodingGeeksforGeeks (opens in a new tab)
245Reconstruct Itinerary: Eulerian Path with Hierholzer's AlgorithmDSAHardcodingLeetCode (opens in a new tab)
246Regular Expression Matching: Dot and Star with a 2D DP TableDSAHardcodingLeetCode (opens in a new tab)
247Reverse Nodes in k-Group: In-Place Group Reversal on a Linked ListDSAHardcodingLeetCode (opens in a new tab)
248Serialize and Deserialize Binary Tree: Preorder with Null MarkersDSAHardcodingLeetCode (opens in a new tab)
249Shortest Subarray with Sum at Least K: Prefix Sums and a Monotonic DequeDSAHardcodingLeetCode (opens in a new tab)
250Sliding Window Maximum: Max of Every Window With a Monotonic DequeDSAHardcodingLeetCode (opens in a new tab)
251Sliding Window Median: Two Heaps with Lazy DeletionDSAHardcodingLeetCode (opens in a new tab)
252Smallest Range Covering Elements from K Lists: K-Way Merge with a Min-HeapDSAHardcodingLeetCode (opens in a new tab)
253Split Array Largest Sum: Binary Search on the Largest PartDSAHardcodingLeetCode (opens in a new tab)
254Substring with Concatenation of All Words: Word-Sized Sliding Windows per OffsetDSAHardcodingLeetCode (opens in a new tab)
255Sudoku Solver: Backtracking with Constraint Sets and Smart Cell ChoiceDSAHardcodingLeetCode (opens in a new tab)
256Swim in Rising Water: Minimax Path with a Modified DijkstraDSAHardcodingLeetCode (opens in a new tab)
257Trapping Rain Water: Total Water Held Between Elevation BarsDSAHardcodingLeetCode (opens in a new tab)
258Word Ladder: Shortest Word Transformation with BFS and Wildcard BucketsDSAHardcodingLeetCode (opens in a new tab)
259Word Search II: Find Many Words in a Grid with a Trie and BacktrackingDSAHardcodingLeetCode (opens in a new tab)
260Explain Kafka partitions and consumer groups.KafkaMediumconceptual, architecture—
261What is at-least-once delivery and what problems can it create?KafkaMediumconceptual, scenario—
262When should you avoid Python UDFs in PySpark?PySparkMediumconceptual, optimization—
263When would you use a broadcast join in Spark?PySparkMediumconceptual, optimization—
264Explain shallow copy vs deep copy.PythonEasyconceptual, debugging—
265List vs tuple vs set: when would you use each in a data pipeline?PythonEasyconceptual—
266What is a generator and why can it help with large datasets?PythonEasyconceptual, coding—
267How should exceptions be handled in production data pipelines?PythonMediumconceptual, scenario—
268What are Snowflake virtual warehouses?SnowflakeEasyconceptual—
269How do micro-partitions affect Snowflake query performance?SnowflakeMediumconceptual, optimization—
270What is the difference between a transformation and an action in Spark?Apache SparkEasyconceptual—
271Explain Spark jobs, stages and tasks.Apache SparkMediumconceptual—
272How does partition count affect Spark performance?Apache SparkMediumoptimization, conceptual—
273What causes a shuffle in Spark?Apache SparkMediumconceptual—
274What is data skew and how can you mitigate it?Apache SparkHardoptimization, debugging—
275Explain INNER JOIN vs LEFT JOIN with a practical example.SQLEasyconceptual, coding—
276How do window functions differ from GROUP BY?SQLEasyconceptual, coding—
277Average Order Value: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
278Customer Lifetime Value: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
279Daily Active Users: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
280Find the second-highest salary without using a simple MAX approach.SQLMediumcodingLeetCode (opens in a new tab)
281How would you detect and remove duplicate records safely?SQLMediumcoding, scenarioLeetCode (opens in a new tab)
282Lead Scoring: SQL Case Study with 7 ApproachesSQLMediumcoding, scenario, optimization—
283New vs Returning Customers: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
284Refund Analysis: SQL Case Study with 7 ApproachesSQLMediumcoding, optimization, scenario—
285Session Duration: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
286Subscription Renewals: SQL Case Study with 7 ApproachesSQLMediumcoding, optimization, scenario—
287Top Selling Products: SQL Case Study with 8 ApproachesSQLMediumcoding, optimization, scenario—
288A/B Test Results: SQL Case Study with 7 ApproachesSQLHardcoding, scenario, optimization—
289Churn Rate: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—
290Conversion Funnel: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—
291Employee Hierarchy: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—
292Fraud Pattern Detection: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—
293How would you optimize a slow analytical SQL query?SQLHardoptimization, scenario—
294Inventory Turnover: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—
295Monthly Revenue: SQL Case Study with 8 ApproachesSQLHardcoding, optimization, scenario—

Ticks are saved in this browser only. No account needed.

Search
Filter by type