Razorpay SDE2 Interview
Summary
I recently completed an online assessment for the SDE2 role at Razorpay, which involved MCQs and a challenging Low-Level Design question to build a Git-like version control system. Despite significant technical issues with the platform's IDE, I managed to submit my attempt.
Full Experience
I was contacted by a recruiter after a cold DM on LinkedIn regarding an SDE2 position at Razorpay. I took the online assessment in October 2025. The assessment was hosted on a platform called Evaluate and, while not strictly timed, had a 5-day expiration window.
The assessment began with 15 MCQs covering topics like RAG, temperature, TopP, and TopK, which I was unfamiliar with. Each MCQ had a strict 30-second time limit.
The core of the assessment was a Low-Level Design question where I needed to design a Version Control System similar to Git, with a strong emphasis on extensibility. The problem detailed specific functionalities to be implemented: init, add <regex>, checkout {-b}, reset HEAD~{int}, commit (-m and -am), status, log, diff, and help.
Interestingly, the assessment was proctored, but using an AI Code Assistant was explicitly permitted for the LLD problem. I utilized this by researching Git concepts and using ChatGPT to generate some prototype code within the platform's IDE. Unfortunately, the IDE proved buggy; it reverted to a state from several hours prior, causing me to lose all my recent work. Given that it was late and the link was close to expiring, I had to submit what I had. The IDE also presented numerous other bugs throughout the experience.
Interview Questions (1)
Design a Version Control System (VCS) similar to Git, with a strong emphasis on keeping the code extensible. The system should implement the following functionalities:
init: Initialize a new repository.add <regex>: Stage files matching the given regex.checkout {-b}: Switch branches or create a new branch if-bis specified.reset HEAD~{int}: Reset to a previous state, discarding changes.commit (-m and -am): Commit staged changes with a message, with options for direct commit and staging+commit.status: Show the working tree status.log: Display commit history.diff: Show changes between commits, working tree, etc.help: Provide usage information.
Preparation Tips
My preparation involved researching Git's architecture and functionalities. During the assessment, I leveraged an AI Code Assistant (ChatGPT) to help prototype code for the Low-Level Design problem, as this was explicitly allowed by the instructions.