Morgan Stanley interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Morgan Stanley
upvote
share-icon
3 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
It often started with an interest in computers, technology, or problem-solving. I pursued a degree in computer science. During this phase, I learn programming languages, data structures, algorithms, and other fundamental concepts. And focused on a self-learning journey through online resources, tutorials, and coding boot camps.
Application story
The company arrived at the college campus and met with the placement cell of the college. The placement cell informed students through the mail and all unplaced students needed to register for the same.
Why selected/rejected for the role?
1. Team Player: The ability to collaborate and work effectively in a team is essential in most software development roles. 2. Good Communication: Effective communication skills, both verbal and written, are important for conveying ideas and collaborating with team members. 3. Technical Skills: Demonstrating strong technical skills, knowledge of programming languages, and proficiency in relevant technologies can be a significant factor in being selected for a software developer role.
Preparation
Duration: 7 months
Topics: Data Structures, OOPS, DBMS, Networking, OS, System Design
Tip
Tip

Tip 1: Work on Real-world Projects: Showcase your skills by working on personal projects or contributing to open-source projects. This demonstrates your ability to work on real-world software development tasks and collaboration with other developers.
Tip 2: Research the Company: Familiarize yourself with the company's products, services, and technologies. Understand their work culture and values to tailor your responses during the interview.
Tip 3: Practice Coding: Practice coding regularly to improve your problem-solving skills and programming proficiency. Use online coding platforms like LeetCode, HackerRank, or Codeforces to solve coding challenges.
Tip 4: Improve Communication Skills: Practice articulating your thoughts clearly and concisely. Effective communication is crucial, especially when explaining technical concepts or discussing past experiences.

Application process
Where: Campus
Eligibility: 7 CGPA
Resume Tip
Resume tip

Tip 1: Showcase Relevant Skills: Create a dedicated skills section that includes technical and soft skills relevant to the job. Use keywords from the job description to demonstrate your suitability.
Tip 2: Highlight Your Achievements: Use bullet points to showcase your accomplishments, not just your job duties. Quantify your achievements with numbers or percentages whenever possible.
Tip 3: Keep It Concise: Limit your resume to one or two pages, focusing on the most relevant and impactful information. Recruiters often skim through resumes, so make it easy for them to find key details quickly.
Tip 4: Use a Clean Format: Choose a professional and easy-to-read font. Organize your resume with clear headings and bullet points to enhance readability.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration50 minutes
Interview date1 Sep 2022
Coding problem2

1. Vertical Order Traversal of Binary Tree

Moderate
35m average time
65% success
0/80
Asked in companies
ArcesiumMorgan StanleyNoBroker

Vertical Order Traversal of Binary Tree

Problem approach

Step 1 : Depth-first traversal of the binary tree, using a hashmap to store nodes at each vertical level.
Step 2 : Traverse the entire tree 
Step 3 : Sort the nodes within each column and extract them column by column to form the vertical order traversal.

Try solving now

2. Reverse Alternate K Nodes

Easy
10m average time
90% success
0/40
Asked in companies
AdobeIntuitSalesforce

You are given a Singly Linked List of integers and a positive integer 'K'. Modify the linked list by reversing every alternate 'K' nodes of the linked list.

A singly linked list is a type of linked list that is unidirectional, that is, it can be traversed in only one direction from head to the last node (tail).
Note:
If the number of nodes in the list or in the last group is less than 'K', just reverse the remaining nodes. 
Example:
Linked list: 5 6 7 8 9 10 11 12
K: 3 

Output: 7 6 5 8 9 10 12 11

We reverse the first 'K' (3) nodes and then skip the next 'K'(3) nodes. Now, since the number of nodes remaining in the list (2) is less than 'K', we just reverse the remaining nodes (11 and 12). 
Note:
You need to reverse the first 'K' nodes and then skip the 'K' nodes and so on. 5 6 7 10 9 8 11 12 is not the correct answer for the given linked list. 
Problem approach

Step 1 : Traverse the linked list while keeping track of the current node and its previous node.
Step 2 : When the count reaches k, reverse the group of k nodes using a helper function and adjust the links accordingly.
Step 3 : Move to the next group by moving the current node k steps ahead.
Step 4 : Repeat this process until you reach the end of the linked list. The time complexity is O(n), where n is the number of nodes in the linked list.

Try solving now
02
Round
Hard
Online Coding Interview
Duration70 minutes
Interview date8 Sep 2022
Coding problem3

1. Check Bipartite Graph

Moderate
50m average time
50% success
0/80
Asked in companies
UberWalmarteBay

Given a graph, check whether the graph is bipartite or not. Your function should return true if the given graph's vertices can be divided into two independent sets, ‘U’ and ‘V’ such that every edge (‘u’, ‘v’) either connects a vertex from ‘U’ to ‘V’ or a vertex from ‘V’ to ‘U’.

You are given a 2D array ‘edges’ which contains 0 and 1, where ‘edges[i][j]’ = 1 denotes a bi-directional edge from ‘i’ to ‘j’.

Note:
If edges[i][j] = 1, that implies there is a bi-directional edge between ‘i’ and ‘j’, that means there exists both edges from ‘i’ to ‘j’ and to ‘j’ to ‘i’.

For example

Given:
‘N’ = 3
‘edges’ = [[0, 1, 1], [0, 0, 1], [0,0,0]]. 

Problem approach

Step 1: Choose an arbitrary starting node and assign colors (0 and 1) to it and its neighbors alternately.
Step 2: Traverse the graph using DFS, coloring the neighbors with the opposite color of their parent node.
Step 3: If a conflict is encountered (i.e., a node already has a color and it matches its parent node's color), the graph is not bipartite.
Step 4: Continue the DFS until all nodes are colored or a conflict is found.
Step 5: If the traversal completes without conflicts, the graph is bipartite. Return True; otherwise, return False.

Try solving now

2. Word Break

Moderate
15m average time
85% success
0/80
Asked in companies
Morgan StanleyMakeMyTripIBM

You are given a list of “N” strings A. Your task is to check whether you can form a given target string using a combination of one or more strings of A.

Note :
You can use any string of A multiple times.
Examples :
A =[“coding”, ”ninjas”, “is”, “awesome”]  target = “codingninjas”
Ans = true as we use “coding” and “ninjas” to form “codingninjas”
Problem approach

Step 1 : Initialize a DP table to store whether substrings can be segmented into valid words.
Step 2: Set the base case for an empty string (DP[0] = True).
Step 3: Use dynamic programming to fill the DP table, checking if substrings can be segmented into words based on the given dictionary.
Step 4: Return the value in the DP table for the entire string, indicating if it can be segmented into valid words.

Try solving now

3. Partition Equal Subset Sum

Moderate
25m average time
65% success
0/80
Asked in companies
AdobeAmazonOla

You are given an array 'ARR' of 'N' positive integers. Your task is to find if we can partition the given array into two subsets such that the sum of elements in both subsets is equal.

For example, let’s say the given array is [2, 3, 3, 3, 4, 5], then the array can be partitioned as [2, 3, 5], and [3, 3, 4] with equal sum 10.

Follow Up:

Can you solve this using not more than O(S) extra space, where S is the sum of all elements of the given array?
Problem approach

Step 1: Calculate the total sum of all elements in the set. If it's odd, return False as partitioning is not possible.
Step 2: Initialize a DP table with base cases.
Step 3: Use dynamic programming to fill the DP table, checking if it's possible to achieve the current sum using the current element.
Step 4: Return the value in the DP table for the target sum (total sum divided by 2), which indicates if the set can be partitioned into two equal subsets.

Try solving now
03
Round
Easy
HR Round
Duration40 minutes
Interview date15 Sep 2022
Coding problem1

1. Basic HR Questions

Tell me about yourself

What are your strengths and weaknesses?

Why do you want to work for our company?

How do you handle stress and pressure?

What are your career goals and aspirations?

Tell me about a time when you demonstrated leadership

How do you handle failure or setbacks?

 

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

How do you remove whitespace from the start of a string?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by Morgan Stanley
0 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 4 problems
Interviewed by Morgan Stanley
0 views
0 comments
0 upvotes
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Morgan Stanley
1864 views
0 comments
0 upvotes
company logo
SDE - 1
1 rounds | 3 problems
Interviewed by Morgan Stanley
867 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
115097 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
58238 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
35147 views
7 comments
0 upvotes