JPMC SDE 2 Interview Experience | Offered SDE 3 | India | 2025 |
SDE 2JP Morgan Chase | SDE 3 | YOE 3.4
SDE 3JPMorgan Chase SDE-3 Java Full stack developer Interview Experience (Bangalore)
SDE-3 Java Fullstack DeveloperJP Morgan Cohort Hiring | November 2025
SWE 2/SWE 3JPMC SDE 3 Interview Exp
SDE 39 more experiences below
Summary
Secured an SDE-3 offer at JPMC after a rigorous interview process that included coding, system design, and behavioral rounds. The System Design and Behavioral interviews were pivotal in upgrading the offer from SDE-2 to SDE-3.
Full Experience
I'm a SDE-1 at a FinTech company with 3.5 years of experience. After solving two DSA problems on HackerRank, I received an interview call. The process consisted of three rounds scheduled back-to-back on the same day with only 5-minute gaps.
First, I had a coding round with a code review and a DSA problem involving a circular array. Then, I tackled a system design task for an API rate limiter, which involved deep technical discussions and some disagreements on design choices. Finally, I faced a managerial/behavioral round focusing on communication, leadership, and real project experiences.
Despite the intensity, I received positive feedback from the recruiter and a 15-minute hiring manager round. After about 10 days, I was offered an SDE-3 position, with the system design and behavioral rounds playing a key role in the offer upgrade.
Interview Questions (2)
Solved a problem based on arrays with a circular array concept. The task involved identifying or manipulating elements in a circular array structure, with all test cases passed successfully.
Designed a High-Level Design for an API Rate Limiter. The discussion focused on design choices, trade-offs, scalability, and failure handling. There were strong disagreements on some decisions, with some points accepted and others rejected.
Summary
After clearing a HackerRank test, I was invited for a Super Day consisting of three rounds: System Design, Managerial, and Data Structures & Algorithms. Following the interviews, my documents were verified, leading to an HR discussion.
Full Experience
I received an interview call from HR after successfully completing a HackerRank assessment. My Super Day was scheduled for the first week of November, 2025. Two days after the Super Day, HR contacted me for the next steps, which involved verifying a few documents, followed by an HR discussion.
Round 1: System Design
This round focused on designing a Movie Ticket Booking system. The interviewer expected a detailed discussion covering various aspects:
1. Defining system requirements.
2. Proposing a suitable database schema.
3. Presenting both High-Level Design (HLD) and Low-Level Design (LLD), including class diagrams and snippets of code.
4. Discussing potential scaling strategies for the system.
Throughout the discussion, the interviewer also interjected with a few medium-level technical questions.
Round 2: Managerial Round
This was a standard managerial round where the questions were mostly behavioral and project-based. Key discussions included:
1. How I would handle conflicts with colleagues.
2. In-depth questions about my previous projects.
Round 3: DSA
The final technical round was centered around Data Structures and Algorithms.
1. I was given a medium-level problem based on trees, for which I had to propose two different approaches.
2. There was also a code review exercise.
Interview Questions (2)
Design a Movie Ticket Booking system. This included defining system requirements, creating a database schema, presenting High-Level Design (HLD) and Low-Level Design (LLD) with class diagrams and some code, and discussing scaling strategies. The interviewer also asked several medium-level technical questions throughout the discussion.
I was asked to describe how I would handle conflicts with colleagues in a professional setting.
Summary
I interviewed for a SDE-3 Java Fullstack Developer role at JPMC in Bangalore. Although I was selected, the offer was for a downleveled SDE-2 role due to my years of experience and performance in the LLD round, which I subsequently declined.
Full Experience
1st Round (Coding)
This round focused on breadth of knowledge rather than depth, as I was asked multiple LeetCode medium-type questions within an hour. I was able to answer most of these since they were quite popular. The interviewer was also helpful, providing hints when needed. While I coded the first question fully, for others, I mainly wrote down the core logic in 2-3 lines. There was also some discussion regarding the work I had highlighted on my resume.
2nd Round (LLD)
Although this round was designated for Low-Level Design, it delved heavily into Java fundamentals and its unique aspects compared to other languages. I was asked about the advantages of new features in Java 21, and to compare Java with languages like Scala (which I have experience with). Concurrency control in Java and its extension to distributed systems was also a major topic. I was given a piece of code to review for issues and another to debug and fix. There was an in-depth discussion about the technologies I've worked with, the design choices I made, and the rationale behind those decisions. This was one of the harder rounds I've experienced, as I was grilled rigorously on every point I brought up.
3rd Round (HLD + Behavioral)
This round was conducted by the Head of the department I was interviewing for. It began with a discussion about the new business initiatives they are building. Following this, behavioral questions were asked about my motivation for joining JPMC and the kind of work I was looking for.
The High-Level Design question involved designing a website capable of taking files/folders (like Aadhar documents) from a user, validating them through a third-party software (which takes 2-3 seconds), storing them in our system, and then providing a tracking link back to the user. Key discussion points revolved around storage strategies (e.g., file metadata in a database, file bytes in S3), managing the validation delay while ensuring a positive user experience (I suggested an asynchronous worker fleet and temporary storage), API design, and scaling considerations for the system.
Ultimately, I was selected for the role but with a downlevel to an SDE-2 position. The primary reasons given were that my overall experience (4.5 YOE) was less than most SDE-3s in their organization (who typically had >6 years), and my performance in the second round specifically did not meet the SDE-3 bar. I chose to decline the offer, despite the compensation being quite good and almost matching an SDE-3 salary to align with my current compensation.
Interview Questions (12)
Discuss the advantages of new features introduced in Java 21.
Compare Java with other languages like Scala, specifically highlighting differences and advantages.
Explain concurrency control mechanisms in Java and how they extend to distributed systems.
I was given a piece of code and asked to review it for potential issues, improvements, or bugs.
I was given a piece of code containing bugs and asked to identify and fix them.
Discussion centered on my motivation for joining JPMC and the type of work I am seeking.
Design a website that allows users to upload files/folders (e.g., Aadhar documents). The system should validate these documents using a third-party software (which takes 2-3 seconds), store them, and provide a tracking link back to the user. Key discussion points included storage mechanisms (file metadata in a DB, file bytes in S3), handling the validation delay while providing a good user experience (e.g., using an async worker fleet and temporary storage), API design, and scaling considerations.
Preparation Tips
My preparation for the coding rounds largely involved practicing popular LeetCode questions, which enabled me to answer most of the problems given they were commonly known. For the LLD and HLD rounds, my preparation was based on my prior professional experience and knowledge of Java fundamentals, distributed systems, and system design principles.
Summary
I recently navigated the JP Morgan cohort hiring process, which included three distinct rounds: Data Structures & Algorithms, System Design focusing on TicketMaster, and a Behavioral assessment. I am currently awaiting the final outcome.
Full Experience
I recently participated in the JP Morgan cohort hiring event. The interview process was quite structured, consisting of three distinct rounds, all conducted on the same day, each lasting approximately 45 minutes.
DSA & Code Review Round
The first round was focused on Data Structures & Algorithms and included a code review component. The interviewer, a developer with six years of experience, assessed my problem-solving skills, primarily with LeetCode medium-level questions. Beyond pure DSA, they also delved into my practical coding experience, specifically asking about my proficiency with API calls, file handling, exception management, and how I handle HTTP responses in real-world scenarios.
System Design Round
The second round was a System Design interview, led by a Senior Engineer with twelve years of experience. This was a comprehensive case study centered around designing the TicketMaster system. My task was multifaceted: I had to propose a robust database schema, clearly identify all the essential functional components, prepare a High-Level Design (HLD) diagram illustrating the architecture, and explain my deployment strategy for the system on major cloud platforms like Azure, AWS, or GCP.
Behavioral Round
Finally, the third round was a Behavioral interview. This round strictly followed the STAR (Situation, Task, Action, Result) methodology. The focus was on evaluating my communication skills, ability to work effectively in a team, problem-solving approach in non-technical scenarios, and my sense of ownership in past projects or situations.
The role specified a requirement of 3+ years of experience, and depending on my background, I was being considered for either a SWE 2 or SWE 3 position.
Interview Questions (1)
Design the TicketMaster system. This involved creating a comprehensive database schema, identifying all critical functional components, preparing a detailed High-Level Design (HLD) diagram to outline the architecture, and explaining a suitable deployment strategy for cloud platforms such as Azure, AWS, or GCP.
Summary
I interviewed for an SDE 3 role at JPMC, beginning with an online assessment. This was followed by a comprehensive Super Day featuring three back-to-back virtual rounds covering Data Structures & Algorithms, System Design, and a Hiring Manager discussion.
Full Experience
I applied on the JPMC careers website for various SWE 2/3 job roles and subsequently received an online assessment for one of them.
Round 1: Online Assessment
This was a HackerRank test comprising two questions, which I found to be in the Easy/Medium range. One question was stack-based, and the other involved Dynamic Programming. After clearing the OA, I received a call from the recruiter to schedule my Super Day interviews, which meant all three rounds would happen on a single day, back-to-back.Round 2: Data Structures & Algorithms (DSA)
This round was conducted on a HackerRank Code Pair link. First, I was given a Pull Request to analyze and provide comments on potential improvements. I shared my thoughts on issues like hardcoding values, the importance of hashing passwords instead of plain use, and suggesting appropriate design patterns. Next, I was given a medium-level DSA question focused on arrays, specifically revolving around sorting, filtering, and searching. After presenting my solution, I was then asked to rewrite it using Java Streams.Round 3: High-Level Design (HLD)
This round also utilized a HackerRank Code Pair link and focused primarily on system design concepts. The discussion covered topics such as scalability, consistency, availability, sharding, distributed systems/caching, and SQL databases. My main task was to design a Payment System. I explained everything in detail, from identifying requirements and outlining the database schema to providing estimations, detailing the High-Level Design, and suggesting further optimizations.Round 4: Hiring Manager (HM) Round
This final round primarily focused on my previous work experience, the technologies I've used, and in-depth, resume-based questions about my projects. It also included a set of standard behavioral questions.I have 3 years of experience. Good luck to everyone!
Interview Questions (3)
I was given a Pull Request and asked to analyze it, providing comments on what could be improved. This involved identifying potential issues and suggesting best practices.
After solving a medium-level DSA question involving sorting, filtering, and searching an array, I was asked to rewrite the solution using Java Streams.
I was given the task to design a Payment System. This involved explaining the system from a high-level perspective, covering various architectural considerations.
Summary
I recently interviewed for an SDE3 position at JPMC in Bengaluru, which involved an online assessment, a coding round, a system design round, and a behavioral round, all conducted as part of a Superday format.
Full Experience
I recently had the opportunity to interview for an SDE3 position at JPMC (J.P. Morgan & Chase) in Bengaluru. I applied via LinkedIn and received an email to complete an online assessment within two days.
Round 1: Online Assessment
The online assessment consisted of two LeetCode Medium questions, which I had to complete within 60 minutes.
- Minimum number of platforms needed for a railway station.
- Counting valid substrings with no repeating adjacent characters and a length within a specified range (minLen, maxLen).
I managed to complete both questions within the given time limit.
After almost a month, I received a call from HR inquiring about my availability for interviews. The interview format was a "Superday," meaning all rounds would happen on the same day with 15-minute breaks, and each round would occur independently of the previous rounds' outcomes.
Round 2: Code Pair
This round was divided into two sections:
PR Review (10 mins)
I was presented with a Pull Request and its description. The focus was primarily on my understanding of Design Principles, Security Concerns, Logging, Clean Code practices, identifying potential SQL Injections, Middleman Attacks, and Concurrency/Multi-threading issues.
DSA Problem
I was given a matrix of size m*n containing 1s and 0s. The task was to count the number of connections that could be made from one level to the next feasible level. A node represented by 1 could connect to a 1 on the next level. If any level had no 1s, I needed to check for the next possible level that did. For example, given int[][] graph = [[1,0,0,1], [1,1,0,1], [0,0,0,0], [1,0,0,0]], the count would be 2 * 3 + 3 * 1 = 9.
Round 3: System Design
For this round, I had to design a News Aggregator System on a HackerRank Whiteboard. The system needed to present real-time updates from multiple news sources to a UI, where users could log in and set their preferences.
My approach for this round involved:
- Defining Functional Requirements
- Defining Non-Functional Requirements
- Creating a High-Level Design Diagram
- Discussing Database Schema (Tables, Columns)
- Outlining necessary APIs
Round 4: Behavioral Round
This round began with discussions about my resume and the projects I had worked on. Following that, I answered behavioral questions based on my project experiences and some generic situational questions.
- How do you keep up with the latest technologies?
- How do you handle pushback on a solution from higher management?
Interview Questions (6)
Given arrival and departure times for a series of trains, determine the minimum number of platforms required for a railway station so that no train has to wait.
Given a string and a range (minLen, maxLen), count the number of substrings such that no adjacent characters are repeating and the length of the substring is within the given range.
Given a binary matrix (0s and 1s) representing levels, where a '1' indicates a node. Count the total number of connections that can be made from '1's at one level to '1's at the next feasible level. A feasible level is the next level that contains at least one '1'. If a level has no '1's, skip it and look for the next level with '1's. Connections are established between all '1's of the current level and all '1's of the next feasible level. The example provided shows count: 2 * 3 + 3 * 1 = 9 for [[1,0,0,1], [1,1,0,1], [0,0,0,0], [1,0,0,0]].
Design a News Aggregator System that can collect real-time updates from multiple news sources and present them to a UI. Users should be able to log in and set their preferences for news topics or sources. The design should cover functional and non-functional requirements, high-level architecture, database schema, and APIs.
Discuss your approach to staying current with the latest technologies and industry trends.
Describe a situation where higher management pushed back on one of your proposed solutions and how you handled it.
Summary
I recently interviewed for an SDE-2 position at JPMC in Bangalore and successfully received an offer after navigating through five comprehensive rounds, which included technical coding, system design, and behavioral assessments.
Full Experience
My interview journey for the SDE-2 role at JPMC began with an Online Assessment that lasted one hour. It consisted of two medium-level coding problems, one involving String manipulation and the other a Shortest path problem in graphs. I managed to solve both within the allotted time.
Following this, I advanced to the Data Structures & Algorithms + Code Review round, which took about 45-50 minutes. Here, I faced a code review task where I had to suggest improvements and ensure the given code passed all test cases; I focused on optimization and clean code practices. Subsequently, I tackled a medium-hard coding problem on HackerRank that utilized the sliding window technique, achieving an optimal O(N) time and O(1) space complexity, which impressed the interviewer.
The third round was dedicated to System Design, also lasting 45 minutes. I used HackerRank's platform tools to design a scalable parking lot system. My discussion revolved around scalability, essential system components, and architectural choices, engaging in a Q&A with the interviewer who was satisfied with my approach.
Next was a 45-minute Behavioral Round. I was asked to discuss my current project, particularly how I handled complex problems within it. This round also included situational and HR-type questions. I made sure to ask thoughtful questions, demonstrating my interest in the company and the role, which helped build a good rapport.
Finally, the HR Discussion covered my past work experience, salary expectations, and general questions to assess my mindset and fit for the role. This was a straightforward conversation, culminating in the discussion of my job offer details.
Interview Questions (3)
I was given a piece of code and asked to suggest improvements for it, specifically focusing on optimization and clean code practices to ensure it passed all test cases effectively.
In this system design round, I was tasked with designing a scalable parking lot system. I presented a high-level design, discussing various system components, architectural choices, and how to ensure scalability. I also engaged in a Q&A session regarding my design decisions.
I was asked to discuss my current project in detail, with a particular emphasis on how I approached and resolved complex challenges encountered during its development. Additionally, the round included various situational and general HR-type questions to assess my problem-solving skills and cultural fit.
Preparation Tips
My preparation focused on being genuine and authentic throughout the interview process. I found it crucial to structure my preparation for both coding and design questions. A key takeaway was always to ask thoughtful questions at the end of interviews, as this leaves a strong impression and shows interest in the company and role.
Summary
I recently interviewed for a Software Engineer 2 role at JPMC, which consisted of two rounds. Despite a friendly first round covering Java and Spring Boot, the second round, which delved into advanced Java and project-specific finance questions, did not go well, leading to a rejection.
Full Experience
I recently appeared for a Software Engineer 2 role at JPMorgan Chase. There were a total of two interview rounds for me.
First Round
This was a one-hour round with a Project Manager. She was very friendly, and the round went well. She asked basic Java, Spring Boot, and project-related questions.
Questions I remember:
- What is finally block and when it is called?
- Exception propagation in Java?
- How HashMap works?
- Difference between flatMap and map?
- What is a functional interface?
- Difference between @RestController and @Controller?
- Advantages of Spring over Spring MVC?
Second Round
This was another one-hour round. The interviewer had 20 years of experience. It started with an introduction and a discussion about my projects. Since JPMC is in the finance domain and I also work in finance, he asked very key questions from my project. I even answered a few project questions with some doubt.
He then moved on to Java, Spring Boot, and database-related questions, ranging from basic to advanced topics. I was not satisfied with my performance, especially regarding the design pattern code he asked for.
Questions I remember:
- Can a Java class be static?
- Can a Java class be final?
- Can a Java class be private?
- Can we override static, private, or final methods?
- Transaction propagation in Spring Boot?
- Given Employee and department classes, without modifying these classes, how can we establish a relationship between these two so that a department can hold all of its employees and we can return all of its employees given a department object?
- He asked an SQL query to return a list of all departments with zero employees.
The second round did not go well for me. I answered a few project questions with doubt and could not answer some of the advanced Java and Spring Boot questions.
I did not hear anything back, and I didn't even follow up because I felt I hadn't performed to my average. However, overall, these rounds were good for learning.
Interview Questions (14)
Describe what a finally block is in Java and when it is called during program execution.
Explain the concept of exception propagation in Java.
Explain the internal working mechanism of Java's HashMap.
Describe the difference between the flatMap and map operations in Java Streams API.
Define what a functional interface is in Java.
Explain the differences between @RestController and @Controller annotations in Spring Boot.
Discuss the advantages of the Spring Framework over specifically Spring MVC.
Is it possible for a Java class to be declared as static? If so, explain when and how.
Is it possible for a Java class to be declared as final? If so, explain its implications.
Is it possible for a Java class to be declared as private? If so, explain when and how.
Can static, private, or final methods in Java be overridden? Explain your answer for each case.
Explain the concept of transaction propagation in Spring Boot and list common propagation behaviors.
Given existing Employee and Department classes, how would you establish a relationship between them without modifying their original definitions, such that a Department object can hold and return all of its associated Employee objects?
Write an SQL query to return a list of all departments that currently have zero employees associated with them.
Summary
I successfully interviewed for a Software Engineer 3 position at JPMC in Bangalore. My journey included an Online Assessment and a Superday, which covered system design, behavioral aspects, and coding, ultimately resulting in an offer.
Full Experience
I recently applied for the J.P. Morgan cohort SWE Bengaluru 2024 and wanted to share my interview journey.
Online Assessment (OA)
Shortly after applying, I received a link to the online assessment. It consisted of two questions of easy-medium difficulty. One question was Minimum String Length After Removing Substrings; I don't recall the exact second question, but it was of similar difficulty.
Three days after completing the OA, a recruiter called me to inform me that I had progressed to the next stage and that they would schedule my Superday. About 15-20 days later, they contacted me again to confirm the schedule for my Superday.
Superday
My Superday consisted of three rounds, all conducted on the same day.
Round 1: Design Pair Round
I was asked to design a high-level system for a parking lot. An AI service was already present, which automatically captured the photo of a vehicle's number plate and its entry timestamp. My task was to design the rest of the services and components, considering this existing AI service.
Round 2: Behavioral Round
This round involved general situation-based questions designed to understand my behavioral traits and how I handle different scenarios.
Round 3: Code Pair Round
This round had two parts. First, I was given a piece of working code and asked to provide review comments on it, similar to how one would review a pull request (PR). Second, I was asked to solve a problem: count the number of substrings with non-repeating characters.
All three rounds went well. Two days later, I received an email confirming that I was one of the selected candidates. They requested a few details like my current CTC, expected CTC, and notice period. Two days after providing the required information, HR scheduled a call with me to discuss the details of the position and the CTC they were offering, as the cohort was for both SE2 and SE3. The very next day, I received my offer letter for SE3.
Interview Questions (4)
I was asked to design a high-level system for a parking lot. An existing AI service was provided that automatically captured vehicle number plates and entry timestamps. My task was to design the remaining services and components, integrating with the given AI service.
In this round, I was presented with a piece of working code and asked to provide review comments, similar to performing a pull request review. This involved identifying potential issues, suggesting improvements, and ensuring code quality.
I was asked to count the number of substrings within a given string that contain only non-repeating characters.
Summary
I successfully interviewed for the Software Engineer III role at J.P. Morgan in Bengaluru, navigating through an online assessment and a Superday that included system design, behavioral, and coding challenges, ultimately receiving an offer.
Full Experience
I recently applied to the J.P. Morgan cohort SWE program for 2024 in Bengaluru and wanted to share my interview journey.
Online Assessment (OA)
Shortly after applying, I received a link to the online assessment, which consisted of two questions of easy-medium difficulty:- One question was Minimum String Length After Removing Substrings.
- The second question's exact details I don't recall, but it was of similar difficulty.
Superday
The Superday consisted of three rounds on the same day:Round 1: Design Pair Round
I was tasked with designing a high-level architecture for a parking lot system. An existing AI service was already in place to automatically capture vehicle number plates and entry timestamps. My job was to design the remaining services and components, taking into account this existing AI service.Round 2: Behavioral Round
This round involved general situation-based questions aimed at understanding my behavioral traits and how I handle different scenarios.Round 3: CoderPad Round
This round had two parts:- I was given a piece of working code and asked to provide review comments on it, similar to performing a pull request (PR) review.
- I had to write a function to count the number of substrings with non-repeating characters.
Interview Questions (5)
My task was to design a high-level architecture for a parking lot system. The system already had an AI service for capturing vehicle number plates and entry timestamps, and I needed to design the rest of the services and components, integrating with the existing AI part.
This round consisted of general situation-based questions to assess my behavioral traits and how I would handle various professional scenarios.
I was given a piece of working code and asked to provide review comments on it, simulating the process of reviewing a pull request.
I was asked to write a function that counts the total number of substrings within a given string that consist only of non-repeating characters.
Summary
I interviewed for the Software Development Engineer (SEP) role at JPMC through an on-campus drive at IIT (BHU) Varanasi, consisting of a coding test and three interview rounds covering DSA, projects, and system design, concluding with HR discussions. Despite positive feedback and clearing all rounds, I was ultimately waitlisted and did not receive an offer.
Full Experience
I interviewed for the Software Development Engineer (SEP) role at JPMC through an on-campus drive at IIT (BHU) Varanasi. The profile was open to students from CSE, MnC, EE, and EC branches. With a B.Tech in CSE from a Tier 1 college and 0 years of experience, complemented by a research project and a 2-month internship at Samsung Bangalore, I proceeded through the selection process.
Coding Test
The process began with a 1-hour coding test on HackerRank, consisting of two easy-to-medium level questions. I managed to solve both within 5 minutes, passing all test cases, and was subsequently shortlisted for the interview rounds.
Round 1: Technical Interview (60 minutes)
This round had two interviewers and started with my introduction and a deep dive into my resume. We discussed Data Structures and Algorithms, specifically hash maps. I was asked about their definition, working mechanism, and structure. Unfortunately, I couldn't answer these accurately as I hadn't reviewed the concepts recently.
The discussion then shifted to priority queues, their functionality, and time complexity. Following this, the second interviewer focused on my research project on IoT and WSNs, and my published paper. They were very curious about the novelty of my work and how I executed it. My internship experience at Samsung Research Institute was also thoroughly discussed, with one interviewer even asking me to visually explain my work on paper due to its complexity.
Towards the end, an out-of-the-box system design question was posed, based on my IoT background. I was asked to design an IoT system for a 5-floor parking lot to efficiently utilize space, ensuring cars don't move to the next floor until the current one is sufficiently occupied. I spent a few minutes thinking and provided a convincing answer, which seemed to leave a very good impression and led to my invitation for Round 2.
Finally, I was asked to write code to sort an array and explain its time and space complexity, which I found quite straightforward. The round concluded positively after I asked them a question.
Round 2: Tech + HR Interview (25 minutes)
This round was a blend of technical and HR questions, primarily assessing my soft skills and communication. We discussed my Django project, focusing on what Django is, how it works, and why I chose it over other frameworks. The conversation then moved to my understanding of JPMC and my motivation to join the company. I expressed my interest in finance and how JPMC combines finance and technology, aligning with my career goals. I also mentioned my aspiration to switch to a Quantitative Researcher role in the future, acknowledging that this might not be immediately available in the current profile. I affirmed my comfort with a Software Developer role for now, open to any team allotment. This round also ended with a warm handshake after I asked a question.
Round 3: HR Interview (10 minutes)
This was a very brief and relaxed round, with no serious HR questions. We discussed my family background, living location, and my preferences for Bangalore, Mumbai, or Hyderabad. The interviewer also inquired about my day, leading to a discussion about other interviews I had given recently. The interview concluded with the interviewer's encouraging words, "So, Yash, your hunt will hunt today...and we will see you on the other side," followed by a warm handshake.
P.S.: Despite the positive interactions, I unfortunately did not receive an offer. There were complications, and I was waitlisted after an initial confirmation from HR. It was a matter of hard luck, and a long story for another time.
Interview Questions (4)
Discuss what a hash map is, its internal working mechanisms, and its underlying data structure.
Explain the working principles of a priority queue and its associated time complexities for common operations.
Design an IoT-based system for a 5-floor parking lot to efficiently utilize space on each floor, ensuring cars do not move to the next floor until the current one is full. Explain its implementation.
Write code to sort an array and explain its time and space complexity.
Summary
I received an offer for a Software Engineer (SWE) role at JPMC after participating in their Code for Good hackathon and clearing multiple interview rounds, including an online coding test and a HireVue interview.
Full Experience
My hiring process at JPMC, conducted via the Code for Good hackathon, was divided into three steps: an Online Coding Test, a HireVue Interview, and the Code for Good Hackathon itself.
The first round was an online coding test on HackerRank, featuring two programming questions worth 50 points each. Next, I had a 10-minute HireVue interview which consisted of two questions.
The final round was the Code for Good Hackathon. My team, consisting of 7-8 students, had two days to develop a solution for an NGO's problem statement. We chose a MERN stack-based web application and ended up as runners-up. During the hackathon, I also had 1-on-1 interviews with two mentors, which I believe were crucial for selection.
My first mentor interview lasted about 30 minutes. Since I was working with MongoDB, the discussion revolved around databases, comparing SQL and MongoDB, and specific SQL queries. We also covered Middleware in Node.js, REST APIs, and schema generation with Node.js and MongoDB. The second mentor interview was about 20 minutes. I demonstrated my contributions to the hackathon project and discussed one of my resume projects. He concluded with some typical HR questions.
Approximately 45 days later, I received an email with an offer for a 6-month internship followed by full-time employment at JPMC.
Interview Questions (4)
Given an array of numbers, the task is to reduce the array to a single element. In each step, we can pick any two numbers from the array, add their sum, and insert this sum back into the array. The cost of this operation is equal to the sum of the two elements. The goal is to perform these operations such that the total cost is minimized.
Given the daily problems solved by two coders (Coder A and Coder B) and their initial problem-solving difference, find the minimum number of days required for Coder A to solve more problems than Coder B. If it's not possible for Coder A to ever surpass Coder B, return -1.
Please describe a project you've worked on that provided you with a significant learning experience and has a real-time application.
Where do you see yourself in your professional career in the future?
Summary
I went through a four-round interview process with JP Morgan for an Associate position in Mumbai, primarily focusing on C++ OOPs concepts, data structures, algorithms, and behavioral questions. Each round involved in-depth discussions and coding challenges, some with provided LeetCode links and others as custom problem statements.
Full Experience
Round 1 - 60 minutes phone call
My first round was a 60-minute phone call. We had a detailed discussion on several core OOPs concepts including special pointers, virtual tables, const functions, private constructors, and the Singleton pattern. Following this, I was given one coding question and one behavioral question.
Round 2 - 60 minutes screen sharing
The second round involved 60 minutes of screen sharing. We continued our discussion on OOPs concepts, delving into special pointers, the const keyword, inline functions, how virtual functions are implemented (vtable), how the vtable of base and derived classes would look for a function override, and virtual destructors. After the discussion, I was given another coding question.
Round 3 - 60 minutes screen sharing
My third round, also 60 minutes with screen sharing, started with a discussion on OOPs concepts in the context of a trade system, specifically inheritance. I was then asked a design question about creating a stack class by inheriting from an array class, its pros/cons, and alternative implementations. Further OOPs concepts like metaclasses, composition, encapsulation, and inheritance were discussed. This round concluded with two coding questions.
Round 4 - 30 minutes screen sharing
The final round was a 30-minute screen sharing session. I was presented with one coding question, followed by two behavioral questions, one of which was a repeat from the first round.
Interview Questions (12)
I discussed various OOPs concepts including special pointers, virtual tables, const functions, private constructors, and the Singleton pattern.
I was asked about my motivations for wanting to join the Quantitative Research (QR) profile.
I had a discussion on special pointers, the const keyword, inline functions, virtual function implementation including vtables, how vtables look for base and derived classes with function overrides, and virtual destructors.
We discussed OOPs concepts related to a trade system, specifically focusing on inheritance.
I was asked about the pros and cons of creating a stack class by inheriting from an array class, and if there are other ways to implement a stack.
I had a discussion covering metaclasses, composition, encapsulation, and inheritance.
A frog is on a number line starting at 0. It can take either 2 or 3 hops at once. I needed to find the probability of the frog reaching a specific number n from 0.
I was given a list of jobs <Ji>, each with a deadline <Ti> and an associated profit <Pi>. Each job takes 1 hour to complete. The task was to return a list of k jobs to generate the maximum profit within a given deadline n and profit value.
An example was provided:
Jobs:
j1 - deadline 3 - profit 50
j2 - deadline 2 - profit 200
j3 - deadline 1 - profit 30
j4 - deadline 1 - profit 20
j5 - deadline 2 - profit 150
If k=3, the maximum profit is 400 (j2+j5+j1).
Hints provided were:
1. Sort based on profit.
2. Use a bucket of size n (Bucket[n]) and fill it such that at index k, put profit for which deadline is k. If that place is filled, try the previous location.
I was asked if I had any issues with relocation.
Summary
I interviewed for a Senior Lead Engineer position at JPMC in April 2020. The interview rounds covered data structures and algorithms, core Java collections, and advanced testing concepts.
Full Experience
I recently interviewed for a Senior Lead Engineer position at JPMC in April 2020. My interview experience was divided into several rounds, touching upon various technical aspects. The initial rounds focused heavily on fundamental data structures and algorithms, where I was challenged with a classic tree construction problem and implementing a generic stack from scratch. Subsequently, the interview delved into core Java concepts, including the characteristics and optimal use cases for different collections, their thread-safety properties, and specifics regarding ConcurrentHashMap and HashSet. Finally, there were questions about advanced testing methodologies using JUnit, particularly concerning how to test private methods and count method invocations for monitoring or verification.
Interview Questions (8)
Given the inorder traversal sequence: 4 8 2 5 1 6 3 7 and postorder traversal sequence: 8 4 5 2 6 7 3 1, construct the unique binary tree. Recall that inorder traversal follows LVR (Left, Visit, Right) and postorder traversal follows LRV (Left, Right, Visit).
Discuss which Java collection is best suited for scenarios characterized by a higher frequency of write operations and fewer read operations.
Identify a Java collection that not only maintains insertion order but is also efficient for write-heavy scenarios (less read, more write) and ensures thread-safety in a multi-threading environment.
Is ConcurrentHashMap synchronized and thread-safe?
Is HashSet thread-safe? Does it maintain insertion order?
Explain the approaches and considerations for writing test cases for private methods within a class using JUnit.
Describe how one can count the number of times a specific method is invoked, especially in scenarios where a delegator pattern is used. What techniques can be employed to achieve this for testing purposes?