Experiencia de entrevista en Amazon | Conjunto 206 (en el campus para SDE-1)

Hola a todos Recientemente, Amazon visitó nuestro campus para SDE-1 y pasantías y recibí una oferta para pasantías y SDE-1. Aquí está mi experiencia. 

Examen escrito (1 hora: 30 minutos): 
se hicieron 22 preguntas, de las cuales 20 eran de MCQ y 2 preguntas de codificación. La mayoría de los MCQ provienen de OS, Algorithm, Co/p y aptitude (directamente del año anterior Computer Science GATE). 

Primera pregunta de codificación: Determinar el diámetro de un árbol (Tomar la entrada fue un poco difícil ya que tenemos que tomar la entrada en una array de tamaño desconocido, ordenarla y crear BST). 

Segunda pregunta de codificación: dada una string de palabras separadas por comas, tenemos que imprimir un par de palabras que son anagramas línea por línea (sin distinción entre mayúsculas y minúsculas). Si no encuentra ningún par de este tipo, imprima -1. 

Rondas de entrevistas:  
Ronda 1 (1 hora: 15 mentas): 
1. Comenzó con la Introducción, luego saltó al proyecto y discutió alrededor de 15 mentas. 

2. Dada una array, imprima los elementos de acuerdo con la frecuencia y, si dos elementos tienen la misma frecuencia, imprímalos en orden decreciente. 
      Dio solución usando array 2d en O(n2). Luego redujo la complejidad cantando el árbol AVL en O (nlogn). Más tarde, codificó la solución del árbol AVL en papel. 

3. Dado un árbol binario, imprima el recorrido del límite 
. Di       la solución usando tres recorridos (como se indica en gfg), luego me pidió que lo hiciera en un solo recorrido. Hablé mucho con él y finalmente se me ocurrió una solución mediante el uso de la estructura de datos de cola y pila. Más tarde me pidió que lo codificara y codifiqué correctamente. Quedó impresionado con mi código. 

Ronda 2 (1 hora): 
1. Comenzó con una discusión del proyecto de alrededor de 25 minutos. 
2. Dada una serie de precios de acciones, encuentre la pérdida máxima en la compra y venta de acciones. Primero le di un enfoque, luego me pidió que codificara. Codificado. 
3. Implemente el recolector de basura en C sin usar la función libre. 
4. Qué es la herencia virtual. 
5. Explique cómo se almacena el archivo en la memoria. 
6. Explicar la implementación del Node UNIX I. 
7. Diferencia entre proceso e hilos. 
8. Cómo se ejecutan los subprocesos en paralelo y cómo comparten memoria. 
9. Se le pidió al algoritmo que programara subprocesos a nivel de kernel (programación grupal). 

Ronda 3 (1 hora: 30 minutos): 
1. Comenzó con la Introducción 
2. Discusión detallada del proyecto de alrededor de 45 minutos. 
3. Dándome el gráfico de asignación de recursos con un conjunto de procesos y recursos, pídeme que le diga el enfoque para ejecutar todo el proceso. 
      Le dije que usara ordenación topológica, de repente dijo muy bien y me pidió que codificara. Lo codifiqué. 
4. Explique la necesidad de sincronización con la ayuda de un ejemplo. 
      Le expliqué con el uso del problema del productor-consumidor y la cola de impresión (también código escrito para ambos). 
5. Conceptos básicos de sincronización, es decir, código para la operación de espera y señal y cómo el semáforo mantiene su lista suspendida. 

Al final de esta ronda, el entrevistador quedó muy impresionado. 

Ronda 4 (1 hora): 
1. Dado un número entero n, diga si su representación binaria es palíndromo o no.  
      por ejemplo, 4=100 no palíndromo 
      5=101 palíndromo. 
      Se esperaba TC = O(n) y SC = O(1) y lo codifiqué. 
2. Me dio un código Java usando bloqueo en esta palabra clave. Pregúnteme si hay algún problema en el código usando la palabra clave de bloqueo cuando se ejecutan varios subprocesos al mismo tiempo. Encontré el problema, luego me pidió que lo resolviera y lo resolví. 
3. Qué es la memoria virtual. Quién lo implementa. 
4. Cómo se implementa el concepto de memoria virtual en el sistema. 

Sugerencias: 
1. El entrevistador no espera que dé todas las respuestas correctas, aunque primero quiere ver su enfoque y cómo aborda un problema que no conoce a priori. 
2. Repase los fundamentos del sistema operativo a fondo y trate de practicar el código en papel tanto como pueda. 
3. Junto con las estructuras de datos básicas, también tenga una idea de las estructuras de datos avanzadas como BBST, Trie, Graphs, etc. 
4. Piense en voz alta frente al entrevistador y trate de involucrarlo todo el tiempo. 
5. Escuche atentamente sus palabras, probablemente tendrán algunas pistas para responder. 

Me gustaría agradecer al equipo de geeksforgeeks por brindar una plataforma tan excelente. Ustedes están haciendo un trabajo increíble. 

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *