Summary
I interviewed with RSA Security for a Backend Engineer role, navigating through multiple technical and managerial rounds. The process involved discussions on my projects, backend fundamentals, DSA, Java specifics, and system design. Although I received an offer, I ultimately declined it for a more competitive opportunity.
Full Experience
Round 1 ā Technical Screening (1 hour)
This round was a blend of project discussions, backend basics, and a quick DSA question. We talked about my previous projects and their architecture. Specific REST API questions included when to use certain HTTP actions for login validation and the differences between PUT and POST. Overall, it focused on conceptual understanding and basic backend knowledge.
Round 2 ā Deep Technical (Java + Spring Boot + Microservices)
This round delved much deeper into backend architecture and Java fundamentals. We started with a detailed walkthrough of my projects. Topics covered included API Gateways, particularly APIGEE/APIM, the advantages of microservices, and various inter-service communication patterns (synchronous/asynchronous, REST, Kafka). We also discussed the internal workings of SpringApplication.run() and the reasons to choose Spring Boot over traditional Spring. I was given a coding question to validate an IPv4 address without regex, including requirements for four dot-separated groups, 0-255 range for each, and handling leading zeros. A follow-up asked for edge case fixes and logic optimization. Additionally, there was a Java question to determine the output of a specific code snippet involving an uninitialized String variable.
Round 3 ā Hiring Manager Round (Project + System Knowledge)
This was a more conversational round, heavily focused on my project work at UBS. We discussed my day-to-day activities and the tech stack I used. The manager asked me to self-rate my skills in Java, React.js, AI/ML familiarity, and cloud experience. We also touched upon API versioning strategies, how to design idempotent REST APIs, and the inner workings of JWT, including how I've implemented it. My notice period and CTC expectations were also discussed, along with my motivation to move to Bangalore.
HR Round ā Compensation + Fitment Discussion
This final round covered standard HR topics, including an introduction about myself, my expectations from RSA, reasons for moving to Bangalore, and why I was interested in RSA Security. We then discussed compensation. I was offered a base salary of ā¹16.82 LPA and a total CTC of ~ā¹18.6 LPA for the Bangalore location.
Ultimately, I rejected the offer as I had secured another offer with a higher base salary of 23 LPA and a total CTC of 30.6 LPA.
Interview Questions (10)
Which HTTP action should be used for validating login details?
What is the difference between PUT and POST HTTP methods?
What are the advantages of using microservices architecture?
Explain what happens internally when SpringApplication.run() is called in a Spring Boot application.
Why would one choose Spring Boot over traditional Spring Framework?
Implement a function to validate an IPv4 address without using regular expressions. Requirements include:
- Must contain 4 groups separated by
. - Each group must be between 0 and 255
- No leading zeros (except for '0' itself).
Examples:
ā
10.0.12.35ā Valid ā10.35.01.25ā Invalid Follow-up: Fix edge cases and optimize logic.
Analyze the following Java code snippet and determine its output or behavior:
String str;
if(false || str.equals("abc")) {
return true;
}
return false;
Discuss different strategies for API versioning.
How would you design idempotent REST APIs?
Explain how JSON Web Tokens (JWT) work and how you have implemented them in your projects.