El proceso completo consistió en un total de 5 rondas (incluida la codificación en línea y la ronda de vuelo grupal), todas las cuales se describen a continuación.
Ronda 1: prueba de codificación en línea
Había 2 conjuntos de preguntas. 60 estudiantes se presentaron para esta ronda. Las tres preguntas que me hicieron fueron:
1. La primera pregunta era muy sencilla. Algo así como comparar los caracteres en dos strings. Solo me gustaría señalar que la plataforma co cubes no es muy fácil de usar y es mejor que sepas cómo manejar arrays de caracteres, punteros, etc. (La mayoría de las personas codifican en C++ y están acostumbradas a usar strings. sus conceptos de c un día antes de la prueba y debería estar listo para comenzar.) (2 puntos)
2. https://www.geeksforgeeks.org/minimum-number-appends-needed-make-string-palindrome/ (3 puntos)
3. Separar las vocales y consonantes en una lista enlazada, poniendo todas las vocales primero seguidas de las consonantes. Algo similar a https://www.geeksforgeeks.org/arrange-consonants-vowels-nodes-linked-list/ (5 puntos)
Mantenga la calma durante la ronda y verifique sus códigos incluso después de que pase la prueba de muestra (son muy débiles). Además, me gustaría señalar que hubo limitaciones de memoria en algunas de las preguntas, pero también se seleccionaron un par de estudiantes que habían usado memoria adicional. Entonces, en caso de que no pueda escribir un código sin memoria, úselo en lugar de dejar la pregunta.
Ronda 2: Vuelo en grupo
26 estudiantes fueron preseleccionados para esta ronda.
En esta ronda se dieron dos preguntas. El código debía escribirse en papel en 45 minutos.
1. Compruebe si la string 1 es una versión rotada de la string 2,
2. Una variación del problema de separación de palabras. Dado un diccionario de palabras, teníamos que encontrar la palabra más larga del diccionario que pudiera formarse a partir del resto de las palabras.
Tenga en cuenta que solo tiene 45 minutos. Esperan que escribas el código para ambos problemas. Había escrito una solución de programación dinámica para la segunda pregunta, pero escribí una fuerza bruta para la primera (O(n^2)). Tenga en cuenta que la primera pregunta también podría resolverse en O ( n ) usando kmp, pero no habría tenido tiempo de completar ambas preguntas si hubiera probado el enfoque de kmp. Un compañero de estudios que probó el kmp no pudo escribir el código completo y no fue preseleccionado para más rondas.
Un punto muy importante en el vuelo grupal es interactuar con los entrevistadores. Son muy amables y serviciales. Explicar su solución hace que sea más fácil para ellos evaluar su solución más adelante.
Alrededor de 10 estudiantes fueron preseleccionados para otras rondas.
Ronda 3 (Ronda técnica 1):
El entrevistador fue muy amable. Primero me pidieron que me presentara. Luego me pidieron que diseñara un sistema de recomendaciones para Amazon. Aquí discutimos sobre cuestiones de privacidad de datos. El siguiente problema de diseño fue diseñar una URL pequeña. Usé la analogía de que los números decimales son más pequeños que los números binarios correspondientes. Por lo tanto, la URL podría acortarse utilizando una mayor cantidad de caracteres para representar la URL.
Luego me preguntaron sobre mis intereses, los cuales mencioné eran desarrollo de software, ml, aprendizaje profundo, etc. Luego me pidieron que aplicara el aprendizaje profundo para contribuir al crecimiento y progreso de la India. Apliqué el aprendizaje profundo para predecir y analizar la creciente contaminación en los ríos de la India.
Luego me dieron 2 problemas simples. Uno era en gráficos y el otro era encontrar el número de formas desde la esquina superior derecha hasta la esquina inferior derecha en una cuadrícula (permutaciones y combinaciones).
Siguieron algunas preguntas de comportamiento:
1. Mencione una de sus debilidades.
2. Dime dos de tus puntos fuertes
Luego me preguntaron si tenía alguna pregunta para el entrevistador. Sabía mucho sobre las cosas interesantes en las que trabajaba Microsoft, pero le pregunté qué pensaba sobre la empresa y si podía compartir algunos de sus proyectos.
El entrevistador como mencioné fue muy amable. Es importante asegurarse de tener claro el problema antes de comenzar a resolverlo. Hace preguntas a los entrevistadores que estarán encantados de responder a sus consultas.
Ronda 4 (Ronda técnica 2):
La ronda 3 fue de aproximadamente 1,5 horas para mí. Sin embargo, esta ronda fue de unos 45 minutos.
Me preguntaron por primera vez sobre mis proyectos durante mi pasantía.
Las preguntas formuladas se basaron en el orden de la fila principal y la columna principal (cómo se ve afectada la memoria caché). ¿Qué es un caché?
¿Qué es el polimorfismo y cuáles son los dos tipos de polimorfismos y explicarlos?
Había una cuestión de convertir una lista doblemente enlazada en una lista enlazada simple. Se nos permitió modificar los datos en los Nodes (usar xor de direcciones).
La siguiente pregunta fue sobre las bases de datos en las que discutimos disparadores, indexación, hashing, etc.
Finalmente me preguntaron si tenía alguna pregunta para el entrevistador.
Ronda 5 (HR):
Esta ronda fue una entrevista telefónica con un técnico senior de Microsoft. Él también fue muy amable y primero me pidió que me presentara. Quedó impresionado por los proyectos y pasantías que había hecho. Tuvimos una discusión sobre el trabajo que hice allí y las tecnologías que usé. Luego me preguntó sobre mis intereses y la diferencia entre IA y aprendizaje automático. Me contó mucho sobre el trabajo en Microsoft, todo lo cual sonaba muy interesante.
4 estudiantes fueron finalmente seleccionados para un empleo de tiempo completo en Microsoft.
Lo que es importante para ustedes es darse cuenta de que trabajar duro está en sus manos. Así que haz eso y olvídate del resultado. Lo que aprendas nunca será en vano. ¡Mis mejores deseos!
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