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
Online Assessment (OA)
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.
Round 1 – DSA + PR Review
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.
Round 2 – System Design
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.
Round 3 – Behavioral
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.
Round 4 – Team Matching (Post-Offer Discussion)
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.


