Preparing for an interview? Check out Cracking the Coding Interview
Published on

Morgan Stanley | Technology Analyst | US | July 2023

Author
  • Shared Anonymously

Offcampus Opportunity

After sending direct inmails to several recruiters and talent acquisition managers at Morgan Stanley, I received a LinkedIn message from a recruiter about an available position opening. Upon request, I shared my resume. Following the resume screening, the recruiter sent me an application link. This link guided me to their Careers Portal.

To initiate the application process, start by visiting the company's designated careers page tailored for students and graduates. If you haven't already, establish an account on their online portal. Once you've successfully logged in, proceed to upload your pertinent details along with an up-to-date resume.

Resume Tips:

  1. Both one-column and two-column resumes worked well, but I preferred one column for better ATS scores.
  2. I followed a specific format for my experience descriptions, including metrics, target audience, and the impact I achieved.
  3. My resume highlighted my top 3 experiences, 3 key projects, and notable achievements.
    I also utilized Overleaf to create my resume, as it offered a hassle-free approach to editing without worrying about formatting. Unlike using MS Word, which can be time-consuming due to formatting challenges, Overleaf streamlined the process. For those seeking to enhance their resumes, I recommend exploring the following Overleaf templates:
  • One Column Template: https://www.overleaf.com/latex/templates/jakes-resume/syzfjbzwjncs
  • Two Column Template: https://www.overleaf.com/latex/templates/deedy-cv/bjryvfsjdyxz

Following the resume screening, I was pleased to receive an email, notifying me about completing my HireVue Digital Questionnaire. There were 4 behavioural based questions for which you get time to prepare your answer and record. After some days, I got a mail stating that I had been shortlisted for the next stage of the hiring process. Subsequently, I was extended an invitation to attend a session as well. During this informative session, we delved into discussions about job description and subsequent phases of the hiring process. Following the same, we had a test scheduled on the SHL Testing Platform.
<br>

Online Assessment

The assessment spanned a total of 90 minutes and was structured into three distinctive sections:

  1. The initial section featured aptitude questions designed to assess logical reasoning and numerical ability.
  2. The second segment focused on debugging code snippets and determining the program output type for given scenarios.
  3. The third and final segment consisted of 3 DSA questions. These questions were of a medium-hard difficulty level and were uniquely crafted, not resembling any existing LeetCode problems. They were scenario-based, challenging candidates with novel problem-solving scenarios.
    Even though I started with a basic code, it was partially accepted. I then worked on optimizing it and successfully solved two questions completely. For the third question, I passed most of the test cases and failed just 2 hidden test cases.
  • Note that there was a section-based timing too.

Interview Rounds

I got a call and notification by mail after some days that my interview round was scheduled.

  1. Round 1: During the interview, the discussion initiated with the customary request for an introduction. Subsequently, the interviewer engaged me in a conversation about my preferred tech stack and the architectural choices I had made in my projects. Basic concepts such as SOLID principles, ACID properties, the Publisher-Subscriber model, and Consistent Hashing were covered in the discourse.

I was given questions similar to these Leetcode Problems:

  • https://leetcode.com/problems/lfu-cache/
  • https://leetcode.com/problems/count-the-number-of-ideal-arrays/

I gave approach for the first one since I had solved LRU Cache problem before. So with small variations I was able to come up with LFU Cache logic. The interviewer was a bit unsure of the solution, so she gave me 3 test cases. I performed the dry run and the output matched the expected output.
For the second question, I came up with a recursion solution, it had \uD83D\uDE25 a bad time complexity. I could see that It needed serious optimization but wasn't sure. She was hinting on a mathematical based approach but I was finding it a bit difficult. I tried to use my recursion logic to come up with a DP Solution but it didn't seem as if she was completely satisfied.

  1. Round 2: The interviewer was very supportive from the beginning for this round.
    He gave me question similar to https://leetcode.com/problems/palindrome-partitioning/. The conditions were also that all palindromes counted should be distinct and non-overlapping. After I came with a satisfactory approach, he added the constraint that each partition should be of length 'p'. We discussed about the time complexity of the approach and he gave me few test cases, I performed a detailed dry run. One thing which I consider was a plus point for me, I was constantly talking to him about what's going on in my mind, how am I breaking it into sub problems, why I am going with this approach.

In the subsequent phase, the interviewer shifted the focus to C++ memory management. I tackled questions regarding memory management for structs and unions, delving into object-oriented concepts like Pure Virtual Functions and Friend Functions. I also clarified distinctions between void and NULL. This transitioned smoothly into generic HR questions, which I addressed without difficulty.

<br><hr>

Tips for people trying offcampus

  • Have a strong foundation in Data Structures and Algorithms
  • Don't underestimate time complexity and space complexity constraints given.
  • Try to walk through your approach in a way you are explaining it to a known person. It's okay if you are saying some generic stuff. No need of high grade English answers at this point.
  • Patience, because results may not be immediately communicated. The responses for further processes might take time.
  • There is a high competition, so don't get demotivated. The reasons of rejection are not always because of your technical proficiency. A candidate is evaluated on a lot of parameters.
  • Keep yourself up-to-date as per industry standards. It's good to learn new frameworks, gain some new skills. This will set you apart from other candidates. Everyone sit for the interviews with knowledge in Core Subjects, DSA, etc.
ReportMark as Helpful