Morgan Stanley visitó nuestro campus para pasantías y puestos de tiempo completo en julio de 2021. Me ofrecieron un puesto de tiempo completo junto con una pasantía de 6 meses.
De todos los que solicitaron, alrededor de 400 fueron preseleccionados para presentarse a la ronda preliminar en función de su CGPA.
El proceso de contratación fue el siguiente:
Ronda Preliminar (Prueba en Línea): Esta ronda se llevó a cabo en el Portal AMCAT. La duración total de la prueba fue de 2 horas y constó de 4 secciones, cada una de las cuales fue cronometrada individualmente. Las secciones eran:
Aptitud cuantitativa : esta sección consistió en MCQ de temas como geometría, tiempo y distancia, probabilidad, permutaciones y combinaciones, tiempo y trabajo, etc.
Fundamentos de informática : esta sección tenía MCQ de estructuras de datos, sistemas de gestión de bases de datos, sistemas operativos, redes informáticas y Linux. Aquí hay algunos temas de los cuales se hicieron preguntas.
- Distancia de Hamming (CN)
- Conmutación de paquetes (CN)
- Protocolo de enrutamiento (CN)
- Subprocesamiento múltiple (SO)
- Subprocesos (SO)
- Concha (Linux)
- Normalización (DBMS)
Depuración : había 7 fragmentos de código en esta sección, cada uno de los cuales debía corregirse y probarse en algunos casos de prueba públicos y privados. Los lenguajes ofrecidos fueron C++ y Java, y el lenguaje preferido debía seleccionarse antes de comenzar esta sección. Tipos de preguntas:
- Lógico: tuvimos que corregir la lógica del fragmento dado para producir el resultado correcto. Por ejemplo,
- Elimine el punto y coma después de la instrucción de bucle (para ejecutar el código dentro del bucle).
- Cambie System.out.println() a System.out.print() (en Java)
- Compilación: corrija el código para eliminar los errores de compilación sin cambiar la lógica. Por ejemplo,
- Comprobar bucles infinitos
- Reutilización de código: se proporcionó una función predefinida. Se suponía que íbamos a usar esta función para escribir la lógica de nuestro enunciado del problema. Por ejemplo,
- Se dio la función para encontrar la distancia euclidiana entre dos puntos cualesquiera. Tuvimos que escribir la lógica para verificar si los tres puntos dados forman un triángulo rectángulo usando esta función.
Programación : Había 3 preguntas en esta sección que debían ser resueltas en una hora. Las preguntas que se hicieron fueron:
- Una pregunta de array simple que podría resolverse usando el método de fuerza bruta
- Una variación del número máximo de intervalos superpuestos
- Una variación de la subsecuencia común más larga
Ronda 1 (Entrevista Técnica – I): De los 400 estudiantes que se presentaron a la prueba, 48 fueron preseleccionados para esta ronda. Esta ronda se llevó a cabo en Zoom. La entrevista comenzó con mi presentación. Luego, mi entrevistador me preguntó acerca de mi lenguaje de programación preferido, que era Python, y luego me hicieron preguntas específicas sobre Python. Éstos son algunos de ellos:
- Diferencia entre lista y tuplas
- ¿Python está compilado o interpretado?
- ¿Qué es el espacio de nombres en Python?
- ¿Qué es PEP?
- Diferencia entre romper, continuar y pasar
- Diferencia entre arrays y listas en Python
- Que hay en ello__?
Se hicieron alrededor de 15-20 preguntas específicas de Python, y pude responder la mayoría de ellas correctamente.
El entrevistador luego pasó a Estructuras de datos y algoritmos. Las preguntas fueron:
- Sin usar ninguna clase de colección, cómo encontrar la frecuencia de cada carácter de una palabra.
- Sugiera un método efectivo para ordenar un gran conjunto de números de coma flotante que están en el rango de 0.0 a 1.0
Pude resolver la primera pregunta y sugerí el método (Bucket Sort) para resolver la segunda, pero no pude codificarlo correctamente.
Luego pasó a Sistemas operativos e hizo las siguientes preguntas:
- Explicar paginación
- ¿Qué es RAID ?
Ronda 2 (Entrevista técnica – II): Me dijeron que estaba preseleccionado para esta ronda 2 horas después de dar la entrevista anterior. Esta entrevista también comenzó con mi presentación. Dado que soy principalmente un desarrollador de back-end, la mayoría de las preguntas giraban en torno a back-end, DBMS y DevOps. Algunos de ellos fueron:
- ¿Cómo empiezas a trabajar en un proyecto backend?
- ¿Cómo reducir el tiempo de consulta de una gran base de datos?
- ¿Cómo reducirá el tiempo de respuesta de una solicitud GET que se recibe con mucha frecuencia? ( Almacenamiento en caché usando Redis )
- ¿Has trabajado con Redis?
- Principios de DESCANSO
- Tipos de códigos de estado de respuesta HTTP (https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
- ¿Se puede particionar una base de datos? ( fragmentación )
- ¿Cómo manejará la situación si su servidor está recibiendo mucho tráfico? ( Equilibrio de carga )
- ¿Cómo administrará de manera eficiente la situación si hay demasiada carga en un servidor en un momento determinado y muy poca en otro momento? ( Elasticidad )
- ¿Cuál es la diferencia entre el escalado horizontal y el escalado vertical ?
El entrevistador también me preguntó por Docker y Kubernetes, pero le dije que aún no había trabajado con estas tecnologías.
Algunas otras preguntas que me hicieron fueron:
- Me pidieron que explicara uno de mis proyectos.
- ¿Cuál fue su papel en su pasantía anterior y en qué está trabajando en su pasantía actual?
- Tienes que diseñar un clon de Airbnb. ¿Qué consideraciones tendrá en cuenta al diseñar el sistema de recomendación?
- Tienes que diseñar una aplicación de entrega de mercancías. ¿Cómo gestionará la programación de entrega de los valets de entrega?
Logré responder casi todas las preguntas correctamente.
Ronda 3 (entrevista gerencial): aproximadamente 3 días después, recibí la llamada para presentarme a la ronda gerencial.
- Esta entrevista fue tomada por un Director Ejecutivo y duró 45 minutos. Me pidieron que me presentara. Hablamos sobre mi papel en mis proyectos, pasantías y el capítulo universitario del que era miembro de la junta.
- Me preguntó cómo superé los desafíos y manejé el equipo.
- Algunas de las preguntas giraron en torno a los valores fundamentales de Morgan Stanley. El entrevistador buscaba respuestas honestas y quedó muy impresionado con mis respuestas.
Los resultados se dieron a conocer unos días después. A 6, incluyéndome a mí, se les ofreció una pasantía de 6 meses + FTE, y a 3 se les ofreció una pasantía de 6 meses.
Mis consejos
- Para la Sección de Programación, practique muchos problemas de Arrays, Greedy y Dynamic Programming
- Asegúrese de revisar la aptitud cuantitativa antes de la prueba, porque necesita borrar el límite de cada sección para pasar a la siguiente ronda.
- Para los MCQ técnicos, revise las notas de último minuto en GeeksForGeeks.
- Para las entrevistas, sepa todo sobre su idioma preferido. Si elige Java/C++, asegúrese de ser minucioso con los conceptos de programación orientada a objetos.
- Revisar los conceptos del sistema operativo antes de la entrevista, especialmente la gestión de memoria y la programación de discos.
- Conoce todo en tu currículum.
- Sea honesto durante la entrevista. Si no sabes algo, no bluff durante mucho tiempo.
- La ronda gerencial se trata de sus experiencias previas, asegúrese de ser abierto con el entrevistador y mantenga sus respuestas creíbles.
¡Buena suerte!
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