Experiencia de entrevista de Morgan Stanley | Presencial (Virtual) Julio 2020

Para el Rol de Analista de Tecnología.

de 1800 estudiantes solo 400 fueron elegibles para la prueba (9+, cgpa).
Prueba en línea: 3 SECCIONES, el mismo patrón básico, cámara web supervisada (¿dónde? -> AMCAT)
No puede saltar de una sección a otra. Cada sección tiene su propio tiempo y no se lleva adelante si se deja.

Sección 1 – Aptitud 20 MINS
Sección 2 – Depurar y completar el Código 20 MINS
Sección 3 – CODIFICACIÓN 60 MINS 3 códigos.
tenga en cuenta que las preguntas no eran directas, estaban retorcidas y no estaban bien enmarcadas. Estoy compartiendo aquí el nombre de la pregunta para que pueda encontrarla fácilmente en línea. 
código 1: saltos mínimos de Fibonacci (disponible en gfg)
código 2: combinación de intervalos ordenados.
code3- Dada una array de tamaño (n,m) con (+) o (-). (+) representa un punto del paralelogramo. Habrá exactamente 3 (+) símbolos dentro de la array de tamaño (n,m). Dados 2 puntos de la diagonal (x,y) del mismo paralelogramo y tendremos que averiguar el cuarto punto. 
entrada:-
5 4 //n,m
[[—-],[-+–],[+—],[—-],[–+-]] // array de tamaño n,m
2 2 5 3 // punto diagonal x1,y1 x2,y2
salida: – 
4 4 // cuartos puntos

de 400 solo 19 fueron preseleccionados.
ENTREVISTA RONDA 1 realizada en plataforma zoom

1) Concepto OOPS: mapea tu teclado con todo el concepto OOPS que conoces.
2) ¿Qué es el espacio de nombres en C++? con un ejemplo
3) Encuentra el elemento mínimo en una lista enlazada circular (sin clasificar).
Respuesta) 
Me pidió que escribiera el código funcional, revisara el código completo y me asegurara de que todos los casos base se hayan manejado o no. Luego discuta la complejidad del tiempo y, al final, el entrevistador me interrogó mucho sobre si hay o no optimización adicional disponible.
4) Implementar el botón Adelante y Atrás en el navegador web usando cualquier estructura de datos.
respuesta) 
Elegí lista doblemente enlazada y le expliqué la implementación completa. Más tarde me preguntó sobre la implementación de la pila y me pidió que explicara todo el enfoque. nuevamente me pidió que comparara la estructura de datos y me pidió que eligiera la mejor.
5) Luego, la siguiente pregunta estaba dirigida a los árboles. Me pidieron que discutiera y codificara Dados dos árboles binarios, verifique si el primer árbol es un subárbol del segundo. Un subárbol de un árbol T es un árbol S que consta de un Node en T y todos sus descendientes en T. 
Respuesta)
Le di el enfoque de recursividad y lo acompañé a través de toda la recursividad. Discutió la complejidad del tiempo y se aseguró de todos los casos extremos, ya sea que se estén manejando o no. Además, me pidió que lo optimizara usando la idea del recorrido. Después de optimizarlo, quería saber la razón por la que necesito dos recorridos y por qué no. sucedió usando uno, incluso me preguntó por qué no usé este enfoque en mi primer intento.
6) Por fin, su última pregunta del día fue sobre si un número es un cuadrado perfecto o no.
Respuesta) 
Comenzó con tiempo de fuerza bruta -> root (n). 
se le pidió que optimizara terminó con la búsqueda binaria en log(n), se le pidió que codificara el enfoque y explicara por qué lo estamos haciendo.

de 19 solo 10 fueron preseleccionados.
ENTREVISTA RONDA 2 realizada en plataforma zoom

Esta ronda fue básicamente una Ronda de Diseño Orientado a Objetos (o algunas personas lo llaman Diseño de Sistemas, lo cual es incorrecto).
Mi tarea era discutir sobre la implementación de mi propia aplicación BOOK MY SHOW y escribir su pseudocódigo. 
1) me pidió que señalara primero todos los módulos principales.
2) me pidió que comenzara a escribir todas las clases y funciones de las que estaba hablando.
3) paso a paso, el entrevistador comenzó a agregar características dinámicas a mi implementación que explicaré a continuación:
3.1) Tipos de usuarios:
-> Administrador, Clientes, Anfitriones
3.2) Tipos de funcionalidad:
-> Reservar un evento, Organizar un evento, administrar el pago , agregar usuario, modificar usuario, eliminar usuario, etc.
3.3) Agregar un usuario:
-> Nombre, edad, teléfono, ID de usuario (clave principal constante para los usuarios), correo electrónico, ubicación.* (consejos. Cree una estructura de ubicación con ciudad, país y estado para mostrar la sugerencia de evento adecuada al usuario)
3.4) Agregar un evento: 
– > eventId (clave principal constante para eventos), fecha, hora, duración, fecha de finalización, ubicación, horarios dinámicos para cada día si está disponible, disponibilidad de asientos, precio y datos del anfitrión.
3.5) Implementación de configuración de asientos:
-> quería que me encargara del caso en el que el asiento es una fila delantera, fila trasera, asiento de pasillo y asignar una identificación de asiento a cada asiento. para esto, recomendaría crear una nueva estructura llamada seatinfo y puede agregar todas las funciones requeridas y, al final, puede crear una array para el número de asientos dentro de toda la clase de función.
3.6) El usuario quiere hacer una reserva:
-> en esto, quería verificar cómo manejaré mi caso de reserva aquí, para eso primero debemos mostrarle al usuario los eventos que están sucediendo cerca de él, aquí usamos nuestra estructura de ubicación y ahora la variable de ciudad nos ayudará a mostrar sugerencias respectivamente. en segundo lugar, querremos que nuestro administrador administre la reserva y no realice ninguna funcionalidad en la clase de usuario, ya que garantiza la separación total entre el usuario y la clase de evento para que el usuario o el evento no puedan acceder/modificar.
3.7) Implementar la función de reserva en la clase de administrador de singleton (lea sobre las clases de singleton, muy básico)
-> establecer un tiempo de espera para cada usuario. Solicite al usuario que ingrese la identificación del asiento para los asientos que desea reservar y marque esos asientos como reservados para que no estén disponibles para otros usuarios. Permita que el usuario elija no más de 10 asientos. Solo marque un asiento reservado si está disponible. Luego, si el temporizador de tiempo de espera llega a cero, RETROCEDER todos los asientos seleccionados a disponibles. A continuación, si el usuario desea pasar a la sección de pago, siga comprobando constantemente la confirmación del pago. Si tiene éxito, muestre el boleto y un mensaje reservado o simplemente RETROCEDA los estados de los asientos que se seleccionaron para el usuario. (No me pidieron que implementara la función ROLLBACK).
3.8) Esto no fue así… para la sugerencia basada en la ubicación, quería otro enfoque basado en la API, por lo que le sugerí la API de mapas de Google, que nos brinda la latitud y la longitud. Ahora podemos seleccionar un rango particular de distancia y mostrar al usuario todo el evento presente en el radio seleccionado manteniendo al usuario como centro del círculo.

de 10 solo 6 calificaron para la siguiente ronda.
ENTREVISTA RONDA 3 realizada en plataforma zoom

Una ronda de recursos humanos. 
Me preguntaron sobre mi Introducción.
Sobre mi experiencia previa en prácticas.
3 cosas que me gustaron de mi empresa de prácticas.
3 cosas que no me gustaron de mi empresa de pasantías.
3 cosas que me gustaron de mi país y cómo lo hace especial de los demás.
3 cosas que realmente me gustaría cambiar en mi país.
y algunas preguntas sobre TRABAJO EN EQUIPO y LIDERAZGO.

Algunas cosas que debes tener en cuenta.
1) Mientras prepara un tema, asegúrese de que lo ha entendido muy bien y puede implementarlo usted mismo.
2) Si no está familiarizado con el tema o no sabe la respuesta. Solo di no.
3) Asegúrese de haber cubierto la aplicación del tema que conoce en profundidad.
4) si un entrevistador pide optimizar un código, entonces la optimización BUD es la mejor técnica. (Lea CRACKING the CODING INTERVIEW book, lo guiará sobre cómo enfrentar las entrevistas y tiene una buena colección de preguntas de entrevistas frecuentes, créame, coincide con 100 %).
5) Si se ha preparado para la entrevista, manténgase confiado y no entre en pánico.

No fui seleccionado para la oferta. TODO LO MEJOR 🙂

Publicación traducida automáticamente

Artículo escrito por namang_99 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 *