Filter interviews by
I applied via Referral and was interviewed in Apr 2021. There were 4 interview rounds.
Weak reference is a reference that does not prevent the object from being garbage collected.
Weak references are used to refer to objects that can be garbage collected if there are no strong references to them.
They are typically used in scenarios where you want to hold a reference to an object, but don't want to prevent it from being collected.
Weak references are implemented using weak reference queues, which allow you ...
Singleton pattern ensures a class has only one instance, while allowing global access to it.
Implement a private constructor to prevent direct instantiation.
Create a static method to provide a single point of access to the instance.
Use lazy initialization to create the instance only when needed.
Ensure thread safety in a multithreaded environment using synchronization or double-checked locking.
Breaking the singleton patt...
Annotations used in Spring Framework for defining components and services.
Annotations like @Component, @Service, and @Controller are used for defining components in Spring Framework.
@RestController is used for defining RESTful web services.
@Configuration is used for defining configuration classes.
@Transactional is used for defining transactional methods.
All these annotations help in defining and managing dependencies i
HashSet is implemented using a HashMap internally. Same hashcode is generated when two objects have the same value for hashCode() and equals() methods.
HashSet internally uses a HashMap to store its elements.
The hashcode of an object is generated using the hashCode() method.
If two objects have the same value for hashCode() and equals() methods, they will generate the same hashcode.
For example, if two String objects have...
SQL Cursor is a database object used to manipulate data row by row.
Cursor is used to fetch and process data row by row
Index is a database object used to speed up data retrieval
Aggregate functions are used to perform calculations on a set of values
Examples of aggregate functions are SUM, AVG, COUNT, MAX, MIN
Generate palindrome string with given length and distinct characters.
Create a char array of length n and fill it with distinct characters.
Loop through the array and add the characters in reverse order to create a palindrome.
Repeat the process until the required number of palindromes are generated.
If k is less than the length of the palindrome, use the first k distinct characters.
Find the highest value that occurs the same number of times within an array.
Iterate through the array and count the occurrences of each value.
Store the counts in a dictionary or hash map.
Find the maximum count and check which value(s) have that count.
Return the highest value among those with the maximum count.
Count occurrences of a character in a string and output in a specific format.
Use a hash table to store the count of each character.
Loop through the string and update the count in the hash table.
Create the output string using the hash table.
Converts a string from Camel case to Snake case.
Loop through the string and check for uppercase letters
Insert an underscore before each uppercase letter
Convert the string to lowercase
Logic to get Map using Stream API to show balance of each person
Use Stream API to group accounts by name
Use map() to get the sum of balances for each group
Collect the results into a Map
I applied via Naukri.com and was interviewed in Aug 2020. There were 3 interview rounds.
To check palindrome and anagram of a string with O(n), use a hash table to store character frequencies.
Create a hash table to store the frequency of each character in the string.
For palindrome, check that no more than one character has an odd frequency.
For anagram, compare the hash tables of the two strings.
If the hash tables are equal, the strings are anagrams.
If the hash tables differ by only one character, the strin...
Optimized solutions and core principles applied in OOPS
Encapsulation, Inheritance, Polymorphism, Abstraction are core principles of OOPS
Optimized solutions can be achieved through efficient algorithms and data structures
Design patterns like Singleton, Factory, Observer can also be used for optimized solutions
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
It was a cumulative test
You are given an array ARR
of long type, which represents an elevation map where ARR[i]
denotes the elevation of the ith
bar. Calculate the total amount of rainwater t...
Calculate the total amount of rainwater that can be trapped within given elevation map.
Iterate through the array to find the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped above each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water above each bar to get the total trapped water for the elevation map.
Round duration - 90 minutes
Round difficulty - Medium
It was sophisticated in nature and a good brain buster.
Prateek is a kindergarten teacher with a mission to distribute candies to students based on their performance. Each student must get at least one candy, and if two s...
Determine the minimum number of candies needed to distribute to students based on their performance and ratings.
Iterate through the array of student ratings and assign 1 candy to each student initially.
Then iterate from left to right and check if the current student's rating is higher than the previous student, if so, assign candies accordingly.
Similarly, iterate from right to left to handle cases where the current stu...
Round duration - 1 hour
Round difficulty - Medium
It revolved around basic concepts
DBMS is a software system that manages databases and allows users to interact with data stored in them.
DBMS stands for Database Management System
It helps in creating, updating, and managing databases
Examples of DBMS include MySQL, Oracle, SQL Server
It ensures data integrity, security, and efficient retrieval
Round duration - 70 minutes
Round difficulty - Hard
It was a great experience
Tip 1 : Stay consistent with your efforts
Tip 2 : Work hard with honesty
Tip 3 : Try to set goal of +1 level from the goal you want to achieve
Tip 1 : Present yourself with honesty
Tip 2 : Mention about the Workshops, hackathons, achievements, and the projects.
What people are saying about Morgan Stanley
posted on 20 May 2017
I appeared for an interview in May 2017.
Yes, the string class can be extended in most programming languages.
Inheritance can be used to extend the functionality of the string class.
By creating a new class that inherits from the string class, additional methods and properties can be added.
Extending the string class allows for customization and adding specific functionality to strings.
Example: In Python, the string class can be extended by creating a new class
Implicit objects in JSP are predefined objects that are available for use without any declaration or initialization.
Implicit objects in JSP include request, response, session, application, out, config, pageContext, page, exception, and others.
These objects provide access to various aspects of the JSP environment and can be used to perform common tasks.
For example, the request object allows access to HTTP request parame...
A hash map is a data structure that uses a hash function to map keys to values.
Hash map stores key-value pairs
It uses a hash function to compute an index for each key
Collisions can occur when two keys hash to the same index
Hash maps provide fast access to values based on their keys
StringBuffer and StringBuilder are both used to manipulate strings, but StringBuffer is thread-safe while StringBuilder is not.
StringBuffer is synchronized, making it safe for use in multi-threaded environments.
StringBuilder is not synchronized, making it faster but not thread-safe.
StringBuffer is preferred when multiple threads are involved, while StringBuilder is preferred for single-threaded scenarios.
Both classes p...
MVC is a software architectural pattern that separates an application into three main components: Model, View, and Controller.
Model represents the data and business logic of the application.
View is responsible for displaying the user interface.
Controller handles user input, updates the model, and interacts with the view.
MVC promotes separation of concerns and modularity in software development.
Example: In a web applica...
Annotations used in RESTful web services
1. @Path - Specifies the URI path for the resource
2. @GET - Specifies that the method handles HTTP GET requests
3. @POST - Specifies that the method handles HTTP POST requests
4. @PUT - Specifies that the method handles HTTP PUT requests
5. @DELETE - Specifies that the method handles HTTP DELETE requests
6. @PathParam - Binds the value of a URI template parameter to a method paramete...
posted on 10 May 2015
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 include Wi...
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.
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 is i...
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
Thread class and Runnable Interface are used for multithreading in Java.
Thread class is a predefined class in Java that provides methods to create and control threads.
Runnable interface is used to define a task that can be executed by a thread.
Thread class implements Runnable interface.
Thread class provides more control over threads than Runnable interface.
Example: Thread t = new Thread(new MyRunnable()); t.start();
Exa...
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 frequen
I am not interested in a career in investment banking.
I am more interested in a career in software development
I enjoy problem-solving and creating innovative solutions through coding
Investment banking does not align with my passion and skill set
I have chosen to apply to J.P. Morgan because of their reputation, global presence, and opportunities for growth.
J.P. Morgan has a strong reputation in the financial industry.
They have a global presence with offices in multiple countries.
The company offers various opportunities for career growth and development.
J.P. Morgan is known for its innovative technology solutions in the financial sector.
I am impressed by their ...
Yes, I have made a mistake in my previous project.
I underestimated the complexity of a task and ended up missing the deadline.
I failed to properly test a feature, resulting in a bug that affected user experience.
I accidentally deleted an important file without having a backup.
I misunderstood a requirement and implemented a feature incorrectly.
I applied via Campus Placement
A chemical engineer can help Citi by providing expertise in process optimization, risk management, and sustainability.
Optimizing Citi's manufacturing processes to reduce costs and increase efficiency
Developing risk management strategies to ensure compliance with environmental regulations
Implementing sustainable practices to reduce Citi's environmental impact
Providing technical expertise in chemical reactions and materi...
I appeared for an interview before Sep 2020.
Round duration - 30 minutes
Round difficulty - Easy
It was in the day time. I was asked the programming language of my choice. It was mostly focused on programming fundamentals. I was asked 2 questions based on Data Structures and Algorithms.
A loop in a linked list can be detected using Floyd's Cycle Detection Algorithm.
Use two pointers - slow and fast, where slow moves one step at a time and fast moves two steps at a time.
If there is a loop, the two pointers will eventually meet at some point within the loop.
To detect the start of the loop, reset one pointer to the head and move both pointers one step at a time until they meet again.
Round duration - 30 minutes
Round difficulty - Easy
This round was mostly focused on my resume and projects.
Round duration - 30 minutes
Round difficulty - Easy
It was in the evening. I went to their office in Gurgaon. It was taken by one of the technology director who had a lot of experience.
Do practice a lot of data structures questions as mostly questions in interviews are based on them. Also, do prepare for projects mentioned in your resume and skills which you have mentioned. Coding ninjas has a big hand in making my interview clear as I have taken a course from the coding Ninjas which helped me a lot to make my concepts clear.
Application resume tips for other job seekersKeep it short and crisp. Go through it properly before the interview. Make sure that you haven't put anything in it that can cause you problems during the interview.
Final outcome of the interviewSelectedposted on 5 Jul 2021
Some of the top questions asked at the Morgan Stanley Software Developer interview for experienced candidates -
based on 23 reviews
Rating in categories
Associate
3.3k
salaries
| ₹5.2 L/yr - ₹21 L/yr |
Senior Manager
2.5k
salaries
| ₹16 L/yr - ₹54 L/yr |
Manager
1.9k
salaries
| ₹10.6 L/yr - ₹42 L/yr |
Senior Associate
1.6k
salaries
| ₹7.1 L/yr - ₹27 L/yr |
Vice President
1.4k
salaries
| ₹21 L/yr - ₹80 L/yr |
JPMorgan Chase & Co.
Goldman Sachs
TCS
Deloitte