Swiggy | ASDE | Online Interviews | December 2024 [Offer]
Summary
I successfully interviewed for an Associate Software Development Engineer (ASDE) role at Swiggy in December 2024. The process involved a Hackerrank assessment, a technical backend assignment, an LLD round, and a Hiring Manager round, ultimately leading to an offer.
Full Experience
I am a 2024 passout from a Tier-2 college and currently work as a Software Engineer at a consultancy. In December 2024, I applied for an ASDE role at Swiggy.
My interview journey began with a Hackerrank assessment. This included two very simple DSA questions, two easy-to-medium SQL queries involving simple joins, and a few easy Computer Science fundamentals MCQs.
After the initial assessment, I filled out a Google form to apply and kept an eye on LinkedIn for updates. I then received a technical assignment. Since this was a backend-heavy role, the task was to build a simple attack/defend game. I had the flexibility to choose between Node, Java, or Golang for the implementation.
The next stage was my 1st Face-to-Face interview, which was an LLD Round. This round was conducted by a third party and felt more like a discussion than a strict interview. The interviewer was primarily interested in how I think, rather than just my coding ability. My task was to design a follow/unfollow functionality for a social media application. The focus was on requirement gathering, designing the database schema, identifying the necessary API endpoints, and determining their types (GET/POST/PUT/PATCH/DELETE). I was encouraged to think aloud and interact with the interviewer, without worrying too much about the actual code.
Finally, I had the HM Round (Hiring Manager). This round started with a resume screening. Following that, I was asked questions covering Computer Science fundamentals, including OS, CN, and DBMS. There was also one DSA question, which for me was Merge Intervals. The other questions asked were:
- Difference between Process and Thread? Why are they different? / Why do we require these differently?
- What is indexing? Why/Where is it used? How is it implemented? (I couldn't answer this one)
- Difference between TCP and UDP? Use cases?
- Difference between TCP and HTTP? Difference between HTTP and REST? What is REST?
Overall, things went well, and I was pleased to receive an offer from Swiggy.
Interview Questions (7)
Design and implement a simple attack/defend game using Node, Java, or Golang. This was a technical assignment for a backend-heavy role.
Design a follow/unfollow functionality for a social media application. The focus should be on requirement gathering, database design, identifying necessary API endpoints (specifying GET/POST/PUT/PATCH/DELETE), and discussing the overall system architecture.
The DSA question asked was Merge Intervals.
Explain the fundamental differences between a Process and a Thread. Discuss why these two distinct concepts are required in operating systems.
What is indexing in databases? Explain its purpose, common use cases, and how it is typically implemented. (The candidate noted they couldn't answer this part).
Describe the key differences between the TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) network protocols. Provide specific use cases for each protocol.
Explain the differences between TCP and HTTP. Further, differentiate between HTTP and REST, and provide a definition for what REST (Representational State Transfer) is.