Morgan Stanley FTE Interview Experience | On-Campus 2021 (Virtual)
Morgan Stanley visited our campus for Internship and Full-Time Positions in July’21. I was offered a Full Time position along with a 6-month internship.
Out of everyone who applied, around 400 were shortlisted to appear for the Preliminary Round based on their CGPA.
Hey geek! It's time to become a success story instead of reading them. Check out our most renowned DSA Self Paced Course, now at a student-friendly price and become industry ready. And if you are looking for a more complete interview preparation resource, check out Complete Interview Preparation Course that will prepare you for the SDE role of your dreams!
Feeling prepared enough for your interview? Test your skills with our Test Series that will help you prepare for top companies like Amazon, Microsft, TCS, Wipro, Google and many more!
The recruitment process was as follows:
Preliminary Round(Online Test): This round was held on AMCAT Portal. The total duration of the test was 2 hours and consisted of 4 sections, each of which was individually timed. The sections were:
Quantitative Aptitude: This section consisted of MCQs from topics like Geometry, Time and Distance, Probability, Permutations and Combinations, Time and Work, etc.
Computer Science Fundamentals: This section had MCQs from Data Structures, Database Management Systems, Operating Systems, Computer Networks, and Linux. Here are some topics from which questions were asked.
- Hamming Distance (CN)
- Packet Switching (CN)
- Routing Protocol (CN)
- Multithreading (OS)
- Threads (OS)
- Shell (Linux)
- Normalization (DBMS)
Debugging: There were 7 code snippets in this section, each of which was to be corrected and tested against some public and private test cases. The languages offered were C++ and Java, and the preferred language was to be selected before starting this section. Types of questions:
- Logical – We had to correct the logic of the given snippet to produce the correct output. For example,
- Remove semicolon after looping statement (to execute the code inside the loop).
- Change System.out.println() to System.out.print() (in Java)
- Compilation – Fix the code to remove compilation errors without changing the logic. For example,
- Check for infinite loops
- Code Reuse – A pre-defined function was given. We were supposed to use this function to write the logic for our problem statement. For example,
- The function to find the Euclidean distance between any two points was given. We had to write the logic to check if the three given points form a right-angled triangle using this function.
Programming: There were 3 questions in this section which were to be solved in an hour. The questions asked were:
- A simple array question which could be solved using Brute Force Method
- A variation of Maximum number of overlapping Intervals
- A variation of Longest Common Subsequence
Round 1(Technical Interview – I): Out of 400 students who had appeared for the test, 48 were shortlisted for this round. This round was held on Zoom. The interview started with my introduction. My interviewer then asked me about my most preferred programming language, which was Python, following which I was asked Python-specific questions. Here are some of them:
- Difference between list and tuples
- Is Python compiled or interpreted?
- What is namespace in python?
- What is PEP?
- Difference between break, continue, and pass
- Difference between Arrays and lists in Python
- What is __init__?
Around 15-20 Python-specific questions were asked, and I was able to answer most of them correctly.
The interviewer then moved on to Data Structures and Algorithms. The questions were:
- Without using any collection class, how to find the frequency of each character of a word.
- Suggest an effective method to sort a large set of floating point numbers which are in range from 0.0 to 1.0
I could solve the first question and suggested the method (Bucket Sort) to solve the second one, but could not code it out correctly.
Then he moved on to Operating Systems and asked the following questions:
Round 2(Technical Interview – II): I was told that I was shortlisted for this round 2 hours after giving the previous interview. This interview started with my introduction as well. Since I’m primarily a Backend Developer, most of the questions revolved around Backend, DBMS, and DevOps. Some of them were:
- How do you begin working on a backend project?
- How to reduce the query time of a large database?
- How will you reduce the response time of a GET request which is being hit very frequently? (Caching using Redis)
- Have you worked with Redis?
- Principles of REST
- Types of HTTP response status codes (https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
- Can a Database be partitioned? (Sharding)
- How will you manage the situation if your server is getting very high traffic? (Load Balancing)
- How will you efficiently manage the situation if there is too much load on a server at a particular time and too little at another time? (Elasticity)
- What is the difference between Horizontal Scaling and Vertical Scaling?
The interviewer also asked me about Docker and Kubernetes, but I told him I had not worked with these technologies yet.
A few other questions that I was asked were:
- I was asked to explain one of my projects.
- What was your role in your previous internship, and what are you working on in your current internship?
- You have to design an Airbnb clone. What considerations will you keep in mind while designing the recommendation system?
- You have to design a goods delivery application. How will you manage the delivery scheduling of the delivery valets?
I managed to answer almost all the questions correctly.
Round 3(Managerial Interview): About 3 days later, I got the call to appear for the Managerial Round.
- This interview was taken by an Executive Director and lasted 45 mins. I was asked to introduce myself. We spoke about my role in my projects, internships, and the College Chapter that I was a board member of.
- He asked me how I overcame challenges and managed the team.
- Some of the questions revolved around the core values of Morgan Stanley. The interviewer was looking for honest responses and was quite impressed by my answers.
The results were declared a few days later. 6, including me, were offered 6-month Internship + FTE, and 3 were offered a 6-month Internship.
- For the Programming Section, practice a lot of problems from Arrays, Greedy and Dynamic Programming
- Make sure you revise quantitative aptitude before the test, because you need to clear the cutoff for each section to make it to the next round.
- For the technical MCQs, go through Last Minute Notes on GeeksForGeeks.
- For the interviews, know everything about your most preferred language. If you are choosing Java/C++, make sure you are thorough with OOPs Concepts.
- Revise Operating System concepts before the interview, especially Memory Management and Disk Scheduling.
- Know everything in your resume.
- Be honest during the interview. If you don’t know something, do not bluff for a long time.
- The managerial round is about your previous experiences, make sure you are open with the interviewer and keep your answers believable.