Morgan Stanley visitó recientemente mi universidad y ofreció una pasantía de verano. Los criterios para el registro fueron CGPA 7.5 y superior y el Perfil del puesto fue Analista. Fueron 3 Rondas. La primera ronda fue el desafío de codificación en línea seguido de 2 entrevistas virtuales en línea a través de Zoom Call en las que teníamos que presentar nuestra pantalla y codificar en cualquier editor de texto.
Después del registro, la empresa preseleccionó a 150 estudiantes y se realizó un examen en línea en la plataforma aspireminds. La prueba tenía 3 secciones y cada sección tenía un tiempo individual asignado para ellas.
Ronda 1 Ronda en línea (100 minutos):
Sección 1: Sección de Aptitud que tenía 10 preguntas para ser resueltas en 20 minutos. El nivel de dificultad de las preguntas fue de fácil a moderado.
Sección 2: Preguntas de depuración y tiempo para resolver fue de 20 minutos. Uno puede elegir cualquier lenguaje de programación para la depuración y la sección fue bastante fácil y uno tiene una comprensión básica de la programación que puede depurar fácilmente las preguntas.
Sección 3: Esta era la pregunta de codificación que tenía 3 preguntas de programación y se requería una para escribir el código completo, incluida la función principal de los problemas. El nivel de dificultad del programa fue de nivel medio a difícil. El tiempo para resolver 3 preguntas fue de 45 minutos.
- Pregunta 1: MNC TechnoSoft necesita saber el estado de carga del archivo en el servidor de la empresa al final de cada día. La empresa tiene una lista de tasas de carga de archivos durante N horas y quiere identificar el período dentro de estas N horas en el que la tasa de carga de archivos fue la más alta. Este período se define como el período más corto de horas consecutivas cuando la tasa total de carga de archivos fue superior o igual a la tasa de carga predefinida R de la empresa. Escriba un algoritmo para ayudar a la empresa a encontrar el período con la carga de archivos más alta dentro de las N horas dadas. .
- Pregunta 2: En un juego de recoger monedas, N monedas están dispuestas en secuencia. Cada moneda tiene algunos puntos de valor asociados con ella. El juego es jugado por varios jugadores en equipos de dos. Los miembros del equipo deben elegir el mismo número de monedas consecutivas distintas y guardar el orden en que se recogen las monedas. La puntuación del equipo se calcula invirtiendo el orden de las monedas elegidas por el segundo miembro. Los puntos de valor de las monedas escogidas por el primer miembro del equipo en un orden particular se multiplican por los puntos de valor respectivos de las monedas escogidas por el segundo miembro en orden inverso. Luego, el producto de cada multiplicación se suma a una puntuación que representa la puntuación final del equipo. Escribe un algoritmo para encontrar el puntaje máximo que cualquier equipo puede obtener con las monedas que le dieron. Si la puntuación máxima es negativa, la salida es 0.
- Pregunta 3: En un juego en línea, N bloques se organizan de forma jerárquica. A cada bloque se le asigna una ID de 1 a N. Un bloque puede estar conectado a otros bloques. Todos los bloques están conectados por conexiones N-1. A cada bloque se le asigna un valor de punto específico. Un jugador parte de un bloque (S). Debe avanzar de cada bloque a un bloque conectado directamente hasta llegar al bloque final, que no tiene más conexión. Cuando el jugador aterriza en un bloque, recoge el valor en puntos de ese bloque. La puntuación del jugador se calcula como el producto de los puntos de bloque que acumula el jugador. El jugador que obtiene la puntuación máxima gana el juego. Escribe un algoritmo para encontrar la puntuación máxima del ganador.
Mi aptitud fue bien, resolví alrededor de 2 o 3 preguntas de depuración y 1 problema de codificación. Alrededor de 20 estudiantes fueron preseleccionados para las entrevistas.
Ronda 2 Entrevista técnica F2F sobre Zoom (70 minutos): La entrevistadora comenzó presentándose y me pidió que hablara sobre mis proyectos. Después de escuchar los detalles de mi proyecto, me pidió que explicara cómo implementaría mi proyecto utilizando los conceptos de programación orientada a objetos. Tuvimos una larga discusión sobre esto. Se prolongó durante unos 25 a 30 minutos.
Luego me hizo algunas preguntas técnicas:
- Dado un árbol, imprime los niveles alternos del árbol. Seguí un método recursivo simple para resolver este problema. Luego me pidió que optimizara el código, lo que podría hacerse usando BFS.
- Dada una string que es una oración, invierta todas las palabras indexadas por Fibonacci.
- Dado un archivo de 500 GB y una RAM de 10 GB, ¿cómo clasificaría el archivo y cuál sería la complejidad temporal de la solución?
Me pidieron que codificara los primeros 2 problemas. Parecía bastante satisfecha con mis 3 soluciones. Después de esto, tuvimos una breve discusión sobre qué lenguaje de programación prefiero (que era Java) y hablamos sobre algunas de las últimas funciones agregadas a Java 8. Luego me preguntó si tenía alguna pregunta para ella y le pregunté cuánto tiempo ha estado trabajando para Morgan Stanley y lo que hace.
La entrevista duró más de una hora y solo 6 de los más de 20 estudiantes calificaron para la siguiente ronda.
Entrevista de recursos humanos F2F de la ronda 3 a través de Zoom (45 minutos): se suponía que esta ronda era una ronda de recursos humanos, pero me hicieron preguntas técnicas y de recursos humanos. La entrevistadora comenzó presentándose y me pidió que me presentara y hablara sobre algunos de mis proyectos. Después de escuchar los detalles de mi proyecto, me preguntó cuáles fueron algunos de los desafíos que enfrenté durante el proyecto y, dado que mi proyecto era un proyecto de equipo, también me preguntó cómo gestionaba a los miembros de mi equipo. Estas fueron prácticamente las únicas preguntas de recursos humanos que tenía. Después de esto, pasó a hacer algunas preguntas técnicas:
- Dada una lista de precios de acciones de 10 días, ¿cómo maximizará sus ganancias? Me pidieron que codificara la solución y ella quedó satisfecha con mi solución.
- ¿Cómo diseñaría e implementaría un juego de serpientes y escaleras usando conceptos de programación orientada a objetos? Tuvimos una discusión sobre esto y se prolongó durante unos 15 minutos, y ella estaba muy contenta con mi enfoque.
Luego me preguntó si tenía alguna pregunta para ella y yo tenía algunas dudas con respecto a lo que hacía su equipo en Morgan Stanley (anteriormente, cuando se presentó, mencionó que es directora ejecutiva en Morgan Stanley y me dijo en qué trabaja su equipo) y también le pedí que me diera su opinión sobre mi desempeño, y ella dijo que estaba contenta con mis soluciones.
Esta entrevista duró unos 45 minutos y finalmente solo 4 de los 6 estudiantes fueron seleccionados para la pasantía, y yo fui uno de los 4.