Experiencia de entrevista de Microsoft para pasantía de verano 2020

Ronda 1) Prueba escrita realizada en mettl.com 

Hubo un grupo de preguntas de las cuales todos obtuvieron 3 preguntas en 1,5 horas. Las preguntas fueron de nivel fácil, fácil y medio. me preguntaron lo siguiente: 
 

  1. Encuentra las raíces de la ecuación cuadrática dada. La parte complicada fue que pidieron devolverlos (no imprimirlos) con solo 3 decimales.
  2. Compruebe si hay paréntesis equilibrados en una determinada pieza de código.
  3. Dados n estudiantes, m universidades y n*m array booleana que representa si el estudiante se ha postulado en una universidad o no. Además, dada la cantidad de cupos en la universidad, ¿cuáles son las admisiones máximas posibles que se podrían otorgar en total?

Hice los tres para estar en el lado más seguro. Pero el corte sorprendentemente fue bajo a 1.6 preguntas resueltas. Tienen casos de prueba específicos relacionados con casos de esquina, casos de complejidad de tiempo, etc. 10 casos de prueba por pregunta. 

54 estudiantes fueron preseleccionados para la próxima ronda. 

Ronda-2) Ronda de vuelo en grupo 

Me pregunto por qué se llama ronda de vuelo en grupo, cuando no hay ningún grupo ni nada volando. Aquí, dieron 2 preguntas en 1 hora donde tenemos que escribir el código completo en papel en cualquier idioma de su elección. Se recomienda utilizar C, C++ o Java. Las preguntas son: 

  1. Imprime todos los Nodes con k distancia desde el Node de destino.
  2. Algoritmo de relleno de inundación, es decir, dada una array de n*m ​​con diferentes colores en cada píxel. Dada una coordenada (i, j) y un nuevo color k, debe rellenar el color k en la coordenada dada y todos los píxeles adyacentes con el mismo color se rellenarán con un nuevo color. Esto se hace de manera recursiva hasta que los límites son de diferentes colores.

Hice los dos. Recomendaría practicar bien las estructuras de datos y los algoritmos básicos. Las áreas incluyen árboles, pila, listas enlazadas, gráficos y programación dinámica, en ese orden. Resolver todas las preguntas hasta esta ronda te dará respaldo en caso de que arruines alguna ronda de entrevistas. Intente escribir un código limpio y ordenado, sin cancelar ninguna declaración. 

Luego de esta ronda, se dio un receso, seguido de una presentación por parte de los funcionarios de la empresa. Después de la hora del almuerzo, se anunciaron los resultados y 21 estudiantes pasaron a la siguiente ronda. 

Ronda-3) Técnica-1 

Solía ​​​​pensar que, para empezar, harían todas las preguntas con sabor, como Preséntate, etc. Hablando literalmente, tan pronto como entré, el entrevistador simplemente dijo, comencemos con la resolución de problemas. Me dijo que primero me explicara su enfoque, si está bien, luego escriba el código. 

  1. Se da una array creciente y decreciente, escriba un programa para buscar un elemento en él.
  2. En una secuencia de caracteres que ingresan, realice un seguimiento del primer carácter que no se repite en cada instancia.

Expliqué el enfoque con un ejemplo. Después de explicarle los códigos, me pidió que escribiera casos de prueba para él. Lo que es de suma importancia al escribir casos de prueba es que se deben verificar todas las rutas que su programa podría tomar. 

Ronda-4) Técnica-2 

Fue una especie de fuego rápido hasta el punto en que me quedé atascado. Comenzó con ¿Qué es HashTable? ¿Por qué lo usamos? ¿Cuál es la complejidad del tiempo asociada con varias operaciones? ¿Qué es una buena función hash? ¿Cómo resolver las colisiones? Si todas las claves n entran en el mismo valor hash, entonces se viola la búsqueda O (1), ¿cómo lograr esto? ¿Cómo se implementa HashMap? Ahora, surgió la pregunta en la que estaba atascado: «Devolver un número aleatorio de HashTable dado». Lo que escribió fue, X = H.random(); ¿Cómo implementar esto? Hablando en serio, traté de convencer al entrevistador, pero parecía estar menos satisfecho. Luego dijo, pasemos a la resolución de problemas. 

  1. Dada una array que consta de solo 0, 1 y 2. Ordenarla. 
    Explicación de múltiples enfoques. Ahora, comenzó la ejecución en seco del código que escribí para el algoritmo de la bandera nacional holandesa. Afirmó que mi código no funciona. Le expliqué 3 veces, pero cada vez se perdió algo y condujo a un resultado incorrecto. Luego dijo, nos estamos quedando sin tiempo, pasemos al siguiente problema. 
     
  2. ¿Conoces la programación dinámica? Le dije que sí, así que me preguntó qué problemas de dp has resuelto. Di una lista de 12-15 problemas de patrones diferentes. Él respondió, está bien, no le preguntaré ningún problema de dp (probablemente había oído hablar de todos los problemas en su lista). Luego preguntó cómo verificar si una lista vinculada dada es un palíndromo en una sola pasada.

Escribí código para ambos. Parecía insatisfecho al final. Dijo que tengas un buen día. Pensé, ya se acabó. Pero, fue solo el comienzo. El coordinador de recursos humanos me pidió que fuera a otra habitación y esperara. Me preguntaba si deberían haberse despedido directamente, pero hubo una sorpresa para mí a los pocos minutos. Recursos humanos me llamó, por favor ven. 

Ronda-5) Técnico+RRHH 

¿Qué aprendiste en tu empresa anterior? ¿Por qué MTech entonces? ¿Cuál es su reciente interés de estudio? Fue más una conversación, porque mi empresa anterior estaba al lado de la oficina de Microsoft, ¡así que habla de vecinos! Mencionaste el solucionador de Sudoku, ¿qué es? ¿Cómo lo implementaste? Bien, pasemos a un problema básico. Me pidió que escribiera una ecuación recursiva para el problema de la mochila 0-1 y que la explicara. Estaba feliz y me preguntó cómo estaba mi mosca escrita y grupal. Le dije que hice todo, pero que podría haber hecho 1 problema de mejor manera, así que quedó impresionado. 

Inmediatamente me llamaron. 

Ronda-6) Técnico+RRHH 

El gerente principal con 17 años de experiencia tomó esta entrevista. Ella preguntó cuál es tu sitio web favorito. Estaba tan cansada que apenas podía hablar. No almorcé adecuadamente ni meriendas. Aún así, dije algo y le conté sobre Quora y por qué me gusta Quora. Luego me preguntó el problema de las celebridades. No pude pensar, pero ella me ayudó a pensar y pude responder por tercera vez. ¿Algo que hagas aparte de tu horario habitual? Le hablé de maratones y fútbol. Bien, hemos terminado. ¿Alguna pregunta? Le haremos saber los resultados, puede irse. 

Los resultados se anunciaron el mismo día por la noche y yo estuve entre las 6 personas seleccionadas, seguido de celebraciones. 

Algunas sugerencias: 

  • Prepárese desde cualquier sitio web como leetcode, geeksforgeeks, carrera profesional, bit de entrevista, etc. Pero apéguese a uno, no se confunda porque otras personas están haciendo esto y yo no.
  • Aprende a escribir código en papel y no solo en computadora.
  • Trate de intentar antes de renunciar a las soluciones durante la entrevista. Los entrevistadores son personas muy muy generosas y te ayudan mucho. Piensa que están aquí para llevarte solo a ti, así que tienes que resolverlo todo.
  • Asegúrese de lo que está escribiendo en el currículum, debe saber todo lo que escribe. Escribe menos, habla más. Si escribes más, qué tendrás que contar en entrevista.
  • Recomendaría escribir mini proyectos que pueden ser pequeños, pero aprendiste un buen concepto de ellos. Mencioné el solucionador de Sudoku y me preguntaron al respecto.
  • Siguen un sistema basado en comentarios después de cada entrevista, es decir, siguen adjuntando todas las hojas que usó anteriormente y escriben sus comentarios y se los envían al siguiente entrevistador, por lo que si una entrevista no salió bien, no se sienta mal, haga lo mejor que pueda. en la próxima entrevista y es posible que aún te seleccionen.

Por último, no se desanime si no puede codificar todo de una sola vez. Aprende un concepto en un día y resuelve de 3 a 5 preguntas sobre él. Un día, cuando el día sea tuyo, todo llegará a ti. 

Hasta entonces, ¡salud!
 

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 *