Morgan Stanley | Mumbai | 2021 | Macro Strata Team
Anonymous User
1332

I was contacted by Morgan Stanley HR for a requirement in their strata team which builds softwares for MS trading platform. (Very high traffic from all the share markets with lots of real time data processing, availability and consistency both are the mandatory things.) Each round is of 30 mins.
First round: (Interviewer was from London, A Cambridge graduate, A veteran in technology with 14 years in Morgan Stanley).

  • Introduction.
  • Future prospects/plans about yourself.
  • MS Team's overview, product overview.
  • Language and current tech stack discussion.
  • Two questions:
    • What is percentile, How do you calculate percentile, Given a list of marks with rolenumber, find a given a role number's percentile. Discussion related to complexity and optimization.
    • Given a 3 * 3 grid, count number of ways to fill numbers 1-9 uniquely in the grid.
  • Current project.
  • Current project shortcomings and things to improve upon.
  • Mongo vs Postgres. What's the flaw with mongo vs postgres?
  • How does concurrency can be achieved at mongo?
  • What is the single granular level of concurrency at db level we can target to achieve?

Second round: 30 mins, from Hongkong office.
- Introduction.
- Question: In an API, how we can optimize the way to send large amount of data in an efficient manner? The API efficeincy relies upon size of data being sent in the response. Data being sent is a stream of numbers, in sorted order i.e. 1,1,1,1,1,1,1,1,1,2,2,9,9, 13,13,13,..... .
- What things you look for while reviewing a PR? What are multiple things to optimize the code.
- Their product overview, codebase overview, internal tech stack glance.
- Discussion about how things work there inside Morgan stanley, and Context about what the responsibilities of Strata team and use cases.
- Some more questions, I don't remember those now. But This round went really well. Interviewer was completely satisfied.

Verdict: Second round was positive. Waiting for third round. Total there will be 5 rounds. 3 more to go.

Edit:
Third round: (30 mins) London office. It was with global head of the team managing all the teams for strata across the globe.
- Introduced himself and team and how things are connected between all the team across the various regions, and what's the tech stack they have been using, and number of people in the team.
- Asked about my background, project, tech stack, and particularly the reason why I am interested in moving towards finance domain tech.
- Aware about any finance related terminologies? What's a bond? (I could make some answer for this only) Type of bonds? (No answer).
- The favorite languages I have worked on. I mentioned Java, PHP, JavaScript but he saw Python on resume in my college project.
- Difference between tuple and list and their usecases.
- Type of data we can store inside a tuple and list.
- What things do you see to optimize first in an application for a better user experience. I mentioned - Space and Time.
- He asked among tuple and list, which one is more memory efficient and time efficient and how?
- Asked about how memory allocation is done for list and tuple. I had only basic knowledge of tuple and list, so he was digging more and more.
- Asked if I am knowledge of numpy? I said no, then he asked for java.
- Asked what is method overloading and overriding in java?
- Public and private specifier in java and their use cases with an example.
- Any questions?

Fourth round: (30 mins) Luxemberg Office.

  • Introduction.
  • Why changing the job?
  • 2 brainteasers:
    • 10 steps ladder, a guy can move one or two step at a time, count number of ways he can reach up to 10th step.
    • Current time is 3:00 pm in a clock, at which time, both the minute and hour hands will meet? Calculate.
  • Java questions:
    • Time series data {timestamp: array of numbers, timestamp: array of numbers}. How will you store this data?
    • What does "==" operator checks?
    • Method overloading vs overriding.
    • Does java supports multiple inheritance? Why and why not? How do you resolve multiple inheritance problem in java?
  • DS question:
    • Given an array of numbers and a number X. Find the subarray whose sum is greater than X. Discussed in detail.
    • Any questions? I asked how does thing move inside a team, tasks, projects, releases and other activities. She explained well. Interviewer was very helpful and co-operating. Good experience.

Fifth Round: 30 mins (Budapest Office)
- Introduced himself and talked about team structure.
- Brain teaser:
- There are 7 people, there is a dice with 6 faces. We need to pick a loser with roll of dice. How to pick? Follow up: Suppose there is a cost of rolling a dice, so have to pick the loser with minimum rolls of dice.
- Computer Science question:
- Two arrays, find intersection of the arrays. I came up with O(n^2), then optimized that with hashset in O(n).
- Follow up: What if both arrays are sorted. I mentioned solution similar to merge two arrays in merge sort with time O(m+n), and constant space.
- Follow up: What if the one array is significantly larger than the other, suppose one array has 1 million elements, and other one has only 20. I mentioned - Do a binary seaerch for each of the 20 elements that comes down to O(20 log 1 million) complexity.
- Any questions.

Comments (3)