JPMorgan Chase & Co. | SWE 2 | Associate (Java/Python Developer) | Bangalore | Interview Experience
Summary
Applied for Software Engineer 2 (Associate) role at JPMorgan Chase, Bangalore. Interview process included online assessment, DSA + PR review, system design, behavioral, and team matching. Selected for the position.
Full Experience
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.
Verdict: Selected 🎉
Interview Questions (1)
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.
Preparation Tips
Preparation focused on coding problems, system design concepts, and code review practices. Practiced medium-level algorithmic problems and reviewed code for best practices.