i
JPMorgan Chase &
Co.
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
Printing a matrix in spiral order
Start from the first element and print it
Move in a spiral order towards the center of the matrix
Repeat until all elements are printed
Use a shared variable and synchronization mechanisms to ensure natural order printing of numbers.
Create two threads, one for printing even numbers and the other for printing odd numbers.
Use a shared variable to keep track of the current number to be printed.
Implement synchronization mechanisms like locks or semaphores to ensure only one thread can access the shared variable at a time.
Each thread should check if it...
Multi tasking, multi processing, and multi programming are different approaches to managing tasks in an operating system.
Multi tasking allows multiple tasks to run concurrently on a single processor.
Multi processing involves multiple processors running tasks simultaneously.
Multi programming allows multiple programs to be loaded into memory and executed concurrently.
Examples of multi tasking operating systems inclu...
Linked List is a dynamic data structure while ArrayList is a static data structure.
Linked List is best for frequent insertion and deletion operations.
ArrayList is best for frequent access operations.
Linked List uses more memory than ArrayList.
ArrayList is faster than Linked List for accessing elements.
Use Linked List when you need to frequently add or remove elements from the list.
Use ArrayList when you need to fr...
What people are saying about JPMorgan Chase & Co.
Memory allocation refers to the process of assigning memory to programs during runtime.
Stack allocation is done automatically and is limited in size.
Heap allocation is done manually and is larger in size.
Stack memory is used for local variables and function calls.
Heap memory is used for dynamic memory allocation.
Memory leaks can occur if heap memory is not properly managed.
Heap memory can be monitored using tools like profilers. Objects are removed from heap memory through garbage collection.
Use profilers like VisualVM or Java Mission Control to monitor heap memory usage
Analyze heap dumps to identify memory leaks and optimize memory usage
Garbage collection automatically removes unreferenced objects from heap memory
Different garbage collection algorithms like Mark and Sweep, Copying,...
Microservices architecture is an approach to software development where a single application is composed of small, independent services that communicate with each other through APIs.
Each service is responsible for a specific function or feature of the application
Services are loosely coupled, allowing for easier scalability and maintenance
Communication between services is typically done through lightweight protocol...
Splunk is a powerful logging system used for collecting, indexing, and analyzing machine-generated data.
Splunk is used for real-time monitoring, searching, and analyzing log data from various sources.
It can be used to troubleshoot issues, monitor system performance, and detect security threats.
Splunk allows users to create custom dashboards and reports for visualizing data insights.
It supports a wide range of data...
You are given a country called 'Ninjaland' with 'N' states, numbered from 1 to 'N'. These states are connected by 'M' bidirectional roads, each with a specified travel cost. The...
Find the minimum cost selection of roads to travel to every state in a country.
Create a graph representation of the states and roads with their costs.
Use a minimum spanning tree algorithm like Kruskal's or Prim's to find the optimal roads.
Select 'N' - 1 roads with the lowest costs to cover all states.
Return the selected roads and their costs as output.
Inheritance in OOP allows a class to inherit properties and behaviors from another class.
Inheritance allows for code reusability by creating a new class based on an existing class.
The new class (subclass) can access all the properties and methods of the existing class (superclass).
Example: A 'Car' class can inherit from a 'Vehicle' class, gaining attributes like 'speed' and methods like 'drive'.
I applied via Campus Placement
Splunk is a powerful logging system used for collecting, indexing, and analyzing machine-generated data.
Splunk is used for real-time monitoring, searching, and analyzing log data from various sources.
It can be used to troubleshoot issues, monitor system performance, and detect security threats.
Splunk allows users to create custom dashboards and reports for visualizing data insights.
It supports a wide range of data sour...
Microservices architecture is an approach to software development where a single application is composed of small, independent services that communicate with each other through APIs.
Each service is responsible for a specific function or feature of the application
Services are loosely coupled, allowing for easier scalability and maintenance
Communication between services is typically done through lightweight protocols lik...
Debugging a Python program involves identifying and fixing errors to ensure correct functionality.
Check for syntax errors: Ensure all parentheses, brackets, and quotes are properly closed.
Use print statements: Insert print statements to track variable values and program flow.
Utilize a debugger: Use tools like pdb to step through the code and inspect variables.
Review error messages: Pay attention to error messages for c...
Use list comprehension to find substrings in a list of strings in Python
Use list comprehension to iterate through the list of strings
Use the 'in' keyword to check if the substring is present in each string
Filter out strings that do not contain the substring
I applied via Naukri.com and was interviewed in Jan 2024. There were 2 interview rounds.
Heap memory can be monitored using tools like profilers. Objects are removed from heap memory through garbage collection.
Use profilers like VisualVM or Java Mission Control to monitor heap memory usage
Analyze heap dumps to identify memory leaks and optimize memory usage
Garbage collection automatically removes unreferenced objects from heap memory
Different garbage collection algorithms like Mark and Sweep, Copying, and ...
Handling an application running on different instances involves load balancing, monitoring, and synchronization.
Implement load balancing to distribute the workload evenly across instances.
Monitor the performance and health of each instance to ensure optimal operation.
Use synchronization techniques to maintain consistency and avoid conflicts between instances.
Implement failover mechanisms to handle instances going offli...
Yes, a load balancer can handle multiple addition of new instances or pods.
A load balancer distributes incoming traffic across multiple instances or pods.
To handle multiple additions, the load balancer should be able to dynamically update its routing configuration.
Load balancers can use various algorithms to distribute traffic, such as round-robin, least connections, or weighted distribution.
Load balancers can also per...
Caching improves application performance by storing frequently accessed data in memory.
Identify the data that needs to be cached
Choose a caching strategy (e.g., in-memory cache, distributed cache)
Implement caching logic in the application code
Set appropriate cache expiration policies
Handle cache invalidation when data changes
Yes, a distributed system can handle 1M requests per second by using load balancing, horizontal scaling, and caching.
Implement load balancing to distribute incoming requests across multiple servers.
Use horizontal scaling by adding more servers to handle the increased load.
Implement caching to store frequently accessed data and reduce the load on the backend.
Optimize the system by using efficient algorithms and data str...
Array question basic relate to string manipulation
I applied via LinkedIn and was interviewed in Jun 2024. There were 2 interview rounds.
Dsa qustion Tree graph and stack
I applied via Referral and was interviewed before Sep 2023. There were 5 interview rounds.
Related to dynamic programming
Standanrd leetcode problems of medium difficulty
Some of the top questions asked at the JPMorgan Chase & Co. Software Developer interview -
based on 25 interview experiences
Difficulty level
Duration
based on 54 reviews
Rating in categories
Associate
11.3k
salaries
| ₹18.7 L/yr - ₹33 L/yr |
Team Lead
5.8k
salaries
| ₹8.5 L/yr - ₹15 L/yr |
Vice President
4.4k
salaries
| ₹39 L/yr - ₹70 L/yr |
Senior Associate
2.9k
salaries
| ₹24.2 L/yr - ₹45 L/yr |
Analyst
2.8k
salaries
| ₹11.5 L/yr - ₹20 L/yr |
Morgan Stanley
Goldman Sachs
TCS
Bank of America