This post is Part-3 of the Series: Experienced Software Developer Interviews - WHERE, WHAT, HOW. Follow my LinkedIn for more.
WHAT to prepare for Problem Solving Interviews?
- DATA STRUCTURES
- Arrays
- Linked List
- Stack
- Queue
- Binary Tree
- Binary Search Tree (BST)
- Graphs
- Trie (Optional)
- ALGORITHMIC APPROACHES
- Greedy
- Recursion & Dynamic Programming (Very Important)
- Iterative Approach
- Recursion + Memoization Approach
- Backtracking
- Divide and Conquer
- STANDARD TECHNIQUES/PATTERNS
- Two-Pointer Technique
- Fast and Slow Pointers
- Sliding Window
- Heap/Priority Queue
- Hashing
- Breadth-First Search
- Depth-First Search
- Bit-wise Operations like XOR
- FAMOUS ALGORITHMS
- Tortoise Hare Algorithm
- Dutch National Flag Algorithm
- Quick Select Algorithm
- Kadane's Algorithm
- Lee's Algorithm
- Boyer-Moore Algorithm
- Task Scheduling Algorithm
- Floyd’s Cycle-Finding Algorithm
- Morris Traversal Algorithm
- Knuth-Morris-Pratt (KMP) Algorithm
- Other Graph Algorithms (listed in the next section)
Overall Preparation - CONCEPT WISE
- Data Types & Ranges
- How to derive a range for data type? (Internal working of Bits).
- Bit-wise Operations
- AND, OR, XOR, 1's Complement, 2's Complement
- (Optional) How are Negative Integers represented?
- (Optional) Types of Representations: Sign Magnitude Form, 1's Complement Form, 2's Complement Form
- Arrays
- Basics - Creating an array, Assigning Values & Printing the array
- Types of Arrays - Single Dimensional & Multi-Dimensional
- Searching
- Linear Search
- Binary Search
- Sorting
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort (Very Important, used in PriorityQueue data structure)
- Problems on Arrays
- Time Complexity & Space Complexity Analysis
- O(n)
- O(logn)
- O(1)
- O(n2)
- O(n3)
- O(nlogn)
- Memory Allocation, Heap, Stack
- Dynamic Programming
- Recursion & its problems. Stack Memory Consumption in Recursion
- Memoization
- Optimal Substructure
- Overlapping Sub problems
- Iterative Dynamic Programming
- Problems
- Linked List
- Basics & Implementation
- Insertion, Deletion, Searching
- Why Linked List?
- Linked List Vs Arrays
- Doubly Linked List
- Applications of Linked List - Stack, Queue, Deque etc.
- Problems on Linked List
- Stack & Queue
- Basics & Implementation
- LIFO Vs FIFO
- Infix, Postfix & Prefix Notations & Conversions
- Binary Trees
- Basics & Implementation
- Structure & Implementation
- Depth of a Node
- Height of a Node
- Types of Trees - Binary Tree, Quad Tree etc.
- Types of Trees - Full Binary Tree, Complete Binary Tree, Perfect Binary Tree
- Binary Search Tree & Purpose
- Applications of Binary Trees
- Traversals
- Breadth First Search (BFS)
- Depth First Search (DFS) - PreOrder, InOrder, PostOrder
- Applications
- Balanced Binary Trees & Purpose
- GRAPHS
- Basics & Terminology
- What is Vertex/Node?
- What is Edge?
- Weighted Graph Vs Unweighted Graph
- Directed Graph Vs Undirected Graph
- Dense Vs Sparse Graph
- Cyclic Vs Acyclic Graph
- Strongly Connected vs Weakly Connected Graph
- In-degree Vs Out-degree
- Applications of Graphs
- Representations/Implementations
- Using Edges List
- Using Adjacency Matrix
- Using Adjacency List
- Traversals (BFS & DFS)
- Cycle Detection
- Standard Algorithms
- Dijkstras Algorithm
- Bellman Ford Algorithm
- Floyd Warshall Algorithm
- Prims Algorithm - Minimum Cost Spanning Tree
- Kruskals Algorithm - Minimum Cost Spanning Tree
- Union Find Algorithm
- Topological Sort (Very Important)
- Finding Strongly Connected Components of a Graph (Very Important)
- Finding Articulation Points & Critical Connections of a Graph
- (Optional) Graph Coloring
- Problems on Graphs
NOTE:
- My LinkedIn: https://www.linkedin.com/in/justviswa/. Follow for more updates.
- Give a few likes for easy access.
- Do post your questions/comments/opinions/suggestions in the comments section below. I'll make sure to read everyone of them.
- If you find any broken links/missing content, suggest them in the comments section. I'll update the post accordingly.
- My Blog: http://justviswa.blogspot.com/ (Will be updated soon)