Amazon visitó nuestro campus para ofrecer prácticas durante 6 meses. Hubo 3 rondas: una ronda de codificación en línea y 2 entrevistas cara a cara.
Ronda de codificación en línea (Duración: 1 h 30 min)
- Esta ronda se llevó a cabo en hackerrank.com. Hubo 20 mcq relacionados con la informática y la aptitud. Muchas de estas preguntas están en la sección MCQ de GeeksForGeeks. Y había 2 preguntas de codificación:
- Enlace GeeksforGeeks
Input : m=5,n=5. Mat[] = 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 Output : 5 First: (0,0),(0,1),(1,1),(2,0) Second: (1,4),(2,3),(2,4) Third: (4,0) Fourth: (4,2) Fifth: (4,4)
Entrevista cara a cara-1 (Duración: 1 hora)
- El entrevistador comenzó a hacer preguntas de inmediato sin ninguna presentación. Me preguntó las complejidades del peor de los casos de clasificación rápida y clasificación combinada. Luego me hizo 2 preguntas relacionadas con los árboles:
- https://practice.geeksforgeeks.org/problems/tree-from-postorder-and-inorder/1? Dije que no. Luego me preguntó si podía hacer un árbol de búsqueda binario a partir de la array a lo que dije que sí. Luego, después de discutir el enfoque, pidió escribir el código.
- Luego me pidió que escribiera el código para el recorrido de un árbol por orden de niveles. También me pidió que calculara la complejidad del código.
.
Entrevista cara a cara-2 (Duración: aproximadamente 1 hora y 30 minutos)
- El entrevistador comenzó con la introducción general. Entonces empezó a hacer preguntas.
- Dadas n citas con hora de inicio, hora de finalización y una variable booleana hasConflict, tenemos que configurar la variable booleana hasConflict de aquellas citas que entran en conflicto con las otras citas.
Example: Appointment1: (2:00-3:00) Appointment2: (2:30-3:30) Appointment3: (4:00-6:00)
Tengo que configurar hasConflict of Appointment 1 y 2 como verdadero.
Inicialmente, lo hice en O(n^2). Pero luego me pidió que optimizara la solución. Después de un poco de discusión, pude resolverlo en O (nlogn). - Dado que en Amazon.in la página de detalles de un artículo muestra solo un campo que se extrae dinámicamente de la base de datos, tenemos que mejorar el rendimiento de acuerdo con la línea:
“80% de los usuarios visitan la página de detalles del 20% de los productos .”
Dije que podíamos almacenar este 20% en el servidor web para que no tuviéramos que obtener los detalles del artículo de la base de datos cada vez. Me preguntó dónde y cómo lo guardaría. Respondí Memoria principal y usaré BST para almacenarla. Luego, después de mucha discusión (alrededor de 30 minutos) sobre cómo se utilizarán las operaciones get y put, quedó satisfecho con la solución. - Dada una lista enlazada colocada en la memoria, qué problemas pueden surgir si se realizan operaciones simultáneas en la lista. A partir de aquí empezó a preguntar por hilos porque la respuesta estaba relacionada con ello.
- Cuando una aplicación de subproceso único se convierte en aplicaciones de subprocesos múltiples, ¿qué tipo de cambios debe realizar el sistema operativo?
- ¿Qué pasos se toman cuando el sistema operativo cambia de ejecución de un subproceso a otro?
Finalmente, me contrataron. Gracias a GeeksForGeeks por ayudarme durante la preparación de mi entrevista.
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