Interview Experience at spotdraft
My Interview experience for on campus placement at Spotdraft . A detail breakdown
Interview Experience at SpotDraft
Interview Process
- Resume Shortlisting
- Online Assessment
- Technical Round 1
- Technical Round 2
- Technical Round 3
A Small Backdrop of How I Applied
This was an on-campus opportunity that offered both SLP + FTE opportunities.
Detailed Breakdown of the Rounds
1. Resume Shortlisting
Around 90 students were shortlisted for the Online Assessment round after the resume shortlisting process.
2. Online Assessment
The Online Assessment consisted of DSA, MCQs, and System Design.
MCQs
The questions covered multiple areas, including:
- Python: Lists, tuples, properties, etc.
- DBMS: More focused on ACID properties
- JavaScript:
==vs=== - Properties of linked-list data structures
- Database keys and properties of primary keys
- Finding the time complexity of recursive code
- Min-heap properties
- Database indexing and related concepts
- Two-pointer approach-based questions
DSA
There were two DSA questions.
The first question was more mathematical in nature, but it was fairly simple once we properly understood the story and requirements given in the problem.
The second question was based on Kadane's Algorithm. The interesting part was that the problem was presented as a story. Once we understood what the problem was actually asking, it became clear that it was essentially a Kadane's Algorithm problem.
System Design
The system design problem was something like this:
There is a household, and a household can have multiple members. The household has a shared grocery list/cart, where any member can add or remove items.
The system should also maintain a history of all events performed on the cart, such as:
- Who added an item
- Who removed an item
- What item was added or removed
- When the operation happened
We had to discuss several aspects of the system, including:
- Defining the scale of the system
- Identifying the functional requirements
- Deciding the order in which the functionality should be implemented
- Identifying dependencies between different functionalities
- Identifying critical sections/concurrency problems, such as multiple household members updating the grocery list simultaneously
- Providing solutions for these concurrency issues
The OA was interesting because it tested not only whether we knew the concepts, but also whether we could understand the problem statement and map it to the appropriate concept or algorithm.
3. Technical Round 1 — Online
The round started with a brief introduction from both sides. There were two interviewers, both of whom I believe were SDE 2s. One focused more on frontend-related topics, while the other focused more on backend and system design.
System Design Discussion
The interviewers had access to the answer I had submitted during the OA, so they started by asking me to explain my approach to the system design problem.
My system design framework was roughly:
- Define the scale
- Define functional requirements
- Define non-functional requirements
- Identify core entities
- Define APIs
- Define implementation order and dependencies
- Identify critical sections and concurrency problems
- Discuss possible solutions
For example, for scale, I assumed around 10,000 households, with each household having around 100 members, resulting in approximately 10 million users.
For the functional requirements, I discussed features such as:
- Adding items to the grocery list
- Removing items from the grocery list
- Maintaining a shared grocery list among household members
- Logging events such as additions and removals
For non-functional requirements, I discussed concepts such as the CAP theorem and identified which operations would require stronger consistency and which could prioritize availability.
I then defined the core entities, such as:
- Household
- Household Member
- Item
- Event/Log
I also discussed the APIs required based on the functional requirements.
After that, I explained the order in which I would implement the functionality and the dependencies between different components. For example, event logging depends on operations such as adding or removing an item from the grocery list.
Concurrency
The interviewers then went deeper into concurrency-related problems.
For example:
What happens if two household members try to modify the same grocery list at the same time?
We discussed solutions involving database transactions and Redis-based locking.
The interviewers asked several cross-questions around this topic to test whether I understood the concepts in depth rather than just knowing the terminology.
Frontend Discussion
Since I had used React.js in my projects, I was asked several frontend-related questions.
Some of the topics included:
- Why React.js?
- How React works internally
- React's diffing/reconciliation algorithm
- React Fiber
- State management
- Redux
I was also given a scenario-based question around implementing a search functionality.
The interviewer asked how I would optimize the search experience, and I discussed techniques such as:
- Debouncing
- Efficient API calls
- State management considerations
MongoDB
I was also asked about MongoDB's maximum document size and what I would use if I needed to store files larger than that limit.
I wasn't aware of GridFS at that time, which is MongoDB's mechanism for storing large files by splitting them into chunks.
I honestly told the interviewer that I wasn't aware of that topic. He said, "No worries," and moved on.
DSA
At the end, I was given a DSA question where I had to debug and complete an existing implementation and run it against test cases.
The question was relatively easy and was based on a hashmap.
4. Technical Round 2 — Offline / On-Campus
This round was conducted by an Engineering Manager.
It started with introductions from both sides, after which we moved directly into my projects.
Project Discussion
A major part of the interview focused on my projects.
The interviewer first asked about my motivation behind building the projects.
After that, he went through specific points mentioned in my resume and asked detailed questions such as:
- Explain the complete flow of this feature end-to-end.
- Why did you design it this way?
- How did you handle errors?
- How did you evaluate the feature?
- What happens in different failure scenarios?
- What system design considerations did you make?
- How would you scale this system?
He also asked questions related to:
- Horizontal scaling
- Vertical scaling
- Hashing
- Database indexing
The project discussion probably took around 80% of the interview.
Resume Metrics
One interesting part was that he questioned the numbers I had mentioned in my resume.
For example, if I had written something like "30% improvement", he asked:
How did you calculate that 30% improvement?
This was a good reminder that every number mentioned on a resume should have a proper explanation and measurement behind it.
Internship Experience
After the project discussion, we moved to my internship experience.
He asked questions about the work I had done during my internship, including my responsibilities and the technical decisions I had made.
Extra-Curricular Activities
I had mentioned that I worked as a Teaching Assistant for a Web Development course at college.
The interviewer asked about this experience as well, including questions such as:
- How did you resolve students' doubts?
- Can you give me an example?
- How did you handle students who were struggling with a concept?
My Questions
At the end of the interview, he asked if I had any questions for him.
I asked about:
- His background and journey
- His day-to-day life at SpotDraft
- What working at SpotDraft was like from an engineering perspective
Overall, this was a friendly and discussion-oriented round. It lasted around one hour or possibly a little longer.
5. Technical Round 3 — Offline / On-Campus
This was a relatively short round of around 20–30 minutes.
The main reason for this round was that there were some questions the interviewers had not been able to cover in Round 2 because of the time constraint.
The discussion covered several technical and conceptual topics, including:
- Docker
- CI/CD
- Redis locking
- Locks
- Database transactions
- ACID properties
- Movie booking system
- How to reserve tickets safely
- Motivation behind choosing Computer Science
- What is MCP?
- Whether I wrote the project code myself or used AI
- My experience with AI/agentic coding
The questions were mostly focused on understanding whether I had actually worked on the technologies and projects mentioned on my resume.
Overall, the final round was short but covered a fairly wide range of topics.
Overall Takeaway
The interview process was heavily focused on fundamentals + projects + system design.
The biggest thing I noticed was that simply mentioning a technology on your resume is not enough. The interviewer can go several levels deeper into why you used it, how it works internally, how you handled failures, how you measured improvements, and how you would scale it.
For me, the biggest preparation areas for this interview were:
- DSA fundamentals
- DBMS
- System Design
- React fundamentals
- Backend concepts
- Redis and concurrency
- Docker and CI/CD
- Deep understanding of my own projects
- Being able to justify every claim and metric mentioned on my resume