Zeta | SDE2 | Hyderabad | Oct 2022 | [Offer]
Summary
I successfully interviewed for an SDE2 position at Zeta in October 2022 and received an offer. The interview process comprised four rounds, covering Data Structures and Algorithms, core technical concepts, Low-Level Design, and a Hiring Manager fitment discussion.
Full Experience
I applied for the SDE2 role through Zeta's career page. The interview process was structured into four elimination rounds.
Round 1 - DSA (1 hour)
This round focused on Data Structures and Algorithms, where I was asked two questions. I managed to solve both efficiently.
Round 2 - Technical (1 hour)
This technical round delved into various areas. It began with a discussion on the Immutable concept in Java, followed by a deep dive into Java OOPS concepts. Questions related to multithreading and deadlocks were also posed. We then discussed RDBMS, SQL (specifically JOINs), the difference between object-oriented programming and functional programming, lambda expressions, and functional interfaces. I was able to answer the majority of these questions.
Round 3 - LLD (1.5 hours)
For the Low-Level Design round, I was tasked with designing and coding a Stock Brokering system. The requirements included enabling users to buy and sell stocks, create multiple watchlists, and handle stock price updates every 2 seconds from a Stock Exchange, all implemented using in-memory data structures. The expectation was to demonstrate knowledge of Design Principles and Design Patterns. I proposed using the Command design pattern for user operations. When prompted to design the entire system, including the Stock Exchange, I suggested the Observer design pattern, which the interviewer found convincing. We then moved to the coding part, where the primary focus was on the structure and flow of the code rather than complex implementation logic. During the code review, the interviewer asked me questions about concurrency, Exception Handling, and the Singleton class.
Round 4 - Fitment with HM (1 hour)
The final round with the Hiring Manager started with an in-depth discussion about one of my previous projects. We then discussed Async programming, multithreading, and different databases. Following these technical discussions, the interviewer transitioned into behavioral questions, asking about my most challenging work in my previous company, my reasons for wanting to join Zeta, my next 2-3 year goals, and my reasons for switching roles.
Interview Questions (3)
Given an array, find a peak element. A peak element is an element that is strictly greater than its immediate neighbors. If there are multiple peak elements, any valid one can be returned. The solution was expected to have O(log n) complexity.
Design a system to calculate the total number of requests coming from different clients in the last one minute. The expectation was to devise an efficient solution using appropriate data structures.
Design and implement a Stock Brokering system with the following functionalities:
- Users can buy and sell stocks.
- Users can create multiple watchlists, each containing various stocks.
- Stock prices are determined by a Stock Exchange, and the Last Traded Price of a stock is updated every 2 seconds.
- The implementation should leverage in-memory data structures.