Kotak Mahindra Interview Experience (SDE2)
Summary
I recently interviewed with Kotak Mahindra for an SDE 2 role, which spanned three rounds covering Data Structures & Algorithms, general distributed systems concepts, and a Low-Level Design problem.
Full Experience
My interview journey with Kotak Mahindra for an SDE 2 position was structured across three distinct rounds.
The first round, a Barraiser round, tested my foundational knowledge. I was presented with standard DSA problems like Two Sum, Search in Rotated Sorted Array, and Set Matrix Zeroes. Beyond coding, we also delved into general concepts related to distributed systems, which required a broader understanding of architectural principles.
The second round was purely focused on Data Structures and Algorithms. This round was quite challenging, featuring problems such as First Missing Positive, which I found particularly tough to solve, Burst Balloons, and Longest Increasing Path in a Matrix. This round truly pushed my problem-solving abilities.
Finally, the third round was a Low-Level Design (LLD) challenge. I was tasked with designing a Hospital Management System. The key requirements included patient registration with priority assignment, a priority queue for patients, an initial consultation process by a doctor, subsequent assignment to specialist doctors, and maintaining comprehensive treatment records. This round assessed my ability to translate abstract requirements into a robust system design.
Interview Questions (7)
There is an integer array nums sorted in ascending order (with distinct values). Prior to being passed to your function, nums is possibly rotated at an unknown pivot index k (1 <= k < nums.length) such that the resulting array is [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]] (0-indexed). For example, [0,1,2,4,5,6,7] might be rotated at pivot index 3 and become [4,5,6,7,0,1,2]. Given the array nums after the possible rotation and an integer target, return the index of target if it is in nums, or -1 if it is not in nums.
You are given n balloons, indexed from 0 to n - 1. Each balloon is painted with a number on it represented by nums[i]. You are asked to burst all the balloons. If you burst the i-th balloon, you will get nums[left] * nums[i] * nums[right] coins. left and right are adjacent indices of i. After the burst, the left and right then become adjacent. Find the maximum coins you can collect by bursting the balloons wisely.
Design a Hospital Management System. Requirements:
- Patients are first registered at Reception, who assigns them a priority level (Critical, High, Medium, Low).
- Patients wait in a priority queue.
- An Initial Consultation Doctor picks the next patient from the queue.
- After consultation, patient is assigned to a Specialist Doctor.
- System should maintain treatment records.