Chargebee | Software Engineer | Backend | June 2024
Summary
I interviewed for a Software Engineer SDE 1 (Backend) position at Chargebee in Chennai, India. The process involved multiple technical rounds covering coding, SQL, system design, and behavioral aspects. I successfully cleared all rounds and received an offer, which I accepted in July 2024.
Full Experience
My interview journey for the SDE 1 Backend role at Chargebee began with an online test, which included one medium coding question, five SQL questions (mostly involving window functions), and five aptitude questions. I did not attempt the C++ debug question.
The subsequent rounds were conducted in-office in Chennai.
Round 2 (Online Screening Round)
This was a technical screening round where the interviewer asked an easy coding question. We also discussed my current organization's work, hard challenges I've faced, and my approach to solving them.- Question 1: I was given an 8x8 chessboard and a piece X and asked to find all its possible moves. Specifically, I had to solve for knight moves, demonstrating an approach beyond a naive one.
Round 3 (Offline Technical Interview)
An engineering manager took this round. It covered coding, SQL, and a puzzle. There were also discussions about my previous work experience, reasons for switching jobs, and my past experience.- Question 1 (System Design): I had to explain my approach to designing an auto-increment feature that supports multiple sequences concurrently with a reset mechanism.
- Question 2 (DSA): Given a range A to B, I needed to find all numbers whose set bit (1) count is a prime number.
- Question 3 (Puzzle): I was presented with the classic "Find the Fastest 3 Horses" puzzle.
- Question 4 (System Design & SQL): I was asked to choose an appropriate database for a vaccination tracking system (I suggested MySQL) and design its schema. Additionally, I had to write a SQL query to find individuals who have received exactly 'n' doses, where n is a non-negative integer.
Round 4 (Offline Technical Interview)
This final technical round was with the CTO. It involved standard questions about career goals, reasons for switching, past work experience, and an in-depth technical discussion, primarily focused on system design.- Question 1 (System Design): I discussed scenarios in which I would implement retries when integrating a payment gateway.
- Question 2 (System Design): I explained how to ensure clients do not make unnecessary retries if I were part of a payment gateway team.
- Question 3 (System Design): I outlined how to prevent a client from retrying a payment that has already been successfully processed.
- Question 4 (System Design): I was tasked with designing a system for a NEET result publishing website, specifically addressing how to handle quick traffic spikes.
Conclusion
I was informed by HR that I had cleared all rounds and received an offer two days later, which I happily accepted.Interview Questions (10)
Given an 8x8 chess board and a piece X, find all its possible moves. Specifically, I was asked to solve for knight moves, expecting an approach other than a naive one.
I was asked to explain my approach to designing an auto-increment feature that supports multiple sequences concurrently and includes a reset mechanism.
Given a range [A, B], find all numbers within this range whose set bit (1) count is a prime number.
I was asked to choose an appropriate database for a vaccination tracking system (I suggested MySQL), and then design a schema for it.
Write a SQL query to find individuals who have received exactly 'n' doses of a vaccine, where n can be any non-negative integer (n>=0).
I was asked to describe scenarios in which I would implement retries if I were integrating a payment gateway.
Assuming I was part of a payment gateway team, how would I ensure that clients do not make unnecessary retries for payments?
How would I prevent a client from retrying a payment that has already been successfully processed?
I was tasked with designing a system for a NEET (National Eligibility cum Entrance Test) result publishing website, specifically addressing how to handle quick traffic spikes.