← Interview experiences
Got the offer

Senior Software Engineer at Morgan Stanley

Difficulty
Process took
2-3 Weeks
Rounds
5
Format
Remote
Applied via
Company Website

How it went

Getting selected after 5 rounds felt amazing! The process was thorough but fair, they really wanted to understand both my technical capabilities and how I'd fit into their team culture. Points that I suggest for new learner:

  • Don't just list technologies, be prepared to discuss them in depth
  • Have concrete examples of challenges you've solved

What they would tell you

Getting selected after 5 rounds felt amazing! The process was thorough but fair, they really wanted to understand both my technical capabilities and how I'd fit into their team culture. Points that I suggest for new learner:

  • Don't just list technologies, be prepared to discuss them in depth
  • Have concrete examples of challenges you've solved

How to prepare

  • Review core Java concepts and recent language features thoroughly
  • For DSA, I followed Striver’s SDE Sheet. Instead of memorizing solutions, I focused on understanding the underlying patterns and logic behind each problem. That helped me build real problem-solving skills rather than just remembering answers.

Their background

I'm a backend developer with 4 years of solid experience, currently working as a Software Engineer at a product-based company. My tech stack revolves around Java, Spring Boot, and Apache Spark, pretty much living and breathing distributed systems these days. Graduated from a Tier 3 college but never let that define my career trajectory. I've always been more interested in solving complex problems.

Round by round

  1. 1

    Coding Round 190 min

    The interviewer had a very structured approach. We started with a discussion around one of my projects. I talked about a real-time data processing system I built using Spark. They asked detailed questions, especially about how I handled performance and made the system fault-tolerant. After that, there was a coding question: Find the next permutation of an array. It’s a well-known problem, though I hadn’t practiced it recently. I took a moment to recall the steps, but once it clicked, writing the code was straightforward. The interviewer seemed more interested in how I approached the problem than just the final output. The low-level design round was quite engaging. I was asked to design a Snake and Ladder game from scratch. I had to think through how to structure the classes, use design patterns, and apply OOP concepts. I chose the Strategy pattern for different types of squares and the Observer pattern for handling game events. The interviewer questioned a few of my design choices, which led to some good technical discussions.

  2. 2

    System Design75 min

    This round was more deeper. The interviewer wanted to understand the high-level architecture of my most complex project. I explained the entire data pipeline we'd built for processing financial transactions in real-time. The technical discussion got quite detailed, we talked about partitioning strategies, fault tolerance mechanisms, and how we handled backpressure. The interviewer was clearly experienced and asked pointed questions about trade-offs and alternative approaches. The coding problem was about finding indices differences to next taller heights in an array. I immediately thought of using a stack-based approach, similar to the "next greater element" pattern.

  3. 3

    Hiring Manager60 min

    The hiring manager was sharp and asked very practical questions. We started with resume discussion, then moved to Java 17 features. I talked about sealed classes, pattern matching, and records, and how we'd actually used some of these in production. The Java migration discussion was particularly interesting. They asked about migrating versions without Gradle, focusing on challenges. I discussed dependency conflicts, JVM compatibility issues, and the testing strategies we'd used during our Java 11 to 17 migration. Kafka discussion was extensive, they wanted to know about UI tools, real-world use cases, partitioning strategies, and how it differs from traditional message queues. Then came the multithreading scenario about batch processing deadlocks. I had to identify potential issues like lock ordering problems and resource contention. The caching discussion was detailed since I'd mentioned Redis in my resume. We talked about cache invalidation strategies, distributed caching challenges.

  4. 4

    HR and Cultural Fit45 min

    Discussed my career progression, what I'm looking for in my next role, and how I handle challenging situations. The questions were typical behavioral ones, but the conversation felt natural rather than scripted. They explained the company culture, work-life balance, and growth opportunities. I asked about the team structure and how technical decisions are made. The discussion gave me a good sense of what working there would actually be like.

  5. 5

    VP Technical Discussion60 min

    This conversation was with a VP from the Big Data team, and honestly, it felt more like a technical brainstorming session than a typical interview. We spent a good amount of time on SQL.I walked through how we optimized heavy queries, managed large datasets efficiently, and set up smart storage strategies. They also shared the kind of Big Data challenges their team is tackling, things like risk analytics, real-time fraud detection, and large-scale market data processing. What really stood out was how natural and collaborative the conversation felt, almost like we were already part of the same team working on real problems. By the end, it seemed like the VP genuinely valued my technical understanding and how I approach problem-solving.

What came up

MediumRemote4 5 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources