Best Interview Preperation Resources in 2025
Best Interview Preperation Resources in 2025
Best Coding Interview Resources
This Blog contains the best resources for Coding Interview prep.
💡 How to Think of Logic
- Break Down the Problem: Read the question twice. Identify inputs, outputs, and constraints.
- Start with Examples: Create test cases manually and simulate the solution step-by-step.
- Write Pseudocode: Draft a high-level plan before coding.
- Ask “Why?” at Every Step: Understand each operation; don’t memorize solutions.
- Visualize: Use diagrams or dry-run tables to debug.
- Optimize Gradually: Start with brute force; iterate to optimize for efficiency.
Some Strategies to follow
- Spend 1 hour revising concepts: Have a look at previously solved questions, what concepts did you apply and how much time you spent.
- Spend 1 hour learning new concepts: Pick a new topic, spend 1 hour watching video tutorials on it
- Spend 2-3 hours solving questions: Practice, practice, practice. Aim to solve at least 5-6 questions within this duration
You can adjust the timeline above according to your schedule.
Here are a few tips on how to Leetcode efficiently:
- Solve with a timer : 25 mins for medium level problems and 35 mins for hard level problems. If you’re not able to solve in this duration, you won’t be able to solve it, so its ok to have a look at solutions and understand the solution
- Revise questions and concepts: Install Leetcode reminder chrome extension to solve previously solved questions
- Don’t focus on the X number of problems : It doesn’t matter if you solve 100 or 1000 questions. What matters is the level of understanding and knowledge you gain by solving these questions. So focus on that, always.
Data Structures & Algorithms
- Hash Tables
- Linked List
- Recursion
- Sorting
- Binary Search
- Stacks
- Queues
- Trees
- Tries
- Backtracking
- Heaps
- Breadth First Search
- Depth First Search
- Graph Theory
- Dynaymic Programming
- Big O Cheat Sheet
Leetcode Spaced-Repetition Template
Patterns
- 14 Coding Interview Patterns
- Sliding Window
- Two Pointers
- Merge Intervals
- Cyclic Sort
- Monotonic Stack
- Two Heaps
- Subsets
- Modified Binary Search
- Top K Elements
- K-way merge
- In-place Reversal of Linked List
- DFS Pattern
- BFS Pattern
- O-1 Knapsack
- Topological Sort
Famous Problem Sets
Books
Courses
Mock Interviewing
LeetCode Extensions
Resume Template
📚 100 DSA Questions for Logic Building
Category | Question Name | Platform | Link |
---|---|---|---|
Basics & Warm-Up | Print a pattern of stars (triangle, pyramid) | GeeksforGeeks | Link |
Reverse a number | GeeksforGeeks | Link | |
Check if a number is palindrome | GeeksforGeeks | Link | |
Count digits in a number | GeeksforGeeks | Link | |
Find factorial of a number | HackerRank | Link | |
Arrays | Reverse an array | LeetCode | Link |
Find the maximum and minimum of an array | GeeksforGeeks | Link | |
Rotate an array by K steps | LeetCode | Link | |
Move all zeroes to the end | LeetCode | Link | |
Kadane’s Algorithm (Maximum Subarray Sum) | LeetCode | Link | |
Strings | Reverse a string | LeetCode | Link |
Check if two strings are anagrams | LeetCode | Link | |
Longest Common Prefix | LeetCode | Link | |
Check if a string is a palindrome | LeetCode | Link | |
Count and say | LeetCode | Link | |
Recursion | Fibonacci series using recursion | GeeksforGeeks | Link |
Tower of Hanoi | GeeksforGeeks | Link | |
Factorial using recursion | LeetCode | Link | |
Reverse a linked list using recursion | LeetCode | Link | |
Permutations of a string | GeeksforGeeks | Link | |
Sorting | Bubble sort | GeeksforGeeks | Link |
Selection sort | GeeksforGeeks | Link | |
Merge sort | GeeksforGeeks | Link | |
Quick sort | GeeksforGeeks | Link | |
Insertion sort | GeeksforGeeks | Link | |
Searching | Binary search | LeetCode | Link |
Linear search | GeeksforGeeks | Link | |
Search in a rotated sorted array | LeetCode | Link | |
First and last position in a sorted array | LeetCode | Link | |
Square root of a number (using binary search) | LeetCode | Link | |
Linked List | Reverse a linked list | LeetCode | Link |
Detect a cycle in a linked list | LeetCode | Link | |
Merge two sorted linked lists | LeetCode | Link | |
Remove Nth node from the end | LeetCode | Link | |
Find the middle of a linked list | LeetCode | Link | |
Stacks & Queues | Implement a stack using arrays | LeetCode | Link |
Evaluate postfix expression | GeeksforGeeks | Link | |
Balanced parentheses | LeetCode | Link | |
Next greater element | LeetCode | Link | |
Implement a queue using stacks | LeetCode | Link | |
Dynamic Programming | 0/1 Knapsack problem | GeeksforGeeks | Link |
Fibonacci using dynamic programming | LeetCode | Link | |
Longest common subsequence | LeetCode | Link | |
Longest increasing subsequence | LeetCode | Link | |
Minimum steps to reach the end | LeetCode | Link | |
Graphs | BFS traversal | GeeksforGeeks | Link |
DFS traversal | GeeksforGeeks | Link | |
Detect cycle in an undirected graph | GeeksforGeeks | Link | |
Shortest path in a graph (Dijkstra’s) | GeeksforGeeks | Link | |
Topological sort | GeeksforGeeks | Link |
Must-do Problems
Graphs
- Redundant Connection
- Course Schedule
- Course Schedule II
- Number of connected components in an undirected graph
- Shortest Path to Get All Keys
- Pacific Atlantic Waterflow
- Word Ladder
- Number of Islands
- Clone Graph
- Alien Dictionary
Binary Trees
- Construct binary tree from preorder and inorder traversal
- Diameter of Binary Tree
- Invert Binary Tree
- Count good nodes in Binary Tree
- Serialize and Deserialize Binary Tree
- Kth smallest element in BST
- Lowest Common Ancestor of a BST
- Path Sum
- Path Sum II
- Merge two Binary Trees
- Word Search
- Word Search II
- Maximum Width of Binary Tree
Linked Lists
This post is licensed under CC BY 4.0 by the author.