I have around 2.5 years of industry experience, and I recently appeared for the Software Engineer 2 (Associate) position at JPMorgan Chase, Bangalore. The role was for a Java/Python Developer, but all the assessments and interviews were conducted strictly in Java — no other language option was provided.
The entire interview journey was quite well-structured and covered multiple aspects of software engineering — from coding and system design to code review and behavioral discussions. After the technical rounds, there was also a team matching discussion post-offer to finalize the placement within a team.
Here’s a detailed breakdown of my experience
There were 2 medium-level coding questions.
Both were quite similar to the “Maximum Number of Overlapping Intervals” problem — the logic was essentially the same, though the wording and context were different.
This round was conducted on HackerRank CodePair.
It began with a Pull Request (PR) review task.
I was asked to review a piece of code, identify issues, and suggest improvements.
My feedback included:
Fixing compile-time errors
Improving variable naming conventions
Applying proper data-hiding concepts
Writing cleaner, modular functions
I added my comments directly in the code.
After that, the interviewer asked me to run the code — there was an import issue I couldn’t fully resolve, but since the rest of my feedback was strong, we moved on to the DSA question.
You are given k circular dials (each containing characters ‘A’–‘Z’) and a target string s.
Initially, all dials point to ‘A’.
In one move, you may rotate any one dial clockwise or counter-clockwise by one step.
You can type a letter only if at least one dial currently points to that letter.
Find the minimum total number of moves required to type the string s sequentially.The discussion revolved around optimizing both time and space complexity while maintaining clean, readable code.
This was a high-level design discussion on building a Rate Limiter.
We covered:
Functional and non-functional requirements
API design and data flow
Database schema
Cost estimation and scalability
Full HLD diagram and component interaction
We also discussed use of caching (why and what type: read-through vs write-back), API call patterns and performance considerations and horizontal scaling strategies. Overall, it was an in-depth and engaging discussion.
This was a standard behavioral interview with questions like:
What challenges did you face in your recent projects, and how did you overcome them?
Describe an innovative solution you implemented.
How do you handle conflicts with teammates or managers?
The interviewer mainly assessed communication, ownership, and problem-solving mindset.
After receiving the offer, I had a Team Matching round where I spoke with a potential hiring manager.
The discussion was centered around:
My previous projects and technical contributions
Why I wanted to join JPMC
Reasons for moving on from my previous organization
My interests and preferred tech stack
It was more of a mutual fitment discussion than an evaluation round.