Experiencia de entrevista de Morgan Stanley para pasantía de 6 meses + FTE (en el campus) 2021

Morgan Stanley fue una de las primeras organizaciones que llegó a nuestra universidad para la colocación en el campus. Alrededor de 388 estudiantes de mi universidad fueron preseleccionados para intentar la evaluación en línea. El límite de CGPA para la preselección fue de 9 CGPA. Los solicitantes podían elegir entre el programa de ingeniería empresarial y el programa de desarrollo de aplicaciones. Seguí adelante con el Enterprise Engineer Track.

Evaluación en línea: La evaluación tuvo una duración de 2 horas y se dividió en 3 secciones. Se llevó a cabo en la plataforma Aspiring Minds (SHL) y, aunque se permitió rastrear las preguntas omitidas dentro de una sección, no se permitió cambiar entre secciones.

  1. Ronda de depuración (20 minutos): esta ronda consistió en 7 preguntas fáciles que debían completarse en 20 minutos. Uno podría elegir su lenguaje de programación preferido antes de comenzar esta sección. El objetivo era simplemente modificar el código dado (revertir el signo, rectificar la lógica y/o corregir la sintaxis) para cumplir con los requisitos de la pregunta y borrar todos los casos de prueba.
  2. Sección de Habilidad de Razonamiento (20 minutos): Esta sección tenía 10 preguntas que ponían a prueba la aptitud y la habilidad de razonamiento (Cuantos). Las preguntas eran en su mayoría de dificultad media y no requerían muchos cálculos.
  3. Ronda de codificación (80 minutos): Uno tenía que resolver 3 preguntas de codificación (fácil, fácil, medio) en el idioma preferido.

una. Juguetes: Un grupo de niños (N) tiene el mismo juguete (tipo 0). Se le han proporcionado consultas Q. Cada consulta tiene 3 números enteros L, R y M. Para cada consulta, debe reemplazar el juguete de los niños entre el rango de L y R (inclusive) con M. Al final de cada consulta, imprima el juguete que es más común entre los niños junto con el número de niños que tienen el juguete. (Formato = <número entero que representa los juguetes más comunes>-<número de niños con ese juguete>)

Input :  N = 4 Q = 3 toy types = 3
Query Array: [[1,1,1],[2,4,2],[1,4,3]]  

Output : 0-3 2-3 3-4

Explanation: We have 4 children and 3 queries. At the beginning every 
             kid has the same toy 0.
             1) After the first query is triggered, child 1's toy is 
                replaced with 1, yet 0 is the most common 
                toy as rest of the 3 children have it.
             2) After the second query is triggered, 2,3, and 4's toy is
                replaced with 2. Now, 2 is the most 
                common toy as 3 children have it.
             2) After the third query is triggered, everyone has their 
                toy replaced with 3. Now, 3 is the most 
                common toy.

Enfoque: clasificaría la pregunta como fácil, ya que el hashing fue una solución viable e intuitiva. Uno solo necesitaba almacenar los pares niño-juguete en una array con niños como índices y luego contar los pares juguete-niños en un hashmap. Luego, solo requería una variable para rastrear el juguete más común. Para cada consulta, solo necesitábamos actualizar los valores (para todos los niños entre L y R) y compararlos con la variable.

b. Máximo de Recolecciones Continuas: Una fábrica tiene varias cajas alineadas en una fila. Tiene una máquina para recoger un subconjunto de cajas. Se le proporcionan N consultas, donde cada consulta contiene un rango de cajas que deben recogerse. Debe determinar el número máximo de recolecciones continuas que la máquina deberá realizar en el proceso de recolección.

Input :  Q = 3
 Query Array: [[1,5],[6,9],[11,17]]  

Output : 9

Explanation: The interval 1-5 and 6-9 can be merged as 1-9. 
             Hence maximum continuous pickups = 9

Enfoque: En mi opinión, esto también podría clasificarse como una pregunta fácil. El enfoque sugerido en el artículo vinculado podría usarse para fusionar intervalos . El único inconveniente para esta pregunta fue que tuvimos que incrementar el valor final de cada rango en 1 porque incluso cuando un rango diferente comienza desde el siguiente número, todavía se considera una recolección continua. 

C. Anuncio de plataforma OTT: Eres el jefe de una plataforma OTT. Tienes dos programas que se estrenarán en la misma fecha. Te diste cuenta de que el departamento de publicidad accidentalmente reservó más espacios para el primer programa que para el segundo programa. Reconociendo que este lío podría favorecer al primer programa, usted les pide justamente que modifiquen los espacios para que ambos programas tengan espacios publicitarios idénticos. Desafortunadamente, este proceso causaría la pérdida de espacios publicitarios que ya se han comprado, por lo tanto, debe minimizar las pérdidas en el proceso seleccionando tantos espacios idénticos como sea posible. Un ejemplo del programa de anuncios AD1 es abcdedgh, el costo de cada espacio C1 es 10. Dado que no puede cambiar el orden de los anuncios, imprima la mínima pérdida posible.

Input :  AD1 = abcdedgh C1 = 10 AD2 = abcdgbksmn C2 = 20 

Output : 130

Explanation: The final advertisement schedule is abcdg. So (8-5)3 
             slots were lost in AD1 and (10-5)5 slots were lost in AD2.
             Final loss = 3*10 + 5*20 = 130

Enfoque: si bien la redacción de la pregunta era complicada, el enfoque era similar a un problema de programación dinámica conocido como subsecuencia común más larga

Pude responder todas las preguntas antes de la hora de finalización (aproximadamente 20 minutos antes). De todos los candidatos, solo 22 y 26 candidatos fueron seleccionados para EE track y App dev track respectivamente. La mayoría de los solicitantes tropezaron con la pregunta de programación dinámica porque no pudieron decodificarla. Por lo tanto, no se puede exagerar la importancia del temperamento para tales exámenes.

Entrevistas Virtuales

Ronda 1 (Entrevista técnica)

1. Introducción

2) Hashing
   : implementación de cualquier técnica de hashing (hablé de hashing cuadrático y directo)
   : dado un conjunto de números, averigüe si contiene duplicados. (Complejidad de Tiempo Mínimo)

3) Java
     – Recolector de basura en detalle
     – Clase e interfaz de colecciones

4) Lista de enlaces 
      – encontrar bucle
      – eliminar bucle

5) Discusión en profundidad de proyectos y contribución.

6) Clasificación
       : diferentes técnicas de clasificación en el lugar
       , análisis de la complejidad del tiempo de diferentes técnicas de clasificación
       , implementación de clasificación rápida.

7) Sistemas operativos
        – Proceso vs subproceso
        – Memoria virtual
        – RAID
        – Thrashing
        – Programación preventiva/no preventiva, inanición
        – reemplazo de página y fallas de página

Veredicto: Rechazado

A pesar de que pude responder a todas las preguntas excepto una. No fui seleccionado. Hubo una ronda más para EE Track (HR) y se seleccionaron 10 solicitantes (EE+ app dev) en total. Mi única sugerencia sería aprender de todos tus rechazos y superarlos lo más rápido posible. Solo 2 días después de este proceso, fui preseleccionado por Amazon .

Mis conclusiones clave de este rechazo

  • Es primordial que uno aprenda de los rechazos y los supere lo más rápido posible. Es mejor gastar el tiempo dedicado a estar obsesionado con el rechazo preparándose para la próxima oportunidad.
  • El proceso de colocación es difícil y rápido para usted. Cada empresa tiene criterios diferentes. Recuerdo que una empresa me rechazó a pesar de que completé la ronda de codificación en solo 20 minutos. No busque la equidad en el proceso.
  • Esté tranquilo y sereno durante la entrevista. Comunica todos tus pensamientos. Trate de no tener largas pausas. Si olvida algo, menciónelo al entrevistador y siga comunicándose mientras intenta recordarlo.
  • Al elegir un proyecto para discutir, no elija uno elegante. Elige el que conoces de adentro hacia afuera.

Consejos para la preparación de la entrevista

  • La consistencia es clave. Repase su DSA diariamente y siga practicando preguntas de codificación. Trabajar en la construcción de la lógica de programación y el desarrollo de una técnica sistemática para abordar las preguntas. (utilizar InterviewBit, LeetCode, GFG y Hackerrank)
  • Trabaje en su capacidad para escribir código limpio y comprensible en el primer intento (sin cometer errores lógicos o sintácticos). La depuración lleva mucho tiempo, lo ayudará durante las entrevistas y las pruebas.
  • Trate de incorporar la escritura táctil. Mi velocidad de escritura solía ser de alrededor de 30 WPM, casi me tomó 8 meses convertirla a 95 WPM, pero estoy seguro de que me ayudó durante las entrevistas. (10fastfingers, Keybr y Typingclub son algunos recursos útiles)
  • Antes de la entrevista, lea sobre la empresa. Sus principios, cultura de trabajo, etc.
  • Durante la entrevista, discuta siempre la lógica de la fuerza bruta antes de pasar a la solución más compleja y haga tantas preguntas aclaratorias como desee. Incluso si ha intentado esa pregunta antes, trate de representar que la está intentando por primera vez.
  • Esté tranquilo, sereno y confiado durante la entrevista. No es necesario responder todas las respuestas a la T. Incluso si nada te llama la atención, sigue hablando de tu proceso de pensamiento y soluciones plausibles. Puede ser cercano e incluso si no lo es, al menos, el entrevistador podría interpretar la forma en que aborda los problemas.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *