Recientemente, Amazon vino a nuestro campus como parte de nuestro reclutamiento en el campus.
Ronda en línea:
1) Dada una lista enlazada de ceros y unos, ordenar la lista.
2) Te dan tres números. Cada número está representado por una lista enlazada. Escriba una función que devuelva una lista de sumas.
Ejemplo: 1->2->3 + 2->1->3 + 3->2->1 = 6->5->7.
Esto se llevó a cabo en el rango de piratas informáticos. La duración de la prueba fue de 1,5 horas
. Hubo alrededor de 22 MCQ relacionadas con OS, OOPs C Preguntas de entrada/salida. GeeksQuiz es suficiente para responder a estas preguntas.
Preseleccionaron a 25 personas para las entrevistas.
Hubo 4 rondas técnicas en total. Cada ronda es una ronda de eliminación. En cada ronda, el entrevistador le pide que explique el algoritmo y que lo implemente en el papel.
Primera ronda:
Comenzó con una pregunta básica de «Háblame de ti». Esta ronda es solo para comprobar si realmente eres capaz. Me hizo tres preguntas y me pidió que las implementara todas en papel.
1) Te dan una array y un número c. Da salida a todos los pares a, b cuya suma es igual a c . Se espera O(n).
2) Se le da un número representado por una lista enlazada, agréguele uno.
Le dije lo obvio invirtiendo la lista y añadiéndole uno. Pero él quería que lo hiciera sin invertir y usando la recursividad.
3) Se le da una array ordenada, encuentre el elemento mayoritario en ella. Si no existe tal elemento, salida -1. Tienes que hacerlo en una sola operación o (logn).
Extensión a la tercera pregunta: ¿Qué pasa si la array no está ordenada? Proporcione una solución o(n).
Segunda ronda:
Esto fue por alrededor de 2 horas. Aunque solo hubo dos preguntas, el entrevistador está verificando si tenemos suficiente conocimiento sobre todas las estructuras de datos.
1) Se le da una array larga y un tamaño de ventana w. Solo puede ver los elementos que están actualmente en la ventana. La ventana comienza en el extremo izquierdo y se mueve una posición a la vez hacia la derecha. Debe generar números mínimos en la ventana actual.
Se discutieron todos los enfoques posibles. A partir de la fuerza bruta, o (nw) a o (nlogw) usando montones, BST. Me pidió que los implementara. Pero no estaba satisfecho con la solución o(nlogw). Quería que le diera una solución ao(n). Finalmente, después de algunos consejos, lo resolví usando listas doblemente enlazadas.
2) Te dan un árbol binario. Imprima el recorrido de orden vertical a partir del elemento raíz .
Tercera ronda:
Comenzó con la pregunta “Explica un proyecto tuyo”. Se hicieron pocas preguntas técnicas sobre el proyecto.
Se hicieron algunas preguntas sobre el sistema operativo, multiproceso frente a multiprocesamiento. También me pidió que le dijera si había implementado algún programa que usara subprocesos múltiples. Se hicieron pocas preguntas sobre semáforos y mutexes.
Solo una pregunta de codificación en esta ronda
1) Se le da un árbol binario muy grande, devuelva el Node raíz del BST más grande en el árbol dado . Se espera una solución transversal única. Implementarlo en el papel fue un poco más difícil de lo esperado.
Cuarta Ronda:
En este momento, la oferta de trabajo estaba casi confirmada.
Hizo preguntas sobre mis proyectos. Me pidió que implementara algunos algoritmos de mi proyecto en un papel.
1) Implemente un gráfico y un gráfico transversal usando oops.
2) Dada una lista enlazada inmutable (no editable) y un número k, elimine todas las apariciones del número en la lista.
Se hicieron pocas preguntas sobre los OOP.
Me dieron el resultado a los 20 minutos 😀
Quisiera agradecer a geeksforgeeks que me ayudaron enormemente a ubicarme.
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
Problemas de práctica relacionados
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