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.

Scroll to Top
Tutorialsjet.com