Morgan Stanley visited our campus to hire Final Year students for Technology Analyst profile.
ONLINE TEST (90 mins) :
· The test consisted of 3 sections (separate time allotted for each section).
1. 10 basic aptitude questions to be solved in 10 minutes.
2. 7 debugging questions to be solved in 20 minutes. All questions were easy.
3. Three coding questions (60 mins) :
A. It was a Hard problem(Tree+DP). Given a network of N servers in the form a tree. Cost of repair of each server was also given. We have to repair maximum servers in the allotted budget K such that if we repair two adjacent servers, we can repair them with some reduced cost, instead of the original repair cost. The reduced cost array was also given. Print the maximum number of servers that can be repaired with the given budget K.
B. Given an OTP (string of integers), we need to print all the string passwords that can be generated with the given OTP in sorted order.
SAMPLE INPUT :
2614
SAMPLE OUTPUT:
bfad
bfn
zad
zn
(This was an easy problem).
C. I don’t remember the problem statement but this was an easy-medium matrix problem which required some precomputations.
6 students were shortlisted for interviews. Interviews started at 9 a.m. in the morning and at around 10 a.m. we received a mail regarding an additional shortlist of 3 students. In the evening we received another mail stating that 5 more students were shortlisted for the interview process. My name was in the 3rd shortlist.
All Interviews were over Zoom platform.
TECHNICAL INTERVIEW – 1 (75 mins) :
- · Tell me about yourself.
- · What are Memory Leaks?
- · What do you understand by LRU cache and MRU cache? After explaining the terms she asked me implement LRU cache (Standard Leetcode Problem). Explained the approach and the Data Structures used (Map + Doubly Linked List).
- · She then asked me to write code for reversing a linked list on a shared screen. She was expecting a linear time O(1) space solution. I solved it using three pointer approach.
- · Then she asked me a question based on graph colouring in which I have to divide a group of N people into two groups such that no two friends fall in the same group.
- · Discussed Course Schedule (Standard Leetcode Problem) which I solved using Topological sort , then a discussion on time and space complexity of topological sort, DFS, BFS, etc.
- · After this she moved to OS. She asked me about threads, processes, deadlocks, scheduling algorithms and then the last question from OS was to explain the Round-robin Algorithm.
- · She then asked me to choose a language of my choice. I chose C++, then she asked why C++? Then she asked me to define and implement inheritance, abstraction, encapsulation, constructor overloading on notepad. Then we had a discussion on every keyword that I used while Implementing OOPS concepts.
- · What is Normalisation? Then she asked me 2-3 simple SQL queries and 2-3 nested queries. Left Join, Right Join, Inner Join and their Venn Diagrams. Then a discussion on self-join and Aggregation. I didn’t knew about aggregation, so she explained it to me with an example, after which she asked a question on aggregation which I was able to solve correctly.
- · Any Questions? I asked her about the Work Culture and individual growth at MS
TECHNICAL INTERVIEW – 2 (80 mins) :
- · This round was basically a design round along with project discussion.
- · First he asked me to introduce myself then gave me a design problem.
- · He asked me to design the JEE college allotment portal in which students have their ranks with them. Now I need to design a portal which will allow students to fill their choices in decreasing order of preference. After choice filling this portal will allot colleges and branches to students according to their preference and availability.
- He was just interested in the design part, so he asked me to open notepad and list down the classes, their members and member functions that were necessary to design this portal.
- I do not had much experience in Object Oriented design, So I knew I wasn’t doing great. But he gave me a lot of hints for breaking the tasks into subtasks and establishing relationships between those classes . He was carefully listening to me all the time and we had a very healthy discussion for around 30-40 minutes.
- (Tip : Gather all the requirements properly. Take proper time to gather information and understand the problem statement carefully. No one is perfect at everything, if you are willing to learn, he’ll definitely show you the way out)
- · After this we had a discussion on all the three projects one by one that I’ve mentioned in my resume. He asked me about the team size, my role in all projects, difficulties I faced.
- · Then he asked me about my favourite subjects and other subjects that were a part of our curriculum, my performance in those subjects.
- · As I’ve mentioned Competitive Programming in my resume, he wanted to know about a problem that I personally found the most interesting. I discussed 2 problems with him.
- · He then moved on to Deadlocks, necessary conditions for deadlock. Then he asked me to explain the Banker’s Algorithm.
- · Lastly he asked me design a library which would throw an error in case if a process P1 is demanding for a resource R1 and if we allocate R1 to P1, it would result in deadlock. Initially I was revolving around some modification in Banker’s Algorithm, later gave a solution to detect cycle in a graph by adding the edge P1->R1 in the Resource Allocation Graph.
- · Any Questions? I asked him about the various teams in MS, like team size and their roles.
HR Round (30 mins):
It was basically a Pro-Fit round (Professional Fitness). Basic HR questions were asked like:
- · Why Morgan Stanley?
- · The biggest risk that I’ve taken in my life.
- · How I managed my time during this COVID period at home.
- · Discussed all the three projects mentioned in my resume. Asked me to pick one on the basis of effort and future scope. Suppose your project is in market-ready state, how will you gather user-base for your product?
- · Discussed each and every line that I’ve mentioned in my resume.
- · Any Questions? – I asked him a few questions related to my profile and team allotment process for new recruits.
Then the HR told me that my process was complete. The results were announced the next morning.
Verdict : Selected
I was among the two students selected.
Some Tips:
- Be confident. As much as you can. That is the key to get into any company. Don’t show even a hint of nervousness and show them as if you are REALLY excited to do a job there.
- If you don't have any knowledge about a topic tell the interviewer, don't beat around the bush.
- Focus on a single language (Java/C++ recommended). Be thorough with the subjects like DS, Algo, OS, DBMS and OOPS concepts.
- If they ask you to explain an algo then explain it in a really convincing way such that they would hardly ask you for a written code!
- Try grasping hints and they highly encourage a two- way discussion.
- · Archives from GeeksForGeeks really helped.
All the Best! :)
-
Ashish Kumar
IT 2k21
Comments
Post a Comment