Amazon visitó nuestra universidad (Instituto Thapar) para contratar pasantes (pasantía de 6 meses) en el mes de septiembre de 2020 . Todo el proceso fue virtual debido a la pandemia de COVID. No hubo recorte de CGPA . Las sucursales permitidas fueron: CS, ENC, ECE, EIC y EE. Alrededor de 600 estudiantes dieron la prueba.
1ra Ronda (Prueba en línea): La prueba consta de cuatro secciones.
-
Sección de depuración de código (20 minutos): había 7 preguntas. Tuvimos que encontrar el error lógico en el fragmento de código dado y corregirlo. Esta sección fue fácil.
-
Prueba de codificación (70 minutos): se hicieron 2 preguntas de codificación y todos tenían un conjunto diferente de preguntas.
-
Evaluación de estilos de trabajo (20 minutos): Estas fueron algunas preguntas de comportamiento.
-
Sección de capacidad de razonamiento (35 minutos): alrededor de 24-25 MCQ estaban allí: aptitud, preguntas basadas en párrafos, preguntas de razonamiento.
Después de la prueba, 70 estudiantes fueron preseleccionados para entrevistas.
Segunda ronda Entrevista F2F en Amazon Chime (1 hora de duración): El entrevistador revisó mi currículum. Luego, saltó directamente a las preguntas de codificación. Me hicieron dos preguntas en esta ronda y él quiere que escriba el código para las mismas en su propio portal de codificación.
- Para un árbol N-ario, imprima su vértice. Apex se define como el primer y último elemento de cada nivel. En primer lugar, pidió codificar solo la parte de la función. Luego, me pidió que escribiera el código completo para escribir también la función principal.
- Porque una string imprime su permutación lexicográfica anterior. Escribí el código para esto y luego me pidió algunas optimizaciones en algunas partes del código. Al final, me preguntó si tenía alguna pregunta.
Alrededor del 60%-65% de los estudiantes llegaron a la segunda entrevista.
Entrevista F2F de tercera ronda en Amazon Chime (40-45 minutos de duración): el entrevistador revisó mi currículum. Luego, saltó directamente a las preguntas de codificación. Me hicieron dos preguntas en esta ronda.
Dado un árbol como:
1 / \ 2 3 / \ / \ 4 5 6 7 / \ / \ 8 9 10 11
Donde los elementos son enteros continuos a partir de 1. Todos los niveles excepto el último están completamente llenos. Tengo que verificar si un elemento dado existe en el árbol o no.
- Primero di el enfoque para comparar todos y cada uno de los Nodes con el valor dado usando la recursividad. Complejidad del tiempo – O(n).
- Luego me pidió que optimizara la solución (Complejidad de tiempo esperada – O(log n).
- Se me ocurrió el enfoque de que podemos verificar el Node más a la izquierda en cada nivel, ya que siempre es una potencia de 2. Pero esto no funcionó.
- Entonces, vi que hay una relación de que los hijos de un Node ‘i’ son: 2*i y 2*i+1 y para cada Node ‘i’, su padre es i/2 . Entonces, si quiero buscar 11, comenzaré desde 11 -> el padre de 11 será 5 (11/2) -> el padre de 5 será 2 (5/2) -> el padre de 2 será 1 (2/2). Entonces, solo tengo que recorrer el camino 1->2->5->11.
- Luego, escribí el código para este enfoque y el entrevistador quedó satisfecho con el código.
En el árbol anterior, tengo que encontrar el valor máximo presente en el árbol.
Pidió utilizar el enfoque anterior para esta pregunta. Entonces, se me ocurrió este enfoque:
El Node de valor máximo siempre estará presente en el último nivel. Entonces, la respuesta estará en el rango: 2^nivel a 2^(nivel+1)-1. Entonces, aplique la búsqueda binaria en este rango y verifique si el valor medio existe o no. Complejidad de tiempo log n * log n.
Al final, me preguntó si tenía alguna pregunta. Esta entrevista terminó.
Fue seleccionado.
Los resultados llegaron al día siguiente por la mañana. Un total de 17 estudiantes fueron seleccionados para una pasantía, y yo fui uno de ellos :-).
Me gustaría agradecer a Geeksforgeeks, que realmente me ayudó mucho con las entrevistas.
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