Swiggy | SDE-2 | Interview Exp | 4 yrs Exp
Summary
I interviewed for the SDE-2 role at Swiggy and despite a good performance across all rounds (DSA, LLD, and system design), I was ultimately not selected due to switching companies within 3 months.
Full Experience
My interview process for the SDE-2 role at Swiggy was quite structured. It began with an Online Assessment (OA) where I tackled two medium-level coding questions focusing on Arrays, HashMap, and Sliding Window topics, both of which I solved within the time limit.
The second round was another Coding Round, where I faced two DSA questions. One was a medium-level coding question on finding the longest subsequence from a string, and the other was a hard-level graph problem involving finding the shortest path with 'k' hops. I implemented both solutions efficiently and made sure to discuss edge cases and possible optimizations.
Next up was the Low-Level Design (LLD) round. I was given the task to design a Cab Booking System. During this round, I covered all essential aspects: defining entities like Rider, Driver, Trip, and Cab; outlining core functionalities suchas booking, allocation, and ride status. I presented a class diagram, the overall system flow, and API designs. We also delved into scalability considerations and various edge cases.
The final round was with the Hiring Manager, which was a blend of system design and techno-managerial discussions. We discussed my previous projects in depth, covering design patterns I had used. The conversation also touched upon technologies like Kafka, Redis optimizations, and database internals. My thought process around scaling systems and handling bottlenecks was also evaluated.
Ultimately, the verdict was not selected. The feedback indicated that my performance was good across all rounds. The final rejection reason given was my decision to switch companies within 3 months of joining my then-current company. Overall, it was a good learning experience, and I found Swiggy’s interview process to be well-structured and balanced across DSA, LLD, and system knowledge.
Interview Questions (3)
A medium-level coding question on Data Structures & Algorithms, focused on finding the longest subsequence from a given string. This typically involves dynamic programming or a greedy approach.
A hard-level graph problem that required finding the shortest path between two points in a graph, with the additional constraint of needing to complete the path in exactly 'k' hops.
I was asked to design a Low-Level Design for a Cab Booking System. This involved identifying core entities like Rider, Driver, Trip, and Cab, along with outlining core functionalities such as booking, allocation, and ride status. I also presented a class diagram, the system flow, and API designs. Additionally, we discussed scalability considerations and various edge cases for the system.
Preparation Tips
My preparation involved a balanced approach covering Data Structures & Algorithms, Low-Level Design, and general system knowledge, which I found aligned very well with Swiggy’s structured interview process across various rounds.