Morgan Stanley | Bangalore | Senior Associate | Mid April 2022 | India
Summary
I interviewed for a Software Engineer position at Morgan Stanley in Bangalore, which involved four rounds covering data structures, Java, SQL, system design, and behavioral aspects. I shared my 3 years of experience across product and service-based companies.
Full Experience
I went through an interview process with Morgan Stanley for a Software Engineer role in Bangalore. My professional background spans approximately 3 years, comprising 1.5 years at a product-based startup and 1.4 years at a service-based MNC.
The entire process was structured into four distinct rounds.
Round 1: Online Assessment
This round consisted of 10 Multiple Choice Questions and 2 coding problems which were comparable to LeetCode Medium difficulty.Round 2: Technical Interview I
This interview focused on both Data Structures and Java. For DS, I was asked to:- Find a loop in a Linked List, with a follow-up to remove it.
- Check if a Linked List is a palindrome.
- Explanation and code implementation of the Singleton design pattern.
- Detailed discussion of OOPS concepts with examples.
- The differences between
StringandStringBuffer. - The internal working mechanism of HashMap.
- SQL queries, specifically for finding the 3rd highest salary and general join-related questions.
- When to choose NoSQL databases over SQL databases.
Round 3: Technical Interview II
This round also heavily focused on Data Structures and Java, with a strong emphasis on optimization and exploring multiple approaches for each problem. The DS questions included:- Finding the starting point of a loop in a Linked List.
- Identifying the first non-repeating character in a string.
- Sorting an array after squaring its elements.
- Finding the longest common prefix of an array of strings.
- The internal working of both HashMap and HashSet.
- Strategies for handling a large number of incoming requests in a system.
- Discussion on different memory areas within the JVM.
Hiring Manager Round
This final round involved broader discussions around my experience and technical decisions:- A brief discussion on my projects.
- Justification for using particular technologies in my projects.
- How I implemented fallback mechanisms in my systems.
Interview Questions (17)
How do you find a loop in a linked list? What is the follow-up to remove the loop from the linked list?
How do you check if a given linked list is a palindrome?
Explain the Singleton design pattern and provide a code implementation for it.
Explain Object-Oriented Programming (OOPS) concepts with examples.
What are the differences between String and StringBuffer in Java?
Explain the internal working mechanism of HashMap in Java.
Write SQL queries to find the 3rd highest salary. Also, discuss and provide examples for join-related questions.
When would you choose a NoSQL database over a SQL database? Discuss the scenarios and reasons.
How do you find the starting node (or entry point) of a loop in a linked list?
Find the first non-repeating character in a given string.
Given a sorted array, return a new array containing the squares of all numbers, also sorted in non-decreasing order.
Find the longest common prefix string amongst an array of strings.
Explain the internal working of both HashMap and HashSet in Java.
How would you design a system to handle a large number of incoming requests?
Explain the different memory areas within the Java Virtual Machine (JVM).
During project discussions, you may be asked to justify why you chose a particular technology or framework.
Explain how you have implemented a fallback mechanism in your previous projects or systems.