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?