Zepto Interview Experience
ZEPTO | SDET2 | Interview Experience
SDET2Zepto | SDE 2 | Bengaluru | September 2024 [Offer]
SDE 2Zepto | Sr. SDE | 6.5 yrs | Unprofessional panel
sr. sdeZepto | Software Engineer | Bengaluru | Sept 2024
SDE-11 more experiences below
Summary
I interviewed at Zepto for a role (likely SDE) and went through multiple rounds including DSA, Design (LLD & HLD), Hiring Manager, and HR. Although I successfully solved the DSA questions and one design problem, I was ultimately rejected.
Full Experience
DSA Rounds:
https://leetcode.com/problems/container-with-most-water/
https://leetcode.com/problems/word-ladder/description/
✅ Successfully solved both questions during the interview.
Design (LLD) & HLD:
Coupon Creation Service
- Designed DB schema and system for different coupon types: percentage off, flat off, discount, cashback, etc.
Interviewer was not fully convinced by the approach
- Frequency-Based Coupon Selection (every 1-minute window):
Given a list of coupons with frequency, designed a system to randomly select coupons based on frequency.
Proposed an asynchronous job-based approach to pre-generate coupon IDs and do matching.
Interviewer was convinced and satisfied with this solution.
Hiring Manager Round:
Resume-based discussion
Talked about past project challenges
Solved LCA in Binary Tree
HM was approachable, calm, friendly—overall good interaction and some casual conversations as well.
HR Round:
General discussion and behavioral questions.
However, no updates from HR despite multiple follow-ups over the past week.
Eventually found out: Rejected
Interview Questions (5)
Designed DB schema and system for different coupon types: percentage off, flat off, discount, cashback, etc.
Given a list of coupons with frequency, designed a system to randomly select coupons based on frequency.
The problem asks to find the Lowest Common Ancestor (LCA) of two given nodes in a binary tree.
Summary
I interviewed for the SDET2 role at Zepto, which comprised three rounds. I successfully cleared the first technical round, which focused on coding and automation challenges. However, the second technical round was disappointing, featuring largely irrelevant conceptual questions, leading me to believe I might not advance further.
Full Experience
I had a total of three interview rounds for the SDET2 position at Zepto: two technical and one managerial.
First Round: Bar-raiser (external interviewer)
This round felt more focused and aligned with a typical SDET role. I was asked several questions testing my coding and automation skills. The difficulty level for this round was considered Medium. I successfully cleared this round and was selected to proceed to the next stage.Second Round: Technical round (Internal)
My experience in the second round was quite frustrating. The interviewer asked a variety of questions that seemed largely unrelated to my current role or profile. I was surprised not to be asked a single coding or SQL question, which felt very unusual for a technical interview. Given the nature of the questions and my answers, I anticipate I will not be selected for the next round.The questions asked included:
- How to set up Jenkins on cloud
- What is the difference between Docker and Microservices
- What is Microservice architecture
- What design patterns have I worked on (I mentioned Singleton and Factory method, but the interviewer didn't follow up)
- Why POJO classes are used only in Java (and not other languages)
- Questions about Playwright, why to use it, and the WebSocket protocol
- A scenario-based question on handling automation failures when a new field is added to an existing API payload. I suggested adding a version configuration and using if-else conditions, but I felt the interviewer might have expected a different solution.
Interview Questions (12)
Given a string, reverse only the alphabetic characters while keeping special characters in their original positions. For example, given 'I am$&## Groot', the output should be 'toorG ma$&## I'.
How would you find the third highest salary from an employee table?
Write Selenium code to open a browser, navigate to a URL. If an alert opens on the webpage, demonstrate how to send text to the alert, accept it, and then close it.
Using RestAssured, write code to send a request to an API, retrieve its response, verify the HTTP status code, and extract a specific value from the JSON response body.
Describe the process and considerations for setting up Jenkins on a cloud platform.
Explain the key differences between Docker and microservices.
Define microservice architecture and its core principles.
Discuss design patterns you have experience working with.
Explain the concept and usage of POJO (Plain Old Java Object) classes, and discuss whether similar concepts exist in other programming languages.
What is Playwright, and why would you choose to use it?
Explain the WebSocket protocol.
In an existing API, a new field is added to the payload, causing regression failures in your automation. What code changes would you implement in your automation framework to support both the old and new versions of the API?
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)
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).
I was asked how to implement authentication for the APIs designed in the previous question, along with follow-up questions on JWT tokens.
The interviewer asked about suitable design patterns for the quick commerce platform. I was specifically asked to implement a Factory Pattern for payment processing.
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.
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.
Summary
I interviewed for a Senior SDE role at Zepto, which included Data Structures & Algorithms and System Design rounds. Unfortunately, both rounds were characterized by highly unprofessional behavior from the interview panel.
Full Experience
During my interview for the Senior SDE position at Zepto, I encountered an unprofessional panel across both the DSA and System Design rounds.
In the first round, the interviewer, though initially kind, was in a meeting room where his colleagues interrupted him twice for a cake-cutting celebration. Despite my interview being ongoing, he eventually joined them, going on mute and turning off his camera for some time, which was quite disruptive.
The system design round was even more concerning. The interviewer asked me to open Notepad and start writing while he went to eat. He returned after 20 minutes and only then began asking questions. System design is meant to be an interactive session, but I was left without any direction for a significant period. When he finally came back, he started challenging my notes while he was still eating, and kept his camera off the entire time. This created a very uncomfortable and non-collaborative interview environment.
Interview Questions (3)
Given a 2D grid grid of 0s and 1s, where 0s represent land and 1s represent water. An island is a maximal 4-directionally connected group of 0s. A closed island is an island that is completely surrounded by 1s (water). That is, none of the 0s of a closed island are on the border of the grid. The task is to return the number of closed islands.
Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, find the area of the largest rectangle in the histogram.
Design a scalable and highly available ride-hailing service similar to Ola or Uber. The discussion should cover key components such as user authentication, ride request processing, driver matching, real-time location tracking, fare estimation, payment processing, and notification systems. Consider data models, API design, and trade-offs for different architectural choices to ensure performance, reliability, and cost-effectiveness.
Preparation Tips
My preparation for this interview involved focusing on the material I used for a previous Google interview. Detailed insights into my preparation strategy and relevant questions can be found in my Google interview preparation blog.
Summary
I interviewed at Zepto for an SDE-1 role in Bengaluru in September 2024. Although I initially received an email confirming my selection after the final round, my status was unfortunately updated to "rejected" two days later by the Hiring Manager, without a clear explanation.
Full Experience
I got interviewed at Zepto for an SDE-1 position in Bengaluru in September 2024. I proactively mailed my resume to their HR department and subsequently received a call for an interview. The interview process consisted of four rounds: Data Structures & Algorithms (DSA), Low-Level Design (LLD)/High-Level Design (HLD), and a Hiring Manager (HM) round.
Before the interviews, I want to mention a bit about myself: I hold a B.Tech from a Tier 1 institution (Top 10 NIT) and currently work as an SDE1 at a startup, bringing 14 months of experience to the table.
Round 1: DSA Questions
In the first round, I was presented with two DSA problems. The first was the classic "First and Last Occurrence of an Element in Sorted Array" problem. The second question involved finding a binary string of length N that does not occur in a given array of distinct binary strings of the same length.
Round 2: Low-Level Design (LLD)
The second round focused on Low-Level Design, where I was tasked with designing an e-commerce application. This was a comprehensive discussion covering various aspects, including:
- Database schema design, elaborating on how the database would be structured.
- Identification of important services required for the application.
- Definition of API endpoints.
- Stock management, detailing how to handle stock quantity, product expiry, and updates.
- Designing the system for discount coupons, specifically addressing the addition of new coupons and scenarios where multiple coupons could be clubbed.
- Discussion on appropriate design patterns and Object-Oriented Programming (OOP) principles.
I also had to answer follow-up questions about my proposed database schema and how different parts of the system would interact.
Round 3: Hiring Manager (HM) Round
The final round, with the Hiring Manager, began with an introduction and a discussion about my current projects. The questions covered a broad range of technical and behavioral topics:
- Indexing: I had to explain indexing and differentiate its implementation and behavior between MongoDB and MySQL. This also included discussing the potential drawbacks and limitations of indexing.
- ACID Properties and CAP Theorem: My understanding of these fundamental database concepts and their implications was tested.
- Scalability: I was asked to describe how I approached making my current projects scalable.
- Metrics: The HM asked for explanations of the numbers I had mentioned in my resume, such as reducing costs by 15%, and how I had calculated these figures.
- Learning Approach: I discussed my methodology for learning new technologies and concepts.
- Motivation: Finally, I was asked about my motivation for joining Zepto, why they should hire me, my current location, and recent learnings.
The interview concluded at 3:56 PM, and I was pleasantly surprised to receive an email confirming my selection at 3:59 PM, just three minutes later. However, after two days, when I called HR for an update, she informed me that I had been rejected, as the Hiring Manager had updated my status to rejected again a couple of hours after the initial selection. I'm still unsure about the exact reason for this change in decision.
Interview Questions (9)
Another question was about finding a binary string of length N that doesn’t occur in a given array of distinct binary strings of the same length.
I was asked to design an e-commerce application. This involved detailing the database schema, identifying important services, defining API endpoints, and discussing stock management (quantity, expiry, updates) and discount coupon handling (new coupons, clubbing). We also discussed design patterns and OOP principles, and I had to explain my database schema and system interactions.
I had to explain indexing and how it differs between MongoDB and MySQL. This included discussing the drawbacks of indexing.
I was asked about my understanding of ACID properties and the CAP theorem, including their implications.
I was asked to explain how I made my current project scalable.
I had to explain numbers I provided in my resume, such as reduced costs by 15%, and how I calculated them.
I was asked about my approach to learning new technologies and concepts.
I was asked about my motivation for joining Zepto, why they should hire me, my current location, and recent learnings.
Summary
I interviewed for a Software Engineer - II (Backend) role at Zepto in Bangalore in June 2024. My experience included DSA, LLD, and a Hiring Manager round. Despite performing well and having friendly interviewers, I was ultimately rejected because my project experience didn't align with the company's specific hiring needs.
Full Experience
I recently interviewed at Zepto for a Software Engineer - II position, specializing in Backend development. I currently work in a product-based company and have 3 years of experience.
Round 1 (DSA or Problem Solving Round)
This round focused on Data Structures and Algorithms. I was given two problems to solve:- Word Search
- Validate Binary Search Tree
Round 2 (LLD/DB-Design)
This round took place three days after the first one and primarily focused on database design and how the created database would facilitate API responses. The problem statement given was to Create a Google Calendar. I was able to address approximately 95% of the use cases in my initial design. The interviewer then delved into concurrency issues, discussed which type of database would be most useful in this context, and led a comparison between different types of databases, including the fundamental differences between SQL and NoSQL databases.Round 3 (Hiring Manager Round)
This round was conducted four days after the LLD round. It involved:- Discussions on my past projects.
- Questions about the biggest technical challenge I've faced while working.
- Further questions based upon my projects.
- General behavioral questions.
- Discussions on how I resolve bugs and handle on-call responsibilities.
- A discussion on the Circuit Breaker pattern.
Interview Questions (6)
Given the root of a binary tree, determine if it is a valid binary search tree (BST). A valid BST is defined as follows: The left subtree of a node contains only nodes with keys less than the node's key. The right subtree of a node contains only nodes with keys greater than the node's key. Both the left and right subtrees must also be binary search trees.
Design a system similar to Google Calendar. The focus was on database design, facilitating API responses, handling concurrency issues, and a comparative discussion on different types of databases (SQL vs. NoSQL) and their fundamental differences.
Discuss the biggest technical challenge you have faced in your career and how you approached or resolved it.
Describe your approach to resolving bugs and how you handle on-call responsibilities.
Explain the Circuit Breaker pattern, its purpose, and how it is implemented in systems.