JPMC SDE3 Interview experience
Summary
I interviewed for an SDE3 position at J.P. Morgan Chase, going through three rounds that included behavioral questions, code reviews, core Java concepts, and a system design challenge. I received an offer, but it was for an SDE2 role, which I ultimately rejected due to the downgrade and comparable compensation to my current role.
Full Experience
I recently completed an interview process for an SDE 3 position at J.P. Morgan Chase, which spanned three distinct rounds.
The first round was led by a senior associate, an SDE 3 themselves. It began with typical behavioral questions, after which I was presented with a code snippet. My task was to review this code, identify potential issues, and suggest improvements. This round concluded with several questions focused on core Java concepts.
My second round was with a Principal Engineer, an Executive Director. The main challenge here was to design a Balance API service capable of ingesting events from other APIs and accurately maintaining user balances. We delved deep into various design choices and considerations. I felt this interview went particularly well, largely due to the interviewer's expertise and helpful demeanor.
The third and final round was conducted by a VP of Engineering. This round also started with behavioral questions, followed by discussions about my past projects. Interestingly, the interviewer referenced the code snippet from my first round, posing further questions specifically about concurrency and thread safety in that context. Like the first round, it wrapped up with more core Java questions.
Later, the recruiter informed me that the offer was for an SDE2 position, a downgrade from the SDE3 role I had interviewed for. I decided to reject the offer, as I am currently a Senior Software Engineer and did not wish for a career downgrade on my CV, especially since the compensation offered was very similar to my current package.
Interview Questions (1)
Design a Balance API service that ingests events from other APIs and accurately keeps track of user balances. Discuss various design choices and considerations.