Kotak SDE 1 Interview Round 1
Summary
I had an SDE 1 interview at Kotak, which included rounds on Data Structures & Algorithms, Low-Level Design, and Distributed Systems, and received positive feedback.
Full Experience
The interview was divided into 3 parts - DSA, LLD, and Distributed Systems Questions. It lasted for 1.5 hours.
DSA - both were LeetCode easy (1) Two Sum (2) Length of last word in a sentence.
LLD We discussed designing a system similar to Swiggy/Zomato. The interviewer focused on API designs, wanting to hear about Design Principles (OOP + SOLID) and Patterns.
Standard Distributed Systems Questions Topics included the CAP Theorem, Eventual and Strong Consistency, and API Status Codes. She also asked a specific question: If your system is crashing, which replication would you focus on the most? The options were: Database, Cache, Message Broker, Server. The correct answer I found was: Server -> Cache -> Broker -> DB.
The feedback was positive!!
Interview Questions (7)
Two Sum
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice.
Length of Last Word
Given a string s consisting of words and spaces, return the length of the last word in the string. A word is a maximal substring consisting of non-space characters only.
Low-Level Design for Food Delivery App (Swiggy/Zomato)
Design a Low-Level system for a food delivery application similar to Swiggy or Zomato. The discussion focused on API designs, Object-Oriented Programming (OOP) principles (including SOLID), and design patterns.
Explain CAP Theorem
Explain the CAP Theorem and its implications in distributed systems.
Eventual vs. Strong Consistency
Differentiate between Eventual Consistency and Strong Consistency in the context of distributed systems.
Discuss API Status Codes
Discuss the common API Status Codes and their appropriate usage.
Distributed System Recovery Prioritization
If your system is crashing, which replication would you focus on the most from the given options: Database, Cache, Message Broker, Server?
Preparation Tips
I found this resource to be a good resource for Distributed Systems: https://mentorcruise.com/questions/distributedsystems/