SDE - 1 BACKEND ZET YOE 1
Summary
I successfully navigated a five-round interview process for the SDE-1 Backend position at Zet, covering Data Structures & Algorithms, System Design, and behavioral aspects, ultimately resulting in an offer.
Full Experience
I recently had an enriching interview experience at Zet for the SDE-1 Backend position. My journey began when I applied through Naukri.com, and my resume was quickly shortlisted, leading to an interview process comprising five distinct rounds.
Round 1: DSA + Problem Solving (Online Coding Interview)
This was a 60-minute live coding session where the interviewer emphasized optimal solutions and clear communication. I was given two problems:
- Spiral Order Traversal of a Matrix
- Group Anagrams
I successfully solved both questions within approximately 35 minutes, providing a complete explanation of my approach, code, and an analysis of their time and space complexity. The interviewer was impressed with the clarity and optimization of my solutions, giving very positive feedback.
Round 2: Technical + Low-Level Design
This 75-minute round was a comprehensive blend of core backend concepts, system design, and live coding. We discussed various topics:
- What is Caching? I explained its definition and different types (application, DB, distributed) and shared how I've implemented caching in my previous roles.
- What is an LRU cache? I elaborated on its mechanism.
- For live coding, I implemented the LeetCode LRU Cache problem using a HashMap and a Doubly Linked List. I delivered a complete and working solution with correct logic and modularity, which pleased the interviewer.
- Additional concepts covered included Context Switching, the differences between Multiprocessing vs. Multithreading, and Processes vs. Threads.
I received positive feedback, though the interviewer suggested I should brush up even more on core subject knowledge, particularly OS concepts.
Round 3: Hiring Manager Round
This round primarily focused on my project experience, a deep dive into my resume, and behavioral evaluation. After introductions, I was asked to walk through the architecture and flow of a main product I had worked on. We delved into tech decisions, scaling challenges, and how I collaborated with my team. Behavioral questions included:
- How do I handle tight deadlines?
- A time when I disagreed with my team.
- What motivates me?
The feedback for this round was again positive; the HM appreciated my ownership and clarity regarding my responsibilities.
Round 4: HR Discussion
This round was a standard cultural fit and motivations discussion. We covered my career journey, reasons for seeking new opportunities, why Zet, and my long-term career goals. We also discussed my notice period and salary expectations. The conversation flowed smoothly, ensuring alignment with Zet’s vision and culture.
Round 5: Hiring Manager Calibration Round
The final round was a short, non-technical 15-minute session with the Hiring Manager. In this round, the HM explained the role and responsibilities, confirmed mutual expectations, and officially informed me that the team was moving forward with my selection as an SDE-1 Backend Engineer.
Interview Questions (11)
Given an m x n matrix, return all elements of the matrix in spiral order.
Given an array of strings strs, group the anagrams together. You can return the answer in any order.
Explain what caching is, its different types (application, DB, distributed), and how you implemented it in your previous roles.
Explain what an LRU (Least Recently Used) cache is and its underlying principles.
Design and implement a data structure for a Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key): Get the value of the key if the key exists in the cache, otherwise return -1. put(key, value): Set or insert the value if the key is not already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item. Implement the LRU cache with a HashMap and Doubly Linked List.
Explain what context switching is in operating systems.
Describe the differences between multiprocessing and multithreading.
Explain the distinctions between processes and threads.
Describe how you handle situations with tight deadlines.
Share an experience where you disagreed with your team and how you resolved it.
What motivates you in your professional life?