I had a total of four rounds of interviews at Morgan Stanley, including a salary discussion. The first round was an online assessment with two coding questions and a few multiple-choice questions. The coding questions were relatively easy, and I was able to solve them well before the time limit. The multiple-choice questions were also straightforward. The second round was a virtual interview focusing on Java and basic problem-solving. I was asked a few basic questions about object-oriented programming, to write pseudo-code for a question similar to the producer-consumer problem, and to explain how to implement a stack using a queue and a queue using a stack. The third round was a virtual interview that focused on problem-solving, data structures, and design patterns. I was asked to solve one hard LeetCode question on backtracking and one medium LeetCode question on intervals. I was also asked to explain the strategy pattern with an example. The fourth round was a virtual managerial interview. I was asked basic managerial questions and to be prepared to discuss my current and previous projects in detail. I was also asked to explain why I chose to use specific technologies in my projects. After a week of completing the managerial round, I received a call from HR for a salary discussion. Two weeks later, I received the offer letter.