Microsoft Interview Experience || SDE 1 (L60) Noida
RazorPay | Lead Software Engineer | Bangalore
Arctic Wolf Interview Experience (Senior UI Developer)
LinkedIn Interview Experience | IC-2 Infra | Bangalore | Technical Phone Screen
PayPal - Senior Software Engineer Frontend Interview Experience
JPMorgan Chase SDE-3 Java Full stack developer Interview Experience (Bangalore)
Summary
I interviewed for a SDE-3 Java Fullstack Developer role at JPMC in Bangalore. Although I was selected, the offer was for a downleveled SDE-2 role due to my years of experience and performance in the LLD round, which I subsequently declined.
Full Experience
1st Round (Coding)
This round focused on breadth of knowledge rather than depth, as I was asked multiple LeetCode medium-type questions within an hour. I was able to answer most of these since they were quite popular. The interviewer was also helpful, providing hints when needed. While I coded the first question fully, for others, I mainly wrote down the core logic in 2-3 lines. There was also some discussion regarding the work I had highlighted on my resume.
2nd Round (LLD)
Although this round was designated for Low-Level Design, it delved heavily into Java fundamentals and its unique aspects compared to other languages. I was asked about the advantages of new features in Java 21, and to compare Java with languages like Scala (which I have experience with). Concurrency control in Java and its extension to distributed systems was also a major topic. I was given a piece of code to review for issues and another to debug and fix. There was an in-depth discussion about the technologies I've worked with, the design choices I made, and the rationale behind those decisions. This was one of the harder rounds I've experienced, as I was grilled rigorously on every point I brought up.
3rd Round (HLD + Behavioral)
This round was conducted by the Head of the department I was interviewing for. It began with a discussion about the new business initiatives they are building. Following this, behavioral questions were asked about my motivation for joining JPMC and the kind of work I was looking for.
The High-Level Design question involved designing a website capable of taking files/folders (like Aadhar documents) from a user, validating them through a third-party software (which takes 2-3 seconds), storing them in our system, and then providing a tracking link back to the user. Key discussion points revolved around storage strategies (e.g., file metadata in a database, file bytes in S3), managing the validation delay while ensuring a positive user experience (I suggested an asynchronous worker fleet and temporary storage), API design, and scaling considerations for the system.
Ultimately, I was selected for the role but with a downlevel to an SDE-2 position. The primary reasons given were that my overall experience (4.5 YOE) was less than most SDE-3s in their organization (who typically had >6 years), and my performance in the second round specifically did not meet the SDE-3 bar. I chose to decline the offer, despite the compensation being quite good and almost matching an SDE-3 salary to align with my current compensation.
Interview Questions (12)
Discuss the advantages of new features introduced in Java 21.
Compare Java with other languages like Scala, specifically highlighting differences and advantages.
Explain concurrency control mechanisms in Java and how they extend to distributed systems.
I was given a piece of code and asked to review it for potential issues, improvements, or bugs.
I was given a piece of code containing bugs and asked to identify and fix them.
Discussion centered on my motivation for joining JPMC and the type of work I am seeking.
Design a website that allows users to upload files/folders (e.g., Aadhar documents). The system should validate these documents using a third-party software (which takes 2-3 seconds), store them, and provide a tracking link back to the user. Key discussion points included storage mechanisms (file metadata in a DB, file bytes in S3), handling the validation delay while providing a good user experience (e.g., using an async worker fleet and temporary storage), API design, and scaling considerations.
Preparation Tips
My preparation for the coding rounds largely involved practicing popular LeetCode questions, which enabled me to answer most of the problems given they were commonly known. For the LLD and HLD rounds, my preparation was based on my prior professional experience and knowledge of Java fundamentals, distributed systems, and system design principles.