Ronda en línea: alrededor de 250 candidatos se presentaron para esta ronda
La ronda en línea constaba de 4 secciones:
- Ronda de depuración de código (20 minutos – 7 preguntas)
- Sección de codificación (70 minutos – 2 preguntas)
- Evaluación del estilo de trabajo (25 minutos)
- Aptitud y Razonamiento Lógico (35 minutos – 24 MCQs)
Preguntas de codificación:
- Buscar en una array ordenada por filas y columnas
- Clonar una lista enlazada con el puntero siguiente y aleatorio
Diferentes conjuntos tenían diferentes preguntas de codificación de unas 5-6 preguntas. Todas las secciones fueron bastante fáciles, pero hay que ser un poco más rápido para terminar todas las preguntas a tiempo.
39 candidatos fueron preseleccionados para entrevistas. El proceso de entrevista (organizado a través de la aplicación Amazon Chime, 5 días después de la ronda en línea) consistió en dos rondas.
Ronda 1 (Entrevista F2F de 35 a 40 minutos): Saludos formales y presentación. Cuéntame sobre tu proyecto favorito (2-3 minutos). Pasemos a las preguntas de codificación (sin discusión sobre ningún otro tema y tampoco contrapreguntas sobre proyectos)
- Dada una array de números aleatorios, mueva todos los ceros al final de una array.
- Por ejemplo, si la array dada es {4, -2, 0, 1, 0, 0, 3, -7, 0} entonces la salida debería ser {4, -2, 1, 3, -7, 0, 0 , 0, 0}. El orden de todos los demás elementos debe ser el mismo.
- Discutí 3 enfoques y luego me dijeron que escribiera la solución optimizada de complejidad de tiempo O (n) y complejidad de espacio O (1).
- Escribo el código completo y luego el entrevistador verificó todas las condiciones de borde y también me dijo que ejecutara en seco el código para la entrada dada.
- https://www.geeksforgeeks.org/move-zeroes-end-array/
- Ordene la lista vinculada dada y devuelva el puntero principal de la lista vinculada resultante.
- Primero discutí el enfoque y luego me dijeron que escribiera el código (una función única que toma el encabezado de la lista vinculada como entrada y devuelve el puntero de encabezado de la lista vinculada ordenada).
- Escribo el código usando Merge-Sort y el entrevistador revisó todos los casos de esquina y también me dijo que ejecutara en seco el código para la entrada dada. También se preguntó por la complejidad temporal y espacial del código.
- https://www.geeksforgeeks.org/merge-sort-for-linked-list/
- Me preguntó si tengo alguna pregunta.
24 candidatos fueron preseleccionados para la segunda ronda.
Ronda 2 (Entrevista F2F de 60 a 75 minutos): Saludos formales y presentación. Vaya directamente a las preguntas de codificación (Ninguna otra pregunta de Fundamentos de CS y tampoco ninguna pregunta sobre ningún proyecto o en el currículum)
- Dado un diccionario ordenado (array de palabras) de un idioma extranjero, encuentre el orden de los caracteres en el idioma.
- No he visto esta pregunta de antemano y tampoco soy tan bueno resolviendo problemas de gráficos.
- Me tomó 4-5 minutos entender la pregunta por completo. El entrevistador también dio 2-3 ejemplos para darme una mejor idea de cómo entender la pregunta.
- Pienso en los diferentes enfoques, pero no pensé en una solución basada en gráficos, por lo que el entrevistador me dio una pista después de 3 o 4 minutos para repensar si la pregunta se puede resolver construyendo el gráfico.
- Después de pensar de 2 a 3 minutos, indiqué el enfoque para resolver la pregunta utilizando la clasificación topológica y describí brevemente cómo funcionará el enfoque y también ejecutaré en seco el pseudocódigo usando ejemplos y luego me dije que escribiera el código completo.
- Aunque me resultó difícil escribir el código completo. Pero de alguna manera me las arreglé y el entrevistador también me ayudó cada vez que me atasqué.
- Escribo el código usando una lógica diferente, pero el enfoque para resolver el problema es el mismo. Luego, el entrevistador me dijo que explicara el código completo línea por línea y también me dijo que ejecutara en seco las 2 o 3 entradas dadas y también revisó todos los casos de esquina y también me preguntó sobre la complejidad de tiempo y espacio del código. .
- https://leetcode.com/problems/alien-dictionary/
- https://www.geeksforgeeks.org/given-sorted-dictionary-find-precedence-characters/
- Hay n strings de diferentes longitudes, necesitamos conectar estas strings en una string. El costo de conectar dos cuerdas es igual a la suma de sus longitudes. Necesitamos conectar las cuerdas con un costo mínimo.
- He discutido 2 enfoques diferentes y también el enfoque optimizado usando una cola de prioridad. También discutió el tiempo y la complejidad espacial del enfoque optimizado.
- También me preguntó cómo se define la cola de prioridad (aquí, dije que está actuando como minHeap para esta pregunta) y parecía satisfecho con mi respuesta. Luego me pidió que escribiera el código completo.
- Me tomó aproximadamente 1 hora resolver el primer problema, así que cuando comencé a escribir el segundo código, el entrevistador me dijo que se nos estaba acabando el tiempo y que no era necesario escribir el código porque mi enfoque es correcto.
- https://www.geeksforgeeks.org/connect-n-ropes-minimum-cost/
- Me preguntó si tengo alguna pregunta.
Ambas rondas transcurrieron sin problemas. Los entrevistadores eran muy agudos y tenían un conocimiento sólido. Fueron muy amables.
Finalmente, 17 candidatos fueron seleccionados para una pasantía, incluyéndome a mí.
Información Adicional:
- Las entrevistas se realizaron en Amazon Chime (una plataforma de videollamadas).
- Se hicieron preguntas de codificación para codificar en la plataforma LiveCode de Amazon, donde tanto el entrevistador como el entrevistado pueden editar y ver el código simultáneamente.
Puntas:
- Las entrevistas tienen un ligero factor de suerte y una especie de dependencia del día. Te aconsejo que esperes tu día, y en ese día te garantizo que nadie puede impedir que obtengas lo que te mereces, solo ten confianza y resuelve todos los problemas con una actitud positiva.
- Sea cortés y escuche atentamente al entrevistador (es posible que tenga suerte si obtiene algunas pistas)
- Los entrevistadores lo ayudarán cuando esté atascado, solo siga pensando en voz alta. Antes de saltar a la solución, comprenda la pregunta correctamente y evite cualquier suposición con respecto a la declaración del problema y aclare todo haciéndole al entrevistador tantas preguntas como sea posible. Piense en todos los posibles casos de borde/esquina. Discuta su solución con el entrevistador y explique los casos que está manejando.
- Sea minucioso con el cálculo de la complejidad del tiempo y el espacio, ya que es la primera pregunta que puede recibir después de proponer un algoritmo al entrevistador.
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