# Analyst
**Role:** Software Engineer · **Level:** L3
**Company:** [Morgan Stanley](https://scaleengineer.com/companies/morgan-stanley)
**Difficulty:** Medium
**Salary:** US$85000 - US$110000
**Experience:** 1 - 3
**Timeline:** ~14 days
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.
Canonical: https://scaleengineer.com/interviews/morgan-stanley/l3-software-engineer
---
## Overall evaluation

- Technical and Behavioral Assessment
- Overall Impression

## Questions 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?

## Preparation tips

### lists

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

### studyPlan

- {"title":"Foundational Concepts","longDescription":"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).","shortDescription":"Weeks 1-2: Data Structures & Basic Algorithms. Big O."}
- {"title":"Intermediate Concepts","longDescription":"Weeks 3-4: Dive into more advanced data structures like Trees (Binary Trees, BSTs, Tries) and Graphs. Learn graph traversal algorithms (BFS, DFS) and common graph problems. Continue practicing coding problems.","shortDescription":"Weeks 3-4: Advanced Data Structures (Trees, Graphs) & Algorithms. Coding Practice."}
- {"title":"Object-Oriented Programming","longDescription":"Week 5: Focus on Object-Oriented Programming (OOP) principles and design patterns. Understand concepts like inheritance, polymorphism, abstraction, and encapsulation. Review common design patterns (e.g., Singleton, Factory, Observer).","shortDescription":"Week 5: OOP Principles & Design Patterns."}
- {"title":"Behavioral Preparation","longDescription":"Week 6: Prepare for behavioral questions. Use the STAR method to structure your answers for common questions about teamwork, challenges, failures, and successes. Research Morgan Stanley's culture and values.","shortDescription":"Week 6: Behavioral Questions (STAR Method) & Company Research."}
- {"title":"Practice and Refinement","longDescription":"Week 7: Practice mock interviews, focusing on both technical and behavioral aspects. Get feedback from peers or mentors. Review any areas you feel weak in. If the role involves system design, start learning basic concepts.","shortDescription":"Week 7: Mock Interviews & System Design Basics (if applicable)."}

## Location differences

- {"location":"New York","differences":{"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."],"interviewFocus":["Understanding of core Java/Python concepts.","Problem-solving approach to coding challenges.","Familiarity with financial markets and terminology (especially for New York and London)."],"commonQuestions":["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?"]}}
- {"location":"London","differences":{"tips":["Highlight your ability to adapt to different project requirements.","Showcase your eagerness to learn and contribute.","Prepare specific examples to illustrate your skills."],"interviewFocus":["Proficiency in data structures and algorithms.","Ability to write clean, efficient, and maintainable code.","Understanding of object-oriented programming principles."],"commonQuestions":["Tell me about a time you had to work with a difficult stakeholder.","How do you stay updated with new technologies?","Describe a situation where you had to debug a complex issue.","What are your strengths and weaknesses as a software engineer?"]}}
- {"location":"Hong Kong","differences":{"tips":["Focus on your problem-solving methodology.","Demonstrate a proactive attitude.","Be prepared to discuss your career aspirations."],"interviewFocus":["Problem-solving and analytical skills.","Understanding of software development lifecycle.","Communication and teamwork abilities."],"commonQuestions":["How do you approach designing a new feature?","What are your favorite programming languages and why?","Describe a time you failed and what you learned from it.","How do you ensure the quality of your code?"]}}

## Round 1: Technical Coding Round
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Solve 1-2 coding problems focusing on data structures and algorithms.
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.
**Interviewers look for:** Ability to translate a problem into code.; Understanding of Big O notation.; Clean and readable code.; Problem-solving approach.
**Evaluation criteria:** Correctness of code; Efficiency of solution (time and space complexity); Clarity of thought process; Coding style and best practices
**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.
## Questions

- Given an array of integers, return indices of the two numbers such that they add up to a specific target.
- Implement a function to check if a binary tree is a Binary Search Tree (BST).
- Find the kth smallest element in a sorted matrix.

## Preparation tips

- Practice coding problems on platforms like LeetCode.
- Understand Big O notation.
- Write clean, well-commented code.
- Think out loud while solving problems.

## Round 2: Computer Science Fundamentals Round
**Type:** Technical Interview (CS Fundamentals) · **Difficulty:** Medium · **Duration:** 45 min
Assess understanding of CS fundamentals like OS, Databases, Networking.
This round delves deeper into your computer science knowledge. Expect questions on operating systems, databases, networking, and potentially object-oriented design. The interviewer will assess your understanding of fundamental concepts and your ability to apply them to solve problems. They will also look for your logical thinking and how you approach technical challenges.
**Interviewers look for:** Solid grasp of CS fundamentals.; Ability to articulate technical ideas.; Analytical thinking.; Potential for growth.
**Evaluation criteria:** Understanding of core computer science concepts (OS, Databases, Networking).; Ability to explain technical concepts.; Problem-solving approach.; Logical thinking.
**Common rejection reasons:** Lack of understanding of fundamental CS concepts.; Inability to explain technical concepts clearly.; Poor problem-solving skills.; Not demonstrating curiosity or willingness to learn.
## Questions

- Explain the difference between TCP and UDP.
- What is a deadlock and how can it be prevented?
- Describe the ACID properties in database transactions.
- Explain the concept of polymorphism with an example.

## Preparation tips

- Review core CS concepts (OS, DB, Networking).
- Understand OOP principles.
- Be ready to explain technical terms.
- Practice explaining system design concepts if applicable.

## Round 3: Behavioral and Fit Round
**Type:** Behavioral Interview · **Difficulty:** Medium · **Duration:** 30 min
Assess teamwork, communication, motivation, and cultural fit.
This round focuses on your behavioral and cultural fit. You'll be asked questions about your past experiences, how you handle teamwork, challenges, and conflicts. The interviewer wants to understand your motivation, your communication style, and how you align with Morgan Stanley's values. Use the STAR method to provide specific examples.
**Interviewers look for:** How you handle challenges and conflicts.; Your ability to work with others.; Your passion for technology and finance.; Your alignment with Morgan Stanley's culture.; Your career aspirations.
**Evaluation criteria:** Teamwork and collaboration skills.; Communication and interpersonal skills.; Motivation and alignment with company values.; Problem-solving approach in non-technical scenarios.; Self-awareness
**Common rejection reasons:** Poor cultural fit.; Lack of enthusiasm for the role or company.; Inability to provide specific examples for behavioral questions.; Arrogance or lack of humility.; Poor communication skills.
## Questions

- Tell me about a time you had a conflict with a team member and how you resolved it.
- Describe a project where you had to meet a tight deadline.
- What motivates you in a work environment?
- Why are you interested in working at Morgan Stanley?

## Preparation tips

- Prepare examples using the STAR method.
- Research Morgan Stanley's culture and values.
- Be enthusiastic and positive.
- Ask thoughtful questions about the team and role.
