JPMorgan Chase & Co. | SWE 2 | Associate (Java/Python Developer) | Bangalore | Interview Experience
Anonymous User
1805

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 🎉

Comments (8)