Menu

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

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

Search
Filter by type