i
JPMorgan Chase &
Co.
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
String intern is a method in Java that returns a canonical representation of a string object.
String intern() method returns a canonical representation for the string object.
If a string with the same contents is already in the string pool, then it returns the reference to that string.
If not present, it adds the string to the pool and returns the reference.
Rotate a 2-D matrix
Iterate through each layer of the matrix
For each layer, swap the elements in a cyclic manner
Repeat the process for all layers until the entire matrix is rotated
HashMap is a data structure that stores key-value pairs and uses hashing to efficiently retrieve values.
HashMap internally uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to determine the index in the array where it will be stored.
If multiple keys hash to the same index, a collision occurs and the key-value pairs are stored in a linked list at that index.
To ...
SOLID principles are a set of five design principles that help in creating maintainable and scalable software applications.
S - Single Responsibility Principle (SRP)
O - Open-Closed Principle (OCP)
L - Liskov Substitution Principle (LSP)
I - Interface Segregation Principle (ISP)
D - Dependency Inversion Principle (DIP)
What people are saying about JPMorgan Chase & Co.
The hashCode and equals contract ensures consistent behavior for object comparison and hashing in Java.
1. If two objects are equal according to equals(), their hashCode() must return the same integer.
2. If two objects are not equal according to equals(), their hashCode() can return the same or different integers.
3. Consistency: The hashCode() method must consistently return the same value for the same object durin...
Basic Java covers fundamental concepts like syntax, data types, control structures, OOP principles, and exception handling.
Java is a statically typed language, meaning variable types must be declared. Example: 'int number = 5;'
Control structures include if-else statements and loops. Example: 'for (int i = 0; i < 10; i++) { ... }'
Java supports Object-Oriented Programming (OOP) principles like inheritance, encaps...
Virtual functions are functions that can be overridden in derived classes. vTable is a lookup table used to resolve virtual function calls.
Virtual functions allow polymorphism and dynamic binding
vTable is a table of function pointers used to resolve virtual function calls
vPtr is a pointer to the vTable of an object
Smart pointers are objects that manage the lifetime of dynamically allocated memory
Types of smart poi...
Spark accumulators are used to accumulate values across multiple tasks in a distributed manner.
Accumulators are used to accumulate values across multiple tasks in a distributed manner
They are used to implement counters and sums in Spark
Accumulators are read-only variables that can only be updated by an associative and commutative operation
Partitioning is the process of dividing a large dataset into smaller, more m...
Api design using Spring boot involves creating RESTful APIs with Spring framework for efficient communication between client and server.
Use @RestController annotation to define RESTful web services
Utilize @RequestMapping annotation to map HTTP requests to specific handler methods
Implement request and response bodies using @RequestBody and @ResponseBody annotations
Leverage Spring Boot's auto-configuration and embed...
Design patterns are reusable solutions to common problems in software design.
Design patterns help in creating flexible, maintainable, and scalable software.
Some common design patterns include Singleton, Factory, Observer, and Strategy.
Each design pattern has a specific purpose and can be applied in different scenarios.
Understanding design patterns can improve code quality and make development more efficient.
The Factory Design Pattern creates objects without specifying the exact class, promoting flexibility and scalability.
Encapsulates object creation, allowing for easier management of complex systems.
Promotes loose coupling by separating the instantiation process from the client code.
Example: A ShapeFactory that creates different shapes (Circle, Square) based on input.
Useful in scenarios where the system needs to be indep...
Transaction management in Java involves managing database transactions to ensure data integrity and consistency.
Use JDBC or JPA for transaction management
Begin a transaction with 'beginTransaction()' method
Commit the transaction with 'commit()' method
Rollback the transaction with 'rollback()' method
Api design using Spring boot involves creating RESTful APIs with Spring framework for efficient communication between client and server.
Use @RestController annotation to define RESTful web services
Utilize @RequestMapping annotation to map HTTP requests to specific handler methods
Implement request and response bodies using @RequestBody and @ResponseBody annotations
Leverage Spring Boot's auto-configuration and embedded s...
Design patterns are reusable solutions to common problems in software design.
Design patterns help in creating flexible, maintainable, and scalable software.
Some common design patterns include Singleton, Factory, Observer, and Strategy.
Each design pattern has a specific purpose and can be applied in different scenarios.
Understanding design patterns can improve code quality and make development more efficient.
I applied via Approached by Company and was interviewed in Mar 2024. There were 3 interview rounds.
Medium level DSA Questions were asked
Currently working on developing a web-based project management tool for a tech startup.
Utilizing React for front-end development
Implementing Node.js for back-end functionality
Integrating MongoDB for database management
Basic data structures
I applied via Approached by Company and was interviewed in Feb 2024. There were 4 interview rounds.
Medium level 2 coding questions
I applied via LinkedIn and was interviewed in Dec 2023. There were 3 interview rounds.
DSA coding round with medium level questions
I applied via Approached by Company and was interviewed in Jul 2023. There were 3 interview rounds.
Virtual functions are functions that can be overridden in derived classes. vTable is a lookup table used to resolve virtual function calls.
Virtual functions allow polymorphism and dynamic binding
vTable is a table of function pointers used to resolve virtual function calls
vPtr is a pointer to the vTable of an object
Smart pointers are objects that manage the lifetime of dynamically allocated memory
Types of smart pointers...
Written test with java basics
The architecture of my current project is microservices-based, enabling scalability and independent deployment of services.
Microservices Architecture: The project is divided into multiple services, each responsible for a specific business capability, such as user management or payment processing.
API Gateway: An API gateway acts as a single entry point for clients, routing requests to the appropriate microservice and ha...
Some of the top questions asked at the JPMorgan Chase & Co. Senior Software Engineer interview -
The duration of JPMorgan Chase & Co. Senior Software Engineer interview process can vary, but typically it takes about 2-4 weeks to complete.
based on 19 interview experiences
Difficulty level
Duration
based on 76 reviews
Rating in categories
Associate
11.2k
salaries
| ₹10 L/yr - ₹36.5 L/yr |
Team Lead
5.8k
salaries
| ₹4.5 L/yr - ₹17 L/yr |
Vice President
4.3k
salaries
| ₹27 L/yr - ₹70 L/yr |
Senior Associate
2.8k
salaries
| ₹14 L/yr - ₹53 L/yr |
Analyst
2.8k
salaries
| ₹6.5 L/yr - ₹26.2 L/yr |
Morgan Stanley
Goldman Sachs
TCS
Bank of America