100 Interview Questions and Answers:
Data Structures & Algorithms
Q1: Find max subarray sum
Answer: This is a sample explanation for ‘Find max subarray sum’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find max subarray sum
pass
Q2: Find duplicate number
Answer: This is a sample explanation for ‘Find duplicate number’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find duplicate number
pass
Q3: Merge sorted arrays
Answer: This is a sample explanation for ‘Merge sorted arrays’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Merge sorted arrays
pass
Q4: Find missing number
Answer: This is a sample explanation for ‘Find missing number’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find missing number
pass
Q5: Move zeroes
Answer: This is a sample explanation for ‘Move zeroes’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Move zeroes
pass
Q6: Rotate array
Answer: This is a sample explanation for ‘Rotate array’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Rotate array
pass
Q7: Find equilibrium index
Answer: This is a sample explanation for ‘Find equilibrium index’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find equilibrium index
pass
Q8: Max product subarray
Answer: This is a sample explanation for ‘Max product subarray’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Max product subarray
pass
Q9: Find majority element
Answer: This is a sample explanation for ‘Find majority element’. It describes the approach, edge cases, and complexity
Code Example:
def sample_function():
# Code for Find majority element
pass
Q10: Subarray with given sum
Answer: This is a sample explanation for ‘Subarray with given sum’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Subarray with given sum
pass
Strings
Q11: Check anagram
Answer: This is a sample explanation for ‘Check anagram’. It describes the approach, edge cases, and complexity.
Code Example:
Code Example:
def sample_function():
# Code for Check anagram
pass
Q12: Longest palindrome
Answer: This is a sample explanation for ‘Longest palindrome’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Longest palindrome
pass
Q13: Reverse words
Answer: This is a sample explanation for ‘Reverse words’. It describes the approach, edge cases, and complexity.
Code Example:
Code Example:
def sample_function():
# Code for Reverse words
pass
Q14: Check palindrome
Answer: This is a sample explanation for ‘Check palindrome’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Check palindrome
pass
Q15: String compression
Answer: This is a sample explanation for ‘String compression’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for String compression
pass
Q16: First unique char
Answer: This is a sample explanation for ‘First unique char’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for First unique char
pass
Q17: Group anagrams
Answer: This is a sample explanation for ‘Group anagrams’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Group anagrams
pass
Q18: Valid parentheses
Answer: This is a sample explanation for ‘Valid parentheses’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Valid parentheses
pass
Q19: Longest common prefix
Answer: This is a sample explanation for ‘Longest common prefix’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Longest common prefix
pass
Q20: Isomorphic strings
Answer: This is a sample explanation for ‘Isomorphic strings’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Isomorphic strings
pass
Linked Lists
Q21: Reverse list
Answer: This is a sample explanation for ‘Reverse list’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Reverse list
pass
Q22: Detect cycle
Answer: This is a sample explanation for ‘Detect cycle’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Detect cycle
pass
Q23: Merge two lists
Answer: This is a sample explanation for ‘Merge two lists’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Merge two lists
pass
Q24: Remove nth node
Answer: This is a sample explanation for ‘Remove nth node’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Remove nth node
pass
Q25: Find middle node
Answer: This is a sample explanation for ‘Find middle node’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find middle node
pass
Q26: Palindrome list
Answer: This is a sample explanation for ‘Palindrome list’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Palindrome list
pass
Q27: Intersection of lists
Answer: This is a sample explanation for ‘Intersection of lists’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Intersection of lists
pass
Q28: Cycle entry point
Answer: This is a sample explanation for ‘Cycle entry point’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Cycle entry point
pass
Q29: Flatten multilevel list
Answer: This is a sample explanation for ‘Flatten multilevel list’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Flatten multilevel list
pass
Q30: Sort linked list
Answer: This is a sample explanation for ‘Sort linked list’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Sort linked list
pass
Trees
Q31: Inorder traversal
Answer: This is a sample explanation for ‘Inorder traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Inorder traversal
pass
Q32: Preorder traversal
Answer: This is a sample explanation for ‘Preorder traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Preorder traversal
pass
Q33: Postorder traversal
Answer: This is a sample explanation for ‘Postorder traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Postorder traversal
pass
Q34: Level order traversal
Answer: This is a sample explanation for ‘Level order traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Level order traversal
pass
Q35: Check balanced
Answer: This is a sample explanation for ‘Check balanced’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Check balanced
pass
Q36: Diameter of tree
Answer: This is a sample explanation for ‘Diameter of tree’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Diameter of tree
pass
Q37: Lowest common ancestor
Answer: This is a sample explanation for ‘Lowest common ancestor’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Lowest common ancestor
pass
Q38: Invert tree
Answer: This is a sample explanation for ‘Invert tree’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Invert tree
pass
Q39: Max depth
Answer: This is a sample explanation for ‘Max depth’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Max depth
pass
Q40: Serialize/deserialize tree
Answer: This is a sample explanation for ‘Serialize/deserialize tree’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Serialize/deserialize tree
pass
Graphs
Q41: BFS traversal
Answer: This is a sample explanation for ‘BFS traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for BFS traversal
pass
Q42: DFS traversal
Answer: This is a sample explanation for ‘DFS traversal’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for DFS traversal
pass
Q43: Detect cycle
Answer: This is a sample explanation for ‘Detect cycle’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Detect cycle
pass
Q44: Topological sort
Answer: This is a sample explanation for ‘Topological sort’. It describes the approach, edge cases, and complexity
def sample_function():
# Code for Topological sort
pass
Q45: Dijkstra’s algorithm
Answer: This is a sample explanation for ‘Dijkstra’s algorithm’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Dijkstra’s algorithm
pass
Q46: Bellman-Ford
Answer: This is a sample explanation for ‘Bellman-Ford’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Bellman-Ford
pass
Q47: Floyd-Warshall
Answer: This is a sample explanation for ‘Floyd-Warshall’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Floyd-Warshall
pass
Q48: Connected components
Answer: This is a sample explanation for ‘Connected components’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Connected components
pass
Q49: Minimum spanning tree
Answer: This is a sample explanation for ‘Minimum spanning tree’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Minimum spanning tree
pass
Q50: Graph coloring
Answer: This is a sample explanation for ‘Graph coloring’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Graph coloring
pass
Heaps & Hashing
Q51: Kth largest element
Answer: This is a sample explanation for ‘Kth largest element’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Kth largest element
pass
Q52: Top K frequent
Answer: This is a sample explanation for ‘Top K frequent’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Top K frequent
pass
Q53: Heap sort
Answer: This is a sample explanation for ‘Heap sort’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Heap sort
pass
Q54: Median from stream
Answer: This is a sample explanation for ‘Median from stream’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Median from stream
pass
Q55: LRU cache
Answer: This is a sample explanation for ‘LRU cache’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for LRU cache
pass
Q56: Insert delete getRandom
Answer: This is a sample explanation for ‘Insert delete getRandom’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Insert delete getRandom
pass
Q57: Group anagrams
Answer: This is a sample explanation for ‘Group anagrams’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Group anagrams
pass
Q58: Subarray sum zero
Answer: This is a sample explanation for ‘Subarray sum zero’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Subarray sum zero
pass
Q59: Longest consecutive sequence
Answer: This is a sample explanation for ‘Longest consecutive sequence’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Longest consecutive sequence
pass
Q60: Find duplicates
Answer: This is a sample explanation for ‘Find duplicates’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find duplicates
pass
Sorting & Searching
Q61: Merge sort
Answer: This is a sample explanation for ‘Merge sort’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Merge sort
pass
Q62: Quick sort
Answer: This is a sample explanation for ‘Quick sort’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Quick sort
pass
Q63: Binary search
Answer: This is a sample explanation for ‘Binary search’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Binary search
pass
Q64: Search rotated array
Answer: This is a sample explanation for ‘Search rotated array’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Search rotated array
pass
Q65: Find peak element
Answer: This is a sample explanation for ‘Find peak element’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find peak element
pass
Q66: Count sort
Answer: This is a sample explanation for ‘Count sort’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Count sort
pass
Q67: Radix sort
Answer: This is a sample explanation for ‘Radix sort’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Radix sort
pass
Q68: Search 2D matrix
Answer: This is a sample explanation for ‘Search 2D matrix’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Search 2D matrix
pass
Q69: Find floor/ceil
Answer: This is a sample explanation for ‘Find floor/ceil’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find floor/ceil
pass
Q70: Interpolation search
Answer: This is a sample explanation for ‘Interpolation search’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Interpolation search
pass
Dynamic Programming
Q71: 0/1 Knapsack
Answer: This is a sample explanation for ‘0/1 Knapsack’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for 0/1 Knapsack
pass
Q72: Longest increasing subsequence
Answer: This is a sample explanation for ‘Longest increasing subsequence’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Longest increasing subsequence
pass
Q73: Edit distance
Answer: This is a sample explanation for ‘Edit distance’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Edit distance
pass
Q74: Coin change
Answer: This is a sample explanation for ‘Coin change’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Coin change
pass
Q75: Subset sum
Answer: This is a sample explanation for ‘Subset sum’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Subset sum
pass
Q76: Matrix chain multiplication
Answer: This is a sample explanation for ‘Matrix chain multiplication’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Matrix chain multiplication
pass
Q77: Rod cutting
Answer: This is a sample explanation for ‘Rod cutting’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Rod cutting
pass
Q78: Palindrome partitioning
Answer: This is a sample explanation for ‘Palindrome partitioning’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Palindrome partitioning
pass
Q79: Jump game
Answer: This is a sample explanation for ‘Jump game’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Jump game
pass
Q80: Max path sum
Answer: This is a sample explanation for ‘Max path sum’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Max path sum
pass
Binary Search Variations
Q81: First occurrence
Answer: This is a sample explanation for ‘First occurrence’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for First occurrence
pass
Q82: Last occurrence
Answer: This is a sample explanation for ‘Last occurrence’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Last occurrence
pass
Q83: Search in infinite array
Answer: This is a sample explanation for ‘Search in infinite array’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Search in infinite array
pass
Q84: Square root
Answer: This is a sample explanation for ‘Square root’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Square root
pass
Q85: Peak element
Answer: This is a sample explanation for ‘Peak element’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Peak element
pass
Q86: Min in rotated array
Answer: This is a sample explanation for ‘Min in rotated array’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Min in rotated array
pass
Q87: Find rotation count
Answer: This is a sample explanation for ‘Find rotation count’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Find rotation count
pass
Q88: Allocate books
Answer: This is a sample explanation for ‘Allocate books’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Allocate books
pass
Q89: Aggressive cows
Answer: This is a sample explanation for ‘Aggressive cows’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Aggressive cows
pass
Q90: Painter partition
Answer: This is a sample explanation for ‘Painter partition’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Painter partition
pass
Advanced Topics
Q91: Trie insert/search
Answer: This is a sample explanation for ‘Trie insert/search’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Trie insert/search
pass
Q92: Word break
Answer: This is a sample explanation for ‘Word break’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Word break
pass
Q93: Suffix array
Answer: This is a sample explanation for ‘Suffix array’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Suffix array
pass
Q94: Segment tree range sum
Answer: This is a sample explanation for ‘Segment tree range sum’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Segment tree range sum
pass
Q95: Fenwick tree
Answer: This is a sample explanation for ‘Fenwick tree’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Fenwick tree
pass
Q96: Disjoint set union
Answer: This is a sample explanation for ‘Disjoint set union’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Disjoint set union
pass
Q97: Kruskal’s MST
Answer: This is a sample explanation for ‘Kruskal’s MST’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Kruskal’s MST
pass
Q98: Tarjan’s algorithm
Answer: This is a sample explanation for ‘Tarjan’s algorithm’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Tarjan’s algorithm
pass
Q99: Articulation points
Answer: This is a sample explanation for ‘Articulation points’. It describes the approach, edge cases, and complexity.
Code Example:
def sample_function():
# Code for Articulation points
pass
Q100: Bridge edges
Answer: This is a sample explanation for ‘Bridge edges’. It describes the approach, edge cases, and complexity.
def sample_function():
# Code for Bridge edges
pass
Crack Top Tech Interviews
Access 100+ Questions & Real-
World Diagrams
Interviews aren’t just about answers—they’re about
clarity, confidence, and the ability to map real-world problems.
Our Premium Tech Resources bundle gives you 100+ curated questions,
architecture diagrams, and a mentorship session tailored to your goals.