Complete Programming Interview
Guide
1. Data Structures (DS)
Key Topics
• Arrays
• Strings
• Linked Lists
• Stacks and Queues
• Trees (BST, Binary Tree)
• Hashing
• Heaps
• Graphs
• Tries
Common Questions
• Reverse an array/string
• Find duplicates in an array
• Merge two sorted arrays
• Detect loop in a linked list (Floyd's Cycle Detection)
• Implement stack/queue using array/linked list
• Inorder/Preorder/Postorder tree traversal (recursive & iterative)
• Lowest Common Ancestor in Binary Tree
• Dijkstra's Algorithm (Graph)
2. Algorithms
Key Concepts
• Searching (Linear, Binary Search)
• Sorting (Quick, Merge, Insertion, Selection)
• Recursion
• Backtracking
• Greedy algorithms
• Divide and Conquer
• Sliding Window
• Two Pointers
• Bit Manipulation
Common Questions
• Binary Search in rotated array
• N-Queens problem (Backtracking)
• Activity Selection Problem (Greedy)
• Merge Intervals
• Subarray with given sum
• Maximum Product Subarray
• Longest Palindromic Substring
• Power(x, n) using Divide & Conquer
3. Dynamic Programming (DP)
Key Topics
• Memoization and Tabulation
• 0/1 Knapsack
• Longest Common Subsequence (LCS)
• Longest Increasing Subsequence (LIS)
• Coin Change
• Matrix Chain Multiplication
• DP on Trees
Common Questions
• Fibonacci using DP
• LCS / Edit Distance
• Minimum number of coins
• Partition Equal Subset Sum
• Rod Cutting Problem
4. Object-Oriented Programming (OOP)
Key Concepts
• Class and Object
• Inheritance
• Polymorphism
• Abstraction
• Encapsulation
• SOLID Principles
Common Questions
• Design a class for a Bank Account
• Design Parking Lot / Elevator system
• Difference between Overloading and Overriding
• Real-life example of Inheritance/Polymorphism