Microsoft visitó nuestro campus para contratar estudiantes de pre-último año para el puesto de pasante de ingeniería de software.
- Alrededor de 270 estudiantes se presentaron para la prueba en línea.
Prueba en línea: 90 minutos
Realizado en https://tests.mettl.com/ y contiene 3 preguntas de codificación con diferentes niveles de dificultad: Básico, Fácil y Medio, y lleva las marcas correspondientes.
- Dados 2 números decimales, x e y calculan la división x/y y la redondean hasta 3 decimales. Pregunta similar: https://www.geeksforgeeks.org/program-compute-division-upto-n-decimal-places/
- Dada una string, imprime la longitud de la substring palindrómica más larga. https://www.geeksforgeeks.org/longest-palindrome-substring-set-1/
- Hay n personas haciendo cola para comprar algo. Se dieron dos arrays: tiempo de espera, es decir, cuánto tiempo esperaría alguien para que llegara su turno y el tiempo empleado para obtener sus cosas del comerciante. Tienes que ayudar al comerciante a cubrir a la mayor cantidad de personas posible y producir lo mismo.
Aquellos que habían resuelto al menos 2 preguntas fueron seleccionados para la siguiente ronda. Pude resolverlos todos y alrededor de 90 estudiantes fueron seleccionados para la siguiente ronda.
Ronda de vuelo en grupo: 45 minutos
Fue una ronda basada en lápiz y papel. Se dieron 2 preguntas, y tenemos que resolverlas de manera eficiente y especificar claramente nuestro enfoque.
- Dado un árbol binario, escriba una función para conectar todos los Nodes adyacentes al mismo nivel. https://www.geeksforgeeks.org/connect-nodes-at-same-level/
- Dadas las horas de llegada y salida de todos los trenes que llegan a una estación de tren, la tarea es encontrar el número mínimo de andenes necesarios para la estación de tren para que ningún tren espere. Tenemos dos arrays que representan las horas de llegada y salida de los trenes que se detienen. https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/
Aquellos que resolvieron ambos problemas de manera eficiente y pudieron explicar sus ideas claramente fueron preseleccionados para rondas posteriores. 24 estudiantes seleccionados para las entrevistas.
Entrevista técnica 1: 40-45 minutos
La entrevista comenzó con una breve introducción sobre mí, el entrevistador me dijo que continuara durante 5 minutos seguidos (solo me preparé durante 2 o 3 minutos, así que comencé a contar lo que hice en la universidad… Así que prepárate para ello 🙂)
Luego pasó a la pregunta de la ronda anterior (la segunda pregunta del grupo vuela alrededor). Tenía mi solución y me dijo que validara mi código para diferentes casos de prueba. El entrevistador estaba tratando de demostrar que mi enfoque es incorrecto al agregar nuevos casos extremos cada vez, pero al final, quedó satisfecho con el enfoque. También preguntó sobre la implementación de Min-Heap ya que lo he usado en mi código.
Esta discusión duró alrededor de 30 a 35 minutos, luego me preguntó sobre las diferentes tecnologías en las que he trabajado y una pequeña discusión sobre ellas. Al final, le hice algunas preguntas sobre la vida y la cultura de Microsoft.
Entrevista técnica 2: 50-60 minutos
El entrevistador fue muy amable, estaba mirando mi currículum y he escrito series web y cricket en la sección de pasatiempos, por lo que hizo algunas preguntas:
- ¿Puedes nombrar todas las series web que has visto? (Preguntó los nombres de algunos personajes de GOT, tal vez solo estaba comprobando si lo había visto o no)
- ¿Jugador favorito de críquet y por qué?
- ¿Qué hago bolos o bateo?
Me dijo que tengo que administrar conferencias, laboratorios, asignaciones, series web, cricket y muchas otras cosas, así que hagamos el problema de programación del trabajo. ( https://www.geeksforgeeks.org/weighted-job-scheduling/ ). Me tomé un tiempo y se me ocurrió un enfoque recursivo. Señaló algunos casos extremos que me faltaban y me pidió que los corrigiera y así lo hice. Ahora me preguntó si puedo usar DP para optimizar aún más esta solución. Lo intenté pero no obtuve el enfoque correcto, entonces le pedí ayuda y finalmente, después de 2 intentos, pude escribirlo, y él también parece satisfecho.
¿Qué es un árbol binario?
¿Qué es un árbol de búsqueda binaria?
¿Puedes escribir una función para verificar si un árbol dado es un BST o no? https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
He visto esta pregunta antes, pero me tomé un tiempo para pensar que esta es la primera vez que me llega esta pregunta 😉 luego le dije 2 enfoques, primero el menos eficiente y luego el más eficiente y me dijo que codificara más. uno eficiente
Hizo muchas preguntas, yo hice algunas…
- Áreas de mejora.
- Tecnologías que yo/todos deberíamos conocer.
- Acerca del equilibrio entre el trabajo y la vida en Microsoft.
HR cum Entrevista técnica 3: 40-45 minutos
El entrevistador preguntó: ¿Cuál es el nombre de sus entrevistadores anteriores? Solo recuerdo el nombre del segundo entrevistador ya que el primero no me dijo su nombre y no pregunté. Dijo que deberías haberle preguntado su nombre. (Me aseguré de preguntarle su nombre al final) luego algunas preguntas rápidas-
- Estructura de datos favorita y ¿por qué crees que esta es tu favorita?
- ¿Qué es una abstracción en Java?
- Dibuje la estructura de clases de un cajero automático.
- Escriba los métodos que ha utilizado en la estructura de clases del cajero automático.
- Escribe algunas strings. (¡Sí, lo leíste correctamente!) No sé qué tipo de pregunta es esta, pero escribí una string en mayúsculas, una string en minúsculas y una string con el valor «String».
2 preguntas fáciles de codificación-
- Dada una array de enteros, encuentre el primer elemento que se repite en ella. https://www.geeksforgeeks.org/find-first-repeating-element-array-integers/ Resolví esto con 2 enfoques, primero ordenando, luego pidió minimizar la complejidad del tiempo y luego usó Hashing.
- Invierte las palabras en una string dada. https://www.geeksforgeeks.org/reverse-words-in-a-given-string/ Una vez más, uno fácil, primero invierta cada palabra una por una y luego invierta la string completa.
El resultado: incluyéndome a mí, 9 fueron seleccionados 🙂
PD: tenga confianza durante la entrevista y nunca dude en preguntar si está atascado. Definitivamente te ayudarán.
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