BharatPe Interview Experience (SDE-1)

bharatpe logo
bharatpe
Backend Developer (SDE-1)1.5 years
April 22, 2025 โ€ข 21 reads

Summary

I recently interviewed for a Backend Developer role at BharatPe, which included rounds on Data Structures & Algorithms, System Design, Java & Spring Boot concepts, and a Low-Level Design task. My key takeaways emphasized understanding problems, clear communication, clarifying requirements, evaluating trade-offs, and testing designs.

Full Experience

๐Ÿš€ BharatPe Interview Experience โ€“ Backend Developer (1.5 - 2 Years Experience) I recently interviewed for a Backend Developer role at BharatPe. Here's a breakdown of the process and my key takeaways:โ€‹

๐Ÿง  Round 1: Data Structures & Algorithms

  1. Sliding Window Maximum Problem: Given an array of integers nums, implement a sliding window of size k moving from left to right, returning the maximum in each window. Approach: Utilized a deque to efficiently track the maximums in O(n) time.โ€‹

  2. Minimum Insertions and Deletions Problem: Given strings A and B, find the minimum number of insertions and deletions to convert A to B. Approach: Applied dynamic programming, similar to the Edit Distance problem, to determine the optimal operations.โ€‹

๐Ÿ› ๏ธ Round 2: System Design, Java & Spring Boot Concepts

a. API Design Considerations Discussed pagination and filtering to enhance API performance. Explored testing and monitoring tools, focusing on Grafana and NewRelic, and how to set up alerts and monitor API performance.โ€‹

b. GoLang Insights Explained GoRoutines and their Java equivalents using threads and executors. Discussed integrating metrics in GoLang services using Prometheus and its role in monitoring.โ€‹

c. SQL vs. NoSQL

Compared scaling strategies and data structures. Delved into vertical vs. horizontal scaling and their implications.โ€‹

d. Messaging Queues

Explored Kafka's functionalities, including replicas across brokers and strategies for fault tolerance using parent and child replicas.โ€‹

e. Spring Boot Fundamentals

Discussed dependency injection, key features, and the Inversion of Control (IoC) container. Highlighted advantages of Spring Boot over the traditional Spring framework.โ€‹

f. Low-Level Design (LLD): Notification Service

Task: Design a Notification Service capable of sending emails, SMS, and push notifications, respecting user preferences and ensuring scalability.โ€‹ Key Requirements: Support multiple notification channels (Email, SMS, Push). Implement user preferences for notification types and channels. Design APIs for sending notifications and managing user preferences. Utilize appropriate design patterns (e.g., Factory and Observer) to ensure modularity and scalability.โ€‹

๐ŸŽฏ Key takeaways from the interview. ๐Ÿง  Understand the Problem Before Jumping to Code It's crucial to fully comprehend the problem statement and constraints before diving into coding.

๐Ÿ”„ Communicate Your Thought Process Clearly Articulate your approach and reasoning behind design decisions.

๐Ÿ› ๏ธ Clarify Requirements Before Designing Clarifying functional and non-functional requirements ensures that your design aligns with the interviewer's expectations.

โš–๏ธ Evaluate Trade-offs and Alternatives Present different design options, discuss their pros and cons, and justify your choices.

๐Ÿงช Test Your Design with Realistic Scenarios Evaluate your design against potential edge cases and real-world scenarios

Interview Questions (3)

Q1
Sliding Window Maximum
Data Structures & Algorithms

Given an array of integers nums, implement a sliding window of size k moving from left to right, returning the maximum in each window.

Q2
Minimum Insertions and Deletions
Data Structures & Algorithms

Given strings A and B, find the minimum number of insertions and deletions to convert A to B.

Q3
Low-Level Design: Notification Service
System Design

Design a Notification Service capable of sending emails, SMS, and push notifications, respecting user preferences and ensuring scalability. Key Requirements: Support multiple notification channels (Email, SMS, Push). Implement user preferences for notification types and channels. Design APIs for sending notifications and managing user preferences.

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!