Round 1 (DSA)
Questions:
Candidate's Approach
I was able to solve both these questions as they were pretty much standard Leetcode questions. I jumped to the optimal solution and skipped the brute force approaches.
Interviewer's Feedback
Interviewer was satisfied and gave good feedback at the end of the interview.
Round 2 (LLD)
Questions:
- Design a system for managing customer orders and deliveries in a quick commerce platform.
- How would you structure the system to manage customer orders, inventory, and deliveries?
- How would you design a system to handle order prioritization for fast delivery, especially during peak times?
- How would you handle different payment methods such as credit cards, digital wallets, and cash on delivery?
- How authentication can be done in the above two APIs?
- What kind of design patterns can be used here?
Candidate's Approach
I gave the DB design first. After the interviewer agreed with the Schema, I was asked to write APIs on adding products to cart and placing orders, handling edge cases and writing proper error handling scenarios. We discussed order prioritization for the next 5 minutes. For authentication, I suggested using JWT tokens and explained how they work. For design patterns, I suggested Factory Pattern, Builder Patterns, and Strategy Pattern. I implemented the Factory Pattern for handling payments, wrote Java implementations for Credit card payments, and created a factory class to generate objects based on payment methods chosen by the user.
Interviewer's Feedback
Interviewer was satisfied with my responses and the discussion lasted for 1 hour 15 minutes.
Round 3 (HM)
Questions:
- Design an app like Google Calendar.
- Users should be able to create meetings.
- Users can schedule events/meetings with a title, description, start/end time, location, and participants.
- Users can add participants to meetings and notify them.
- The system should send notifications for upcoming meetings.
- Users should be able to accept/decline invitations.
- Insert new nodes into a CLL in such a way that they always remain in sorted state.
Candidate's Approach
I focused on the DB design, making entities, columns, and relationships to cover all features. I suggested adding more entities for decoupling and proposed a method to separate shared and personal calendars. For the CLL question, I provided an O(n) optimal solution and skipped the brute force approach.
Interviewer's Feedback
Interviewer seemed satisfied with my solutions and the discussion lasted for 20-25 minutes.
Round 4 (HR)
Questions:
- Discussed the working culture at Zepto and addressed any questions I had.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Results: Selected. I got the call next day about the offer.
Compensation: Compensation Discussion