Los siguientes son los detalles de mis entrevistas de Microsoft.
Fecha de las entrevistas: 30 de julio, 31 de julio y 3 de agosto de 2012
Número de rondas: 1 prueba de aptitud, 1 ronda de codificación y 4 PI
Tipo de entrevistas: Entrevista en el campus para estudiantes de primer año
Test de Aptitud (60 mins) (30-7-12)
Era un test online. Constaba de 50 preguntas, de las cuales 30 eran de aptitud y 20 técnicas.
30 preguntas basadas en aptitud consistieron en velocidad-tiempo, probabilidad, etc.
20 preguntas técnicas incluyeron salidas C, diagrama de flujo, búsqueda del código correcto para número primo, número Fibonacci, etc.
Ronda de codificación (60 minutos) (31-7-12) Había
tres preguntas
- Tienes que rotar una array n*n 90 grados a la derecha.
- Dada una lista enlazada que contiene 0, 1 o 2. Ordénalo
- Dos elementos de BST se intercambian por error. Tienes que restaurar el árbol sin cambiar su estructura.
Tenga en cuenta que no tiene que escribir solo una función, como sucede en Amazon. En su lugar, se espera que lo escriba desde cero junto con la función principal y todas las funciones de ayuda.
Mi consejo: Atornille las instrucciones, escriba la función que se espera que escriba para las tres preguntas, luego vaya a las funciones de ayuda y la función principal.
Entrevista personal (3-8-12)
Ronda 1 (40 minutos):
- Se da un árbol binario. Debe verificar si los datos del Node izquierdo son mayores que los datos del Node derecho para todos los Nodes.
Mi consulta: ¿Qué pasa si uno de los subárboles izquierdo o derecho no está presente?
Aclaración: luego puede asumir el valor máximo posible para los datos de la izquierda, si están ausentes, y el valor mínimo para los datos del Node derecho.
Me pidieron que ejecutara en seco mi código para un árbol. También se les pidió a los casos de prueba que verificaran mi código.
Ronda 2 (80 minutos):
- Para encontrar el sucesor en orden de un Node en un árbol binario, siempre que tenga un puntero principal.
- Para encontrar el sucesor en orden de un Node en un
árbol binario, siempre que no tenga un puntero principal. Se pidieron casos de prueba para ambos. - Dada una lista enlazada, también existe un ptr aleatorio. Clona la lista enlazada original. También dar los casos de prueba.
- Construya una estructura de datos que pueda empujar, hacer estallar y encontrar el mínimo en tiempo O (1). Se le pidió que lo codificara. También se pidieron casos de prueba y se les pidió que se aseguraran de que también funciona para elementos duplicados.
.
Ronda 3 (80 minutos):
- Un archivo consta de numerosas palabras en él. Tienes que imprimir las 10 palabras más frecuentes. Se solicitaron las estructuras de datos a utilizar y finalmente se solicitó codificarlas.
- Se pidieron casos de prueba para un portal ferroviario.
- Había una función que acepta un número k y una lista enlazada y elimina cada k-ésimo Node de esa lista. Se esperaba codificar una función para probar la corrección de la función anterior.
- Una extensión de la pregunta 3. ¿Qué pasaría si la función aceptara una array de números en lugar de un solo número y eliminara múltiplos de los elementos de la array?
Ronda 4 (40 minutos):
- Esta ronda fue la más fácil de todas.
- Pregunta 1: escriba una función strcmp modificada que ignore los casos y devuelva -1 si s1 < s2, 0 si s1 = s2, de lo contrario devuelve 1. Se pidieron casos de prueba, como de costumbre.
- Pregunta 2: Escriba una función que verifique si el árbol está equilibrado en altura o no. Dar casos de prueba también.
Para mi gran alivio, esta vez fui contratado……….finalmente……. 😀
Este artículo está compilado por Vinay Khetan . Muchas muchas felicidades a Vinay por su selección. 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.
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