Skip to content

Interview Questions Bank: 50+ Curated Practice Questions by Category

DodaTech Updated 2026-06-20 10 min read

In this tutorial, you'll learn about Interview Questions Bank: 50+ Curated Practice Questions by Category. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

A curated collection of 50+ interview questions organized by category with difficulty ratings, key concepts tested, and recommended approaches — designed for structured interview preparation.

What You'll Learn

  • 50+ categorized interview questions with difficulty ratings
  • Key concepts tested by each question
  • Recommended approaches and common pitfalls
  • How to structure your preparation across categories
  • Questions for coding, system design, and behavioral rounds

Why This Question Bank Matters

Random practice is inefficient. When you solve problems without a system, you miss categories, over-practice easy problems, and arrive at interviews unprepared for the specific question types your target company asks. This bank is organized by category and difficulty so you can practice systematically, track your coverage, and focus on weak areas.

DodaTech interviewers use questions similar to these when evaluating candidates for Doda Browser and Durga Antivirus Pro engineering roles.

Learning Path

flowchart LR
  A[Data Structures Deep] --> B[Algorithms Deep]
  B --> C[Question Bank
You are here] C --> D[Mock Interviews] D --> E[Negotiation Guide] style C fill:#f90,color:#fff

Arrays and Strings

Easy

# Question Key Concepts
1 Two Sum Hash map, complement lookup
2 Valid Palindrome Two pointers, string cleaning
3 Merge Sorted Array Two pointers from end
4 Remove Duplicates from Sorted Array In-place modification
5 Best Time to Buy and Sell Stock Single pass, min tracking

Medium

# Question Key Concepts
6 Longest Substring Without Repeating Characters Sliding window, hash map
7 3Sum Sorting + two pointers, deduplication
8 Product of Array Except Self Prefix/suffix products
9 Group Anagrams Hash map with sorted key
10 Subarray Sum Equals K Prefix sum, hash map

Hard

# Question Key Concepts
11 First Missing Positive In-place hashing
12 Sliding Window Maximum Deque, monotonic queue
13 Minimum Window Substring Sliding window with counter

Example Solution: Two Sum

def two_sum(nums, target):
    """
    Given an array of integers, return indices of two numbers
    that add up to target.
    Time: O(n), Space: O(n)
    """
    seen = {}
    for i, num in enumerate(nums):
        complement = target - num
        if complement in seen:
            return [seen[complement], i]
        seen[num] = i
    return []

Linked Lists

# Question Difficulty Key Concepts
14 Reverse Linked List Easy Iterative + recursive
15 Merge Two Sorted Lists Easy Dummy node, merge
16 Linked List Cycle Detection Easy Fast/slow pointers
17 Remove Nth Node From End Medium Dummy node, two passes
18 Reorder List Medium Find middle, reverse, merge
19 Merge K Sorted Lists Hard Min-heap, divide and conquer

Trees

# Question Difficulty Key Concepts
20 Maximum Depth of Binary Tree Easy DFS recursion
21 Invert Binary Tree Easy DFS swap children
22 Validate Binary Search Tree Medium In-order traversal, range check
23 Binary Tree Level Order Traversal Medium BFS queue
24 Serialize and Deserialize Binary Tree Hard Pre-order + markers
25 Lowest Common Ancestor Medium Recursive search
26 Binary Tree Maximum Path Sum Hard Post-order, global max

Example Solution: Validate BST

def is_valid_bst(root):
    """
    Determine if a binary tree is a valid BST.
    Each node's value must be within a valid range.
    Time: O(n), Space: O(h) where h is tree height.
    """
    def validate(node, low, high):
        if not node:
            return True
        if not (low < node.val < high):
            return False
        return (validate(node.left, low, node.val) and
                validate(node.right, node.val, high))

    return validate(root, float('-inf'), float('inf'))

Graphs

# Question Difficulty Key Concepts
27 Number of Islands Medium DFS/BFS, grid traversal
28 Clone Graph Medium DFS + hash map
29 Course Schedule Medium Topological sort, cycle detection
30 Word Ladder Hard BFS shortest path
31 Pacific Atlantic Water Flow Medium Reverse DFS from oceans
32 Alien Dictionary Hard Topological sort of chars

Dynamic Programming

# Question Difficulty Key Concepts
33 Climbing Stairs Easy Fibonacci DP
34 Coin Change Medium Unbounded knapsack
35 Longest Increasing Subsequence Medium DP + binary search
36 Longest Common Subsequence Medium 2D DP table
37 Word Break Medium 1D DP, substring matching
38 Edit Distance Medium 2D DP, insert/delete/replace
39 Maximal Rectangle Hard Largest rectangle in histogram

Example Solution: Coin Change

def coin_change(coins, amount):
    """
    Find minimum number of coins to make amount.
    If impossible, return -1.
    Time: O(amount * len(coins)), Space: O(amount)
    """
    dp = [float('inf')] * (amount + 1)
    dp[0] = 0
    for coin in coins:
        for a in range(coin, amount + 1):
            dp[a] = min(dp[a], dp[a - coin] + 1)
    return dp[amount] if dp[amount] != float('inf') else -1

System Design

# Question Key Concepts
40 Design URL Shortener Hashing, key generation, database sharding
41 Design Chat System WebSockets, message queue, presence
42 Design News Feed Fan-out, pull vs push, caching
43 Design Rate Limiter Token bucket, sliding window, Redis
44 Design Distributed Cache Consistent hashing, replication, eviction
45 Design Web Crawler BFS, URL frontier, deduplication, politeness
46 Design Uber/Lyft Location service, matching, routing

Example: URL Shortener Design

1. Generate short key (Base62 encoding of ID, or hash)
2. Store mapping in distributed database (Cassandra/DynamoDB)
3. Cache popular URLs (Redis)
4. Use consistent hashing to distribute keys
5. Rate limit per user to prevent abuse
6. Analytics: track clicks per short URL

Behavioral Questions

# Question STAR Key
47 Tell me about a challenging project Situation → Task → Action → Result
48 Describe a time you disagreed with a teammate Conflict Resolution
49 What's the biggest mistake you've made? Ownership and learning
50 How do you handle tight deadlines? Prioritization, tradeoffs
51 Tell me about a project you're proud of Impact, leadership
52 Why do you want to work here? Research, alignment
53 Describe your ideal manager Communication, growth

Frontend-Specific

# Question Key Concepts
54 Explain event delegation Bubbling, capturing, performance
55 Implement debounce/throttle Closures, timers
56 Deep clone an object JSON.parse, recursive, circular refs
57 Design autocomplete component Controlled input, debounce, accessibility
58 Flatten nested array Recursion, reduce
59 Implement Promise.all Promise handling, error aggregation
60 Build a data table component Virtualization, sorting, filtering

Preparation Strategy

12-Week Plan

Weeks 1-2: Arrays, Strings, Hash Maps (questions 1-13)
Weeks 3-4: Linked Lists, Stacks, Queues (14-19)
Weeks 5-6: Trees, Graphs (20-32)
Weeks 7-8: Dynamic Programming (33-39)
Weeks 9-10: System Design (40-46)
Weeks 11-12: Behavioral, Mock Interviews (47-60)

Daily Practice

  • 2 hours: Solve 2-3 problems from current category
  • 30 minutes: Review previous problems
  • 30 minutes: Mock system design or behavioral

Common Interview Question Mistakes

1. Practicing Only Easy Problems

Easy problems don't prepare you for the medium/hard problems in real interviews.

Fix: Spend 70% of time on medium and 20% on hard problems.

2. Solving Without Time Pressure

Taking 45 minutes per problem doesn't simulate interview conditions.

Fix: Time yourself — 20 min for easy, 35 min for medium, 45 min for hard.

3. Not Reviewing Solutions

Solving a problem once and never reviewing it wastes the learning opportunity.

Fix: Review each problem the next day. Re-solve if you can't remember the approach.

4. Ignoring Weak Categories

Avoiding DP because it's hard means DP questions will appear in your interview.

Fix: Practice your weakest category daily until it becomes a strength.

5. Memorizing Solutions Without Understanding

"If the problem has two strings, use DP" is not understanding.

Fix: For each problem, explain why the algorithm works and what would change if constraints changed.

6. Not Practicing Communication

Solving silently doesn't prepare you for the interview's interactive format.

Fix: Practice explaining your thinking aloud. Record yourself.

7. Neglecting Behavioral Prep

Assuming technical performance alone gets you the offer. Behavioral rounds can veto a hire.

Fix: Prepare 5-7 stories using the STAR format. Practice telling them naturally.

Practice Questions

1. What is the recommended ratio of easy/medium/hard problems?

20% easy, 60% medium, 20% hard. Or none easy once you can consistently solve mediums.

2. How many questions should you solve before interviewing?

150-200 high-quality problems covering all categories. Quality over quantity — understand each problem deeply.

3. How do you handle a problem you've never seen before?

Use the SCORE framework: Situate (understand), Consider (multiple approaches), Outline (plan), Run (code), Evaluate (test).

4. What is the most common interview question category?

Arrays and strings appear in virtually every interview, followed by trees and Dynamic Programming.

5. How do you track your interview preparation progress?

Track by category: number solved, average difficulty, average time, and questions missed on review.

Challenge: Pick your weakest category from the list above. Solve 10 problems from that category without looking at solutions. Time each problem. After 10, review your average time and accuracy.

FAQ

How many questions should I practice per week?

Aim for 15-20 quality questions per week (3-4 per day). Consistent daily practice beats weekend cramming.

Should I use LeetCode or a different platform?

LeetCode has the largest collection and realistic problem difficulty. Use LeetCode for practice, then do mock interviews on Pramp or interviewing.io.

Do I need to solve every question in this bank?

No. Cover all categories with 5-10 problems each. Depth in each category matters more than breadth across all 60.

How do I know when I'm ready for interviews?

When you can consistently solve medium problems in 30 minutes and explain your approach clearly without looking at solutions.

What if I can't solve a problem in 30 minutes?

Read the solution, understand it, then close the solution and re-implement from memory. That's more effective than staring at a blank editor.

What's Next

Tutorial What You'll Learn
Mock Interview Practice Full-length interview simulations
Salary Negotiation Guide Compensation and offer negotiation
System Design Interview Prep Designing scalable systems

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-20.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro