Summary
I successfully navigated a multi-round interview process at JPMorgan for an SDE 3 role in Mumbai, despite being unprepared, and received an offer after completing a HackerRank assessment, coding, system design, and behavioral rounds.
Full Experience
HackerRank Coding Assessment:
I received an online assessment consisting of 2 data structure-based questions. While I don’t recall the exact problems, One were Related to Graph and other was one medium leetcode question.
Interview Process:
I got a call approximately 1/1.5 month after the assessment, and all three rounds were conducted on the next day. I was not prepared at all but luckily I cracked all the rounds.
Round 1: Coding + Code Review
- Coding Problem: I was given a problem similar to https://leetcode.com/problems/group-anagrams/description/, but with enhanced requirements. I proactively asked for all possible edge cases and incorporated them into my solution. The problem was further extended with additional constraints and complexities as we progressed, and I addressed those enhancements accordingly.
- Code Review: I was given a piece of code and asked to review it—pointing out potential issues, improvements, and suggesting best practices.
- Expect Java / Springboot related questions in between above interviews
Round 2: System Design (LLD + HLD)
- I was asked to design a basic Low-Level Design (LLD) for a Delivery Partner App.
- The interviewer provided a basic High-Level Design (HLD) and asked me to suggest improvements. I was also asked to walk through each component and explain the end-to-end flow in detail.
Round 3: Behavioral Round
This round was scheduled for 45 minutes, but it ended in just 25 minutes.
I think The interviewer seemed very satisfied with my responses and appeared impressed by my confidence, clarity, and experience.
Some of the scenario-based questions I was asked:
- How do you collaborate with different teams?
- How do you stay up to date with the latest technologies and trends?
- How do you handle situations when junior team members are not focused or underperforming?
Interview Questions (7)
I was given a problem similar to https://leetcode.com/problems/group-anagrams/description/, but with enhanced requirements. I proactively asked for all possible edge cases and incorporated them into my solution. The problem was further extended with additional constraints and complexities as we progressed, and I addressed those enhancements accordingly.
I was given a piece of code and asked to review it—pointing out potential issues, improvements, and suggesting best practices.
I was asked to design a basic Low-Level Design (LLD) for a Delivery Partner App.
The interviewer provided a basic High-Level Design (HLD) and asked me to suggest improvements. I was also asked to walk through each component and explain the end-to-end flow in detail.
How do you collaborate with different teams?
How do you stay up to date with the latest technologies and trends?
How do you handle situations when junior team members are not focused or underperforming?
Preparation Tips
I was not prepared at all.
Summary
I received an online coding assessment invitation from WePay, a subsidiary of JP Morgan, for a Software Engineer role. I completed two interesting LeetCode questions, including 'Sliding Puzzle', but ultimately received a template rejection email as I anticipated.
Full Experience
I received an invitation from WePay for a coding challenge. Before attempting it, I had a feeling it might lead to an automated rejection, so I tried replying to the invitation email with a small question, but received no response. Despite this, I logged into HackerRank as I had some free time and wanted to document the questions.
There were two quite interesting LeetCode problems. I quickly solved both: the first easy one using two methods, including a one-liner, and the second one, which was 'Sliding Puzzle', using Alex Wice's heap-priority queue method. Only one edge case for 'Sliding Puzzle' wasn't passing.
I meticulously added detailed Time/Memory Complexities, docstrings, and type hinting (in Python3) before submitting my answers.
As expected, I received a template rejection email. I believe this was partly because I wasn't a good fit, and there had been no prior communication from HR or the Hiring Manager. However, I still valued the experience.
Interview Questions (2)
Given an array of integers and a target value, determine if there exist two elements in the array (at different indices) such that their sum equals the target. Return true if such a pair exists, false otherwise.
On a 2x3 board, there are five numbers from 1 to 5 and an empty square represented by 0. A move consists of swapping 0 with any adjacent number (up, down, left, or right). The goal is to return the minimum number of moves required to transform the board from the starting state to the target state [[1,2,3],[4,5,0]]. If it's impossible to reach the target state, return -1.