Microsoft vino a IIIT Hyderabad para realizar pasantías en el campus. La empresa visitó para 2 perfiles: SWE y Data Scientist.
Primera ronda (ronda de codificación en línea)
Para el papel de SWE, hubo una ronda de codificación habitual en cocubes . Tuvimos 75 minutos para resolver 3 preguntas de codificación. Las preguntas fueron las siguientes:
- Carácter mínimo que se agregará a la string para convertirla en un palíndromo. (Anexar los caracteres al final de la string solamente) Debe imprimir el carácter requerido para agregarse al final. (Similar a esto: número mínimo de apéndices necesarios para hacer un palíndromo de cuerdas – GeeksforGeeks )
- Se le da una array de caracteres 2D y necesita encontrar de cuántas maneras una palabra dada está presente en la array, se debe devolver el recuento final. Al encontrar las palabras en la array, uno puede formar palabras usando solo celdas adyacentes.
- Se proporcionó una string/palabra como entrada y necesita encontrar su rango en el diccionario. ( Rango lexicográfico de una string con caracteres duplicados – GeeksforGeeks ) Los casos de prueba no fueron lo suficientemente buenos como para que pueda adivinar si incluir las strings de caracteres duplicados y no. He proporcionado el enlace que también tiene en cuenta los caracteres duplicados.
Fue una prueba de MCQ. 49 preguntas, puntuación: +4 para respuesta correcta y -1 para respuesta incorrecta. El tiempo dado fue de 75 minutos. La prueba incluyó preguntas sobre probabilidad, algoritmos de aprendizaje automático como SVM, descenso de gradiente, filtrado colaborativo/filtrado basado en contenido, redes neuronales y muchos más. Fui preseleccionado para ML/Perfil de científico de datos. Un total de alrededor de 65 estudiantes de casi 200 (no estoy seguro del número exacto puede ser menor o mayor) fueron preseleccionados para ambos perfiles. 25 para ML y resto para SWE.
Nos dividimos en grupos de 10 para la ronda. Fue 1 hora redonda. Necesitamos escribir códigos para 2 preguntas en el papel y enviarlos a los mentores asignados a cada grupo. Las preguntas fueron:
- Encuentre la substring más grande en la string dada, que es un palíndromo ( Substring palindrómica más larga | Conjunto 2 – GeeksforGeeks ).
- Atraviese una array en orden espiral ( Imprima una array dada en forma espiral – GeeksforGeeks ).
Después de esta ronda, 30 quedaron preseleccionados para la siguiente ronda.
La ronda comenzó con mi presentación al entrevistador. Ella fue muy agradable. Luego me hizo algunas preguntas sobre mi proyecto de honores, seguido de una pregunta de codificación. Necesito escribir el código completo.
- La pregunta era: Dada una array de tamaño n, necesito rotarla en m posiciones. ( Programa para la rotación de arrays – GeeksforGeeks ) Necesito brindar el enfoque más óptimo que esté en su lugar con un mínimo de memoria adicional.
- En la segunda pregunta, necesito asignar memoria para una array 3D de tamaño m*n*o. Necesito hacerlo a través del puntero y malloc.
- Sugiera algunos casos de prueba (borde/esquina) para la primera pregunta de rotación de array.
Después de esta ronda, 21 personas fueron preseleccionadas para la segunda ronda.
Esta vez la entrevista comenzó con preguntas de codificación directa. Las preguntas fueron:
- Encuentre la mediana para el flujo continuo de números. Además, pregunté si los árboles AVL se pueden usar para este propósito en lugar de montones. ( Mediana de flujo de enteros en ejecución usando STL – GeeksforGeeks ) Nuevamente, necesito escribir el código en papel para eso.
- Esta fue una pregunta de DP. Dada una losa pequeña de 2*1, necesito encontrar formas de llenar una losa más grande de 2*t (Similar a: Problema de mosaico – GeeksforGeeks ). Alguna otra pregunta se construyó sobre eso:
- Número de formas en que se puede llenar simétricamente la losa más grande.
- Número de formas en que la losa más grande se puede llenar asimétricamente. No puedo decir que es totalmente simétrico, necesito obtener una relación recursiva 😛.
- Preguntó la complejidad del tiempo al final, que era O (n) para la solución sugerida, me ayudó a obtener la solución.
Después de esta ronda, 15-16 llegaron a la ronda final.
En esta ronda, solo se hizo una pregunta. Fue eso: dado un tablero final de tres en raya, necesito decir si es válido o no. No puedes asumir nada de que x juega primero. Si para cualquiera de los casos, es decir, si ‘x’ juega primero o ‘o’ juega primero, si el tablero es válido, la respuesta debería ser válida. Necesito escribir el código completo para esto en papel. Dentro de los próximos 15 a 20 minutos obtuvimos los resultados. Me seleccionaron para el puesto de científico de ML/datos. En total, 5 (incluyéndome a mí) para ML y 10 para SWE llegaron a la pasantía. Fue uno de los momentos más felices de mi vida.
especialmente para MS, la ronda de codificación está en cocubes, por lo que el sitio no ejecuta su código en todos los casos de prueba. Asegúrese de escribir el código más eficiente posible. Algunos de mis amigos que resolvieron incluso 2 no fueron seleccionados, ya que su código podría haber fallado en los casos de prueba finales. Para la ronda MCQ, intente todos si no puede hacer ninguno o muchos.
Algunos consejos para las rondas de entrevistas:
- Ten confianza en lo que respondas. Incluso si sabe que la respuesta no es completamente correcta, no sea como si pudiera decirle al entrevistador que no es completamente correcta.
- Si te quedas atascado en algún momento, pregúntale al entrevistador si tu enfoque es correcto o no.
- Sigue hablando con el entrevistador durante todo el proceso, no te metas en ti mismo. Por cada línea de código escrita por usted en papel, explique por qué lo está haciendo.
Gracias al equipo de geeksforgeeks por poner tan buen contenido en el sitio web. Aconsejaría revisar los problemas en el sitio web, ya que mejora el pensamiento y el enfoque. Me ayudó mucho en todo, ya sea temas, problemas de codificación o practicar las preguntas.
Publicación traducida automáticamente
Artículo escrito por himanshubhatia98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA