Based on Kaushik Shahare’s resume, here is a tailored list of DSA and system design-oriented questions I would ask during a technical interview for an SDE fresher role. The questions are aligned with the candidate’s experience in backend development, cloud deployment, and real-time systems.


General Strategy

I’ll evaluate him on:

  • Problem-solving (core DSA questions)
  • Application of concepts (how DSA fits into real projects)
  • Backend + systems thinking (as shown in AgriConnect & MiniMilitia)
  • Communication and debugging (e.g., usage of logging, CI/CD, etc.)

1. Arrays & Strings

  • Given an array of integers, return the maximum sum of a subarray (Kadane’s Algorithm).
  • Rotate an array to the right by k steps. Implement in-place.
  • Given a string, find the length of the longest substring without repeating characters.

2. Linked Lists

  • Reverse a singly linked list (iterative and recursive).
  • Detect a cycle in a linked list and return the starting node of the cycle.

3. Trees & Graphs

  • Implement level order traversal of a binary tree.

  • Given a graph of n cities and m roads, determine the number of connected components.

  • In a multiplayer game (like Mini-Militia), how would you model users and rooms using graphs?

4. Stacks & Queues

  • Implement a queue using two stacks.
  • Design a system to evaluate a Reverse Polish Notation expression.
  • How would you implement rate limiting using a queue (API throttling scenario)?

5. Hashing

  • Two Sum problem — optimal solution using a hash map.
  • Count the frequency of characters in a string and return the first non-repeating character.

6. Sliding Window / Two Pointer

  • Given a list of integers and a target sum, find the length of the smallest contiguous subarray with a sum ≥ target.

  • Minimum window substring problem.

7. Recursion & Backtracking

  • Solve the N-Queens problem using backtracking.
  • Given a matrix, find if a word exists in it (Word Search problem).

8. Dynamic Programming

  • Longest Increasing Subsequence.
  • 0/1 Knapsack problem.
  • You have a staircase of n steps. Each time you can climb 1 or 2 steps. How many ways can you climb the staircase?

System & Backend Oriented Thinking

Mini-Militia Web Game

  • How did you handle real-time synchronization using WebSockets?
  • What data structures did you use on the server side to manage user state and room state?
  • How would you detect and resolve lag or desync issues?

AgriConnect

  • How did you structure role-based access control in Django?
  • You mentioned “AI-powered diet advisor” — how was this implemented, and how did you manage model inference under load?
  • How would you scale your application if 10,000 farmers and experts use it concurrently?

DevOps / Infra Thinking

  • How does Docker help in backend deployments?
  • What is the difference between a process and a thread?
  • How would you monitor a microservice architecture in production?
  • What are Prometheus and Grafana used for?

Bonus CS Fundamentals

  • What’s the time complexity of inserting into a hash table?
  • Explain how Redis stores key-value pairs — in what scenarios is it a better choice than a database?
  • How do you handle concurrency issues in backend systems?

Behavioral & Communication

  • Tell me about a bug that took you the longest to fix.
  • How do you decide when to optimize code? Can you share an example from one of your projects?
  • What’s your process when you get stuck on a problem?

chatGPT