Razorpay SDE2 Interview

razorpay logo
razorpay
SDE II4.25 yearsOngoing
October 13, 202513 reads

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)

Q1
Low-Level Design: Git Version Control System
System DesignHard

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:

  1. init: Initialize a new repository.
  2. add <regex>: Stage files matching the given regex.
  3. checkout {-b}: Switch branches or create a new branch if -b is specified.
  4. reset HEAD~{int}: Reset to a previous state, discarding changes.
  5. commit (-m and -am): Commit staged changes with a message, with options for direct commit and staging+commit.
  6. status: Show the working tree status.
  7. log: Display commit history.
  8. diff: Show changes between commits, working tree, etc.
  9. 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.

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!