Morgan Stanley | Technology Analyst | US | July 2023
Summary
I navigated an off-campus hiring process for a Technology Analyst role at Morgan Stanley in July 2023, which included a HireVue assessment, an SHL Online Assessment with DSA problems, and two rounds of technical interviews covering LeetCode-style problems and core computer science concepts.
Full Experience
I initiated my off-campus job search by sending direct inmails to various recruiters and talent acquisition managers at Morgan Stanley. This proactive approach led to a LinkedIn message from a recruiter regarding an open position. After sharing my resume and successfully passing the screening, I received an application link to their Careers Portal.
The application process involved creating an account on their student and graduate careers page, uploading my details, and submitting an updated resume. My resume strategy involved using a one-column format for better ATS scores, detailing experiences with metrics, target audience, and impact, and highlighting my top three experiences, key projects, and notable achievements. I utilized Overleaf for its ease of use in formatting.
Following the resume screening, I was invited to complete a HireVue Digital Questionnaire, which consisted of four behavioral questions with allotted preparation and recording time. Soon after, I was shortlisted for the next stage and attended an informative session detailing the job description and hiring process. This was followed by an Online Assessment on the SHL Testing Platform.
Online Assessment
The 90-minute assessment had three sections. The first covered aptitude questions, assessing logical reasoning and numerical ability. The second focused on debugging code snippets and determining program output. The final section featured three Data Structures and Algorithms questions of medium-hard difficulty. These were unique, scenario-based problems, not directly from LeetCode. I managed to solve two questions completely and passed most test cases for the third, failing only two hidden cases. It's worth noting that there was section-based timing.
Interview Rounds
I received notification for my interview rounds shortly after.
Round 1: Technical Interview
The first round began with a standard self-introduction, followed by a discussion about my preferred tech stack and architectural choices in my projects. The interviewer also questioned me on fundamental concepts like SOLID principles, ACID properties, the Publisher-Subscriber model, and Consistent Hashing.
I was then given two LeetCode-style problems. For the first, similar to LFU Cache, I drew upon my experience with LRU Cache to devise a solution. The interviewer provided three test cases, and I successfully performed a dry run, matching the expected outputs. For the second problem, similar to Count the Number of Ideal Arrays, I initially proposed a recursive solution with poor time complexity. The interviewer hinted at a mathematical approach, and while I attempted to pivot to a DP solution, it didn't seem to fully satisfy them.
Round 2: Technical and Behavioral Interview
The second interviewer was very supportive. They presented a problem similar to Palindrome Partitioning, with additional constraints: all palindromes had to be distinct and non-overlapping. After I presented a satisfactory approach, a further constraint was added: each partition should be of a specific length 'p'. We discussed the time complexity of my solution, and I performed a detailed dry run with test cases. A key strength during this round was my constant communication, explaining my thought process, problem-breaking strategy, and reasoning behind my chosen approach.
Subsequently, the discussion shifted to C++ memory management, including questions on structs, unions, and object-oriented concepts like Pure Virtual Functions and Friend Functions. I also clarified the differences between void and NULL. The round concluded with general HR questions, which I addressed without difficulty.
Interview Questions (3)
Given a string, partition it such that each substring in the partition is a palindrome. Additionally, all palindromes should be distinct and non-overlapping, and each partition must be of a fixed length 'p'. I discussed my approach, its time complexity, and performed dry runs for given test cases, explaining my thought process throughout.
Preparation Tips
My preparation for this off-campus opportunity involved several key areas. I proactively reached out to recruiters and spent considerable effort optimizing my resume. I used a one-column format for better ATS compatibility, detailed my experiences with quantifiable metrics, and highlighted my top projects and achievements. Overleaf proved invaluable for hassle-free resume editing.
Technically, I focused on building a strong foundation in Data Structures and Algorithms. I paid close attention to time and space complexity constraints, recognizing their importance in competitive environments. During mock interviews and practice, I honed my ability to articulate my thought process, breaking down problems and explaining my chosen approaches clearly. This constant communication of my ideas was a significant advantage.
Additionally, I aimed to stay updated with industry standards, learning new frameworks and skills to differentiate myself, as foundational knowledge in core subjects and DSA is expected of all candidates. Patience was also a critical aspect of my preparation, understanding that hiring processes can be lengthy and outcomes are not always immediate or solely dependent on technical proficiency.