KMB | SDE - 2 | Bangalore | July 2024 [Offer]

kmb logo
kmb
SDE 2Bangalore3 yearsOffer
August 18, 202418 reads

Summary

I recently interviewed for an SDE 2 role at KMB in Bangalore and successfully received an offer. The interview process spanned three rounds, covering Data Structures and Algorithms, Low-Level Design, High-Level Design, and behavioral aspects.

Full Experience

My Interview Journey at KMB

Round 1 (Bar Raiser) - 1 hr 30 min

This round was conducted by a third party. It was split into three sections:

  • DSA (30 min): I was asked two medium-difficulty questions.
  • LLD (30 min): I had to design the backend components for an online marketplace, considering features like user authentication, product listing, search, shopping cart, and order management. My approach involved creating classes, an ER diagram, and API designs.
  • Tech (30 min): This segment covered design patterns, caching (specifically Redis and CDN), Kafka, distributed system concepts, and sharding.

Round 2 (DSA) - 1 hr

This round was taken by an Engineering Manager from Kotak. I was presented with a problem involving a data stream:

/*Stream s = new Stream();
s.add(2);
s.getFirstUnique(); // 2
s.add(2);
s.getFirstUnique(); // null
s.add(3);
s.getFirstUnique(); // 3
s.add(4);
s.getFirstUnique(); // 3
s.add(3);
s.getFirstUnique(); // 4

I implemented this using an LRU (Least Recently Used) approach.

Round 3 (Hiring Manager) - 1 hr

This final round included a High-Level Design discussion, which was centered around designing a survey system. Additionally, I was asked some standard behavioral questions.

Verdict: I was selected for the role!

My notice period is 3 months.

Compensation details are available here.

Interview Questions (3)

Q1
Design an Online Marketplace Backend
System Design

Design the backend components for an online marketplace where users can buy and sell products. Consider features such as user authentication, product listing, search functionality, shopping cart, and order management.

Q2
First Unique Number in a Data Stream
Data Structures & AlgorithmsMedium

Implement a data stream structure with an add(int val) method and a getFirstUnique() method. getFirstUnique() should return the first non-repeating number currently in the stream, or null if all numbers have duplicates. Example: s.add(2); s.getFirstUnique(); // 2; s.add(2); s.getFirstUnique(); // null; s.add(3); s.getFirstUnique(); // 3; s.add(4); s.getFirstUnique(); // 3; s.add(3); s.getFirstUnique(); // 4

Q3
Design a Survey System (HLD)
System Design

Design a high-level architecture for a survey system.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!