Summary
I recently interviewed for an SDE-I FullStack position at Khatabook in Bengaluru. The comprehensive interview process, which spanned about a month, included rounds covering Problem Solving & Data Structures, Low-Level Design with Data Structures & Algorithms, and a final CEO/Cultural Fit discussion. I have been shortlisted, and an official offer is pending due to current holidays.
Full Experience
Application & Process Overview
I applied directly and also via Gmail for the SDE-I FullStack position at Khatabook. With 1.6 years of experience, I was informed that I've been shortlisted, with the official offer letter currently pending due to the ongoing 'Great Indian Festival' holidays. The entire application and interview process took approximately one month.
Round 1: PSDS (~60 minutes)
This round commenced with an in-depth discussion about my resume and previous projects, particularly my practical experience with Java and SpringBoot. Following that, I was presented with two Data Structures & Algorithms problems:
- Merge Intervals: I had to merge all overlapping intervals from a given array and return a new array of non-overlapping intervals.
- Capacity To Ship Packages Within D Days: The challenge was to find the least weight capacity required for a conveyor belt to ship all packages within a specified number of days.
Round 2: LLD + DSA (~90 minutes)
The Low-Level Design (LLD) segment started with a discussion about design patterns I've utilized in my projects, such as Singleton, Factory, and Strategy, and their practical use-cases. The primary LLD task was to design the core system for DuoLingo, with a significant emphasis on database schema design. We discussed key entities like Users, Courses, and Modules (which included a type enum for AUDIO/VIDEO/MCQ content), and established their relationships, such as a Course containing multiple Modules. I proposed a UserProgress table to track individual user progress across modules. For bonus features, we explored designing a global and friends leaderboard system. For live contests, I suggested matching users based on similar course completion history, learning streaks, or overall experience points. Additionally, I recommended query optimizations, specifically indexing on user_id and module_id within the UserProgress table for faster lookups. The DSA part of this round involved:
- Rotting Oranges: I was given a grid representing oranges and had to determine the minimum time for all fresh oranges to rot, or return -1 if impossible.
Round 3: CEO & Cultural Fit Round (~30 minutes)
This final round was a high-level discussion focusing on product vision and cultural alignment. I was asked questions about Khatabook's product, its vision, how it has grown, and to identify its potential competitors in the fintech/accounting space. Scenarios were presented to gauge my product ownership mindset. We also discussed my motivation for wanting to join Khatabook and how my long-term career goals align with the company's direction.
Final Outcome
I received a call from HR informing me that I have been shortlisted for the position. However, the official offer letter is yet to be dispatched due to the ongoing 'Great Indian Festival' holidays.
Interview Questions (6)
Design the core system for DuoLingo, with a heavy focus on database schema. Key entities discussed included Users, Courses, and Modules (with a type enum: AUDIO/VIDEO/MCQ). Relationships such as a Course having many Modules, and a UserProgress table to track progress per user per module were explored. Bonus features like a Leaderboard system, Live Contests (matching users based on similar course completion history, streak, or overall XP), and query optimizations (e.g., indexing on user_id and module_id in UserProgress) were also part of the discussion.
You are given an m x n grid where each cell can have one of three values: 0 representing an empty cell, 1 representing a fresh orange, or 2 representing a rotten orange. Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no fresh oranges remain. If this is impossible, return -1.
I was asked about Khatabook's product, its vision, how it has grown, and to identify its potential competitors in the fintech/accounting space.
The interviewer probed into my reasons for wanting to join Khatabook and how my long-term career aspirations align with the company's strategic direction.