Analyst

Software EngineerL3Medium

This interview process is for a Software Engineer role at Morgan Stanley, specifically for the Analyst (L3) level. It is designed to assess a candidate's technical proficiency, problem-solving skills, and cultural fit within the firm.

Rounds·3

Timeline·~14d

Experience·1 - 3 yrs

Comp band·US$85000 - US$110000

Interview time·120 min

Evaluation

What they measure.

  • Technical Skills (Data Structures, Algorithms, Programming Language Proficiency)
  • Problem-Solving Abilities
  • Communication Skills
  • Teamwork and Collaboration
  • Cultural Fit and Motivation

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms (arrays, linked lists, trees, graphs, sorting, searching).
  2. Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
  3. Brush up on core concepts of your primary programming language (e.g., Java, Python, C++).
  4. Understand object-oriented programming principles (encapsulation, inheritance, polymorphism).
  5. Prepare to discuss your past projects in detail, focusing on your contributions and the challenges faced.
  6. Research Morgan Stanley's values, mission, and recent news.
  7. Prepare answers to common behavioral questions using the STAR method (Situation, Task, Action, Result).
  8. Familiarize yourself with basic system design concepts if applicable to the role.
  9. Understand the software development lifecycle (SDLC) and Agile methodologies.

Study plan

Fig · Study plan — 05 phases

01 / 05
01

Phase 01 of 05

Foundational Concepts

Weeks 1-2: Data Structures & Basic Algorithms. Big O.

Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues) and basic algorithms (Sorting, Searching). Practice implementing these in your preferred language. Understand time and space complexity (Big O notation).

Questions

Commonly asked.

  • Tell me about yourself.
  • Why Morgan Stanley?
  • Describe a challenging technical problem you faced and how you solved it.
  • Write a function to reverse a linked list.
  • Explain the difference between a process and a thread.
  • How would you design a URL shortener?
  • What are your strengths and weaknesses?
  • Describe a time you worked effectively in a team.
  • How do you handle constructive criticism?
  • What are your career goals?

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

New York

Interview focus

Understanding of core Java/Python concepts.Problem-solving approach to coding challenges.Familiarity with financial markets and terminology (especially for New York and London).

Common questions

  • Explain a project you are particularly proud of and the technologies used.
  • How would you handle a situation where a critical system is experiencing performance issues?
  • Describe your experience with Agile methodologies.
  • What are your thoughts on code reviews and best practices?

Tips

  • For New York and London, be prepared to discuss your understanding of market data or trading systems if applicable.
  • Emphasize collaboration and teamwork.
  • Be ready to articulate your thought process clearly.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

Med

Technical Interview (Coding) · 45 min · Software Engineer / Senior Software Engineer

This round focuses on assessing your core technical skills. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will evaluate your approach to problem-solving, your ability to write efficient and correct code, and your understanding of time and space complexity. Be prepared to explain your thought process clearly as you code.

What they look for

Ability to translate a problem into code.Understanding of Big O notation.Clean and readable code.Problem-solving approach.

Evaluation

  • Correctness of code
  • Efficiency of solution (time and space complexity)
  • Clarity of thought process
  • Coding style and best practices

Sample questions

  • Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    ArrayHash TableTwo Pointers
  • Implement a function to check if a binary tree is a Binary Search Tree (BST).

    TreeBinary Search TreeRecursion
  • Find the kth smallest element in a sorted matrix.

    MatrixHeapBinary Search

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode.
  2. 02Understand Big O notation.
  3. 03Write clean, well-commented code.
  4. 04Think out loud while solving problems.

Common rejection reasons

  • ×Inability to solve basic coding problems.
  • ×Poor understanding of fundamental data structures and algorithms.
  • ×Lack of clarity in explaining thought process.
  • ×Negative attitude or poor communication.

DSA

Coding questions at Morgan Stanley.

Frequently reported on Morgan Stanley loops

Other guides

More at Morgan Stanley.