I interviewed for a Technology Associate position at Morgan Stanley. The interview process consisted of an online coding test, two technical interviews, and an HR interview.
The online coding test was on Hackerrank and included 20 MCQs on Computer Science topics like OS, Data Structures and Algorithms, Databases, and Computer Networking. There were also 20 MCQs on aptitude and verbal reasoning topics. The test also included two coding questions: one medium and one hard.
Coding Problem 1: Given a string, find the minimum length substring which contains all the characters that are present in the string. For example: string = "abcaab", Output = "abc". I used the sliding window approach to solve this problem.
Coding Problem 2: Given strings s and t, find the minimum (contiguous) substring w of s, so that t is a subsequence of w. s = "abcdebdde", t = "bde", Output = "bcde". I did not have enough time to solve this problem completely, but I applied a brute force method and some test cases passed.
Technical Interview 1: The interviewer asked some OS questions like Multiprocessing, Process Scheduling, and then a knapsack-like problem that could be solved by Dynamic Programming. Finally, he asked a question on binary trees: given a binary tree, find all the paths from the root to all the leaf nodes.
Technical Interview 2: The interviewer was very friendly. He started by asking me to discuss some of my projects. Then he asked a system design problem: design an Amazon-like service that can display products to be sold, offers, ratings, and the number of customers who bought the product. He gave me some queries and asked me to design the system in a way that optimizes these queries. I started with a simple database design with only two tables and slowly tried to split it into multiple tables to optimize the queries.
HR Interview 3: The interview started with usual HR questions like "Tell me about yourself", "hobbies", "Why do you want to join the company", and "What do you know about the company". I asked the interviewer a little bit more about what they do and who their clients are. Then he asked about my strengths and weaknesses.
I was happy to learn that I was selected for the position. I practiced coding on LeetCode before the interview, and it helped me a lot.