Zepto | SDE 2 | Bengaluru | September 2024 [Offer]
Summary
I interviewed for an SDE 2 position at Zepto in August 2024, which consisted of four rounds focusing on Data Structures & Algorithms, Low-Level Design, a Hiring Manager discussion, and HR. I successfully received an offer.
Full Experience
I appeared for interviews at Zepto for an SDE 2 position in August 2024. The entire process comprised four rounds, primarily focusing on Data Structures & Algorithms (DSA) and Low-Level Design (LLD).
Round 1: (DSA)
This round had two questions, and the interviewer emphasized time and space complexity. I was able to solve both questions optimally, directly jumping to the most efficient solutions and skipping brute-force approaches. The interviewer seemed satisfied and gave positive feedback.
Round 2: (LLD)
This round began with a comprehensive LLD question, followed by concepts of authentication and design patterns. I started by proposing a DB design, and once that was accepted, I wrote APIs for adding products to a cart and placing orders, ensuring proper error handling and edge case management. We further discussed order prioritization and other system aspects. For authentication, I suggested JWT tokens and elaborated on their working. Regarding design patterns, I proposed Factory, Builder, and Strategy patterns. The interviewer deep-dived into the Factory Pattern, asking me to implement payment processors and a factory class in Java for different payment methods. This round lasted about 1 hour and 15 minutes, and the interviewer was satisfied.
Round 3: (Hiring Manager)
This round included one LLD question, one DSA problem, a discussion about my previous projects, and some behavioral questions. For the LLD problem, I provided a detailed DB design and discussed decoupling and managing shared vs. personal calendars. The DSA question involved inserting nodes into a sorted Circular Linked List, for which I presented an optimal O(n) solution. I also shared my experiences regarding favorite features implemented in previous roles, conflict resolution, and handling work pressure under tight deadlines. The interviewer seemed satisfied throughout.
Round 4: (HR)
This round was about 20 minutes long. The HR person mostly discussed Zepto's working culture and addressed any questions I had.
Results: I was selected! I received the offer call the very next day.
Interview Questions (7)
Best Time to Buy and Sell Stock II
I was given the problem of finding the maximum profit from buying and selling stock multiple times. The interviewer focused on time and space complexity.
Rotting Oranges
The second question was about rotting oranges, a standard BFS problem.
Quick Commerce Order & Delivery System Design
Design a system for managing customer orders and deliveries in a quick commerce platform. Specifically, I needed to cover:
- How to structure the system for customer orders, inventory, and deliveries.
- How to design for order prioritization, especially during peak times.
- How to handle various payment methods (credit cards, digital wallets, cash on delivery).
API Authentication Mechanisms
I was asked how to implement authentication for the APIs designed in the previous question, along with follow-up questions on JWT tokens.
Application of Design Patterns
The interviewer asked about suitable design patterns for the quick commerce platform. I was specifically asked to implement a Factory Pattern for payment processing.
Google Calendar-like App Design
Design an application similar to Google Calendar, covering features such as:
- User meeting creation.
- Scheduling events/meetings with title, description, start/end time, location, and participants.
- Adding participants and notifying them.
- Sending notifications for upcoming meetings.
- Accepting/declining invitations.
Insert into Sorted Circular Linked List
The problem was to insert new nodes into a Circular Linked List (CLL) while maintaining its sorted order.
Preparation Tips
I prepared by practicing standard LeetCode Data Structures & Algorithms problems, which helped me solve the coding questions efficiently. For System Design and Low-Level Design, I focused on common design patterns, authentication mechanisms, and database schema design principles, which were crucial for the LLD and HM rounds.