Zepto | Software Engineer - II | Backend | Bangalore | June 2024 [Rejected]
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)
Word Search
Given an m x n grid of characters and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertically neighboring. The same letter cell may not be used more than once.
Validate Binary Search Tree
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 Google Calendar
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.
Biggest Technical Challenge Faced
Discuss the biggest technical challenge you have faced in your career and how you approached or resolved it.
Bug Resolution and On-Call Practices
Describe your approach to resolving bugs and how you handle on-call responsibilities.
Explain Circuit Breaker Pattern
Explain the Circuit Breaker pattern, its purpose, and how it is implemented in systems.