Recientemente, Microsoft visitó nuestro campus para reclutar pasantes para sus divisiones de IDC y TI.
La ronda 1
- Fue una ronda de codificación en línea alojada en HackerRank. Fue de 75 minutos de duración y tenía tres
- P1: dada una lista enlazada de enteros, escriba una función para modificar la lista enlazada en el lugar de modo que todos los números impares aparezcan antes que todos los números pares en la lista enlazada modificada. El orden relativo de los números pares e impares debe permanecer igual.
Por ejemplo:Input: 1->8->2->10->5->4->7->6->NULL Output: 1->5->7->8->2->10->4->6->NULL
- P2: Dado un número de coma flotante, calcule su raíz cuadrada sin usar la función sqrt() incorporada.
- P3: Dada una string de patrón y una string de prueba, implemente la coincidencia de substrings RegEx. Si el patrón está precedido por un ^, coincidirá con la posición inicial. De manera similar, si está precedido por un $, coincidirá con la posición final. Si no hay tales marcadores, verificará si el patrón es una substring de prueba.
Por ejemplo:^coal coaltar Result: True $tar coaltar Result: True abcd efgh Result: False
preguntas de codificación.
Alrededor de 50 personas calificaron para la siguiente ronda. De un total de 40 casos de prueba en los tres problemas, pasar con éxito 20 casos de prueba aseguró la calificación. Los tres problemas tenían casos extremos complicados y ocultos y muy pocos candidatos podían pasar todos los casos de prueba en un solo problema.
Ronda 2 : Ronda de lápiz y papel: se dieron dos preguntas de codificación cuya solución se debía enviar en lápiz y papel. Se asignó un total de 45 minutos para esta ronda:
- P1: Girar una imagen cuadrada 90 grados en el sentido de las agujas del reloj
Pregunta similar : GeeksforGeeks Link. - P2: Dada una array de enteros y una suma objetivo, escriba una función para verificar si existe un par de enteros cuya suma sea igual al objetivo . Use espacio adicional para reducir la complejidad del tiempo tanto como sea posible.
Un total de 17 estudiantes se clasificaron de esta ronda.
Ronda 3- Entrevista personal 1: Esta fue una ronda técnica. Hubo una breve discusión sobre los intereses y el proyecto seguida de dos preguntas de codificación:
- P1: Escriba una función para invertir el orden de las palabras en una string.
Mi solución inicial tenía un pequeño error que solucioné más adelante. - P2: Dada una lista enlazada y un número entero n, escriba una función para eliminar cada Node n de la lista.
For Example, 1->2->3->4->5->6->NULL n=3; Result: 1->2->4->5->NULL
Ronda 4 – Entrevista personal 2: Esta fue la segunda ronda técnica. Una breve discusión sobre el trabajo del curso fue seguida por tres preguntas de codificación.
- P1: dado un árbol binario y una suma objetivo, devuelve todas las rutas de raíz a hoja que tienen la suma objetivo. Después de resolver esto, el entrevistador pidió algunos casos que podrían usarse para probar si el código funcionaba perfectamente o no. Una vez que estuvo satisfecho, modificó el problema y ahora quería verificar si alguna ruta de Node a hoja tenía la suma objetivo. Discutí brevemente mi enfoque y fue lo suficientemente bueno.
- P2: Dada una string de longitud n, genere todas las substrings posibles de la string. Inicialmente entendí mal el problema, pensando en todas las 2n combinaciones posibles de la string. Al ver la solución a esto, el entrevistador dijo que estaba complicando demasiado la solución y explicó el problema una vez más. Parecía contento con la solución final que le di.
- P3: Imagine que tiene que crear una API que permita a los clientes reservar un hotel de todos los disponibles. ¿Cómo abordaría el problema y qué estructuras de datos usaría para cada funcionalidad? Era un problema de programación orientada a objetos y estaba buscando un diseño de clase que pudiera permitir a un cliente ver los detalles del hotel y reservar un hotel.
Ronda 5- Entrevista personal 3:
- Esta fue la ronda de recursos humanos. Hubo una conversación detallada sobre el proyecto seguida de preguntas básicas.
- Me preguntó qué libros había leído y cuál fue la tarea más difícil que había completado en la universidad y cuáles fueron los problemas que enfrenté durante la misma.
- Después de esto, me preguntó cuál sería la forma óptima de buscar un elemento en una array. Era una pregunta bastante vaga y respondí que para arreglos más pequeños, la búsqueda lineal sería lo suficientemente eficiente, pero la búsqueda binaria sería más eficiente para arreglos más grandes.
- Entonces me pidieron que implementara un sistema bibliotecario que permitiera a cualquier persona emitir o devolver un libro y encontrar las cuotas correspondientes. Con el paso del tiempo, fue agregando ciertas funcionalidades que debían implementarse modificando las clases según las necesidades.
Al final, se seleccionaron un total de 5 candidatos para MS-IDC y 3 para MS-IT.
En definitiva, fue una experiencia memorable para mí. Todo el procedimiento de principio a fin se llevó a cabo de manera muy profesional y los entrevistadores fueron amables y comprensivos. Estaban más interesados en ver cómo un candidato podría aplicar en la práctica los conceptos que conocía en lugar de ver cuántos conceptos diversos conocía.
Mis sugerencias para otros candidatos serían mantener la calma durante el proceso y mantener la confianza en sí mismos en todo momento. Mantenga sus conceptos básicos sólidos y aprenda a desarrollar soluciones desde cero en lugar de recordar varios algoritmos difíciles. Proporcionar enfoques correctos y pensar claramente es más importante que dar la solución perfecta.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Problemas de práctica relacionados
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