Amazon ha visitado nuestro campus (NITJ) para el puesto de Ingeniero desarrollador de software-I ( 16 de agosto de 2019 )
Proceso: 1 ronda de codificación en línea + 4 entrevistas técnicas F2F.
Ronda de codificación en línea:
Fue muy fácil y hubo más de 20 MCQ y 2 preguntas de codificación :
1. Tienes una string y tienes que reemplazar cada carácter con el carácter 3 ubicado adelante (como a->d, z ->c, ….)
2 relacionado con array , no lo recuerdo pero fue muy fácil de implementar.
Primera ronda técnica:
1. Cuéntame algo sobre ti.
2. Dime algo que no esté en tu currículum.
3. Dada una array de números enteros. Si el número a y su negación -a están presentes en la array, entonces imprímalo.
ej.: si se da {10, 5, 0, 9, -10, 7, -5}, imprima 10, 5. Al principio le dije el enfoque de búsqueda lineal y luego el enfoque de búsqueda binaria, pero estaba usando el espacio adicional . Entonces, me dijo que lo redujera a O(1). Le expliqué mi enfoque modificado y lo codifiqué.
4. Implementación de LRU:
le dije un enfoque que tenía una complejidad de tiempo de O (tamaño del marco). No estaba contento con mi enfoque.
luego traté de pensar de una manera diferente y llegué a una solución en la que usé punteros y unordered_map para reducir su complejidad a O(1) y finalmente lo codifiqué.
5. Merge k sorted array
Le expliqué y escribí una solución basada en Min Heap. Quedó impresionado y luego me preguntó la complejidad.
Segunda ronda técnica:
1. Algunas consultas SQL (relacionadas con consultas anidadas) y fragmentación.
2. ¿Qué es BST y cómo verificar que el árbol binario dado sea BST o no ?
Le dije el enfoque posterior al pedido usando el rango mínimo y máximo. Luego me preguntó qué sucedería si el Node más a la izquierda es igual a INT_MIN y el Node más a la derecha es igual a INT_MAX, entonces, ¿qué harás?
3. Suma de un rango dado
. Le expliqué 2 enfoques y quería que codificara para ambos.
a) Árbol de segmentos (O (Log))
https:www.geeksforgeeks.org/segment-tree-set-1-sum-of-given-range/
b) Descomposición de raíz cuadrada (O(sqrt(n)))
https:www.geeksforgeeks.org/sqrt-square-root-decomposition-technique-set-1-introduction/
4. ¿Qué método de recorrido de gráficos es mejor y por qué?
5. Recorrido en espiral de un árbol binario, pero la dirección del recorrido debe ser de abajo hacia arriba y comenzar a atravesar desde el Node inferior derecho .
Usé 3 pilas y las codifiqué. Después de eso me pidió que probara algunos ejemplos.
Tercera ronda técnica:
1 .Cuénteme algo sobre sus pasatiempos e intereses.
2. Se da una array m. usted está parado en la posición dada m[x][y] y hay k números de repartidores con esa posición dada. Si m[i][j]=0 eso significa que este camino está bloqueado. Puedes moverte en 4 direcciones, ahora tienes que encontrar al repartidor más cercano y devolverle su posición.
Le dije un enfoque usando Backtracking. Me pidió que redujera la complejidad, luego le expliqué y escribí el programa usando BFS. Me pidió que revisara mi código con algunos ejemplos.
3.Heavy Light Decomposition
Le expliqué y escribí el código.
enlace: https://www.geeksforgeeks.org/heavy-light-decomposition-set-1-introduction/
4. Condiciones necesarias de interbloqueo con ejemplos.
5. Hay 2 procesadores en un sistema y cada uno tiene un proceso. Cuando el proceso tiene 2 subprocesos, se necesitan 4 ms para completar 4 tareas. Cuánto tiempo tomará si el proceso tiene un solo hilo.
Primero, estaba confundido, luego me explicó la pregunta nuevamente. Le dije la respuesta con la razón apropiada pero no estaba seguro.
6. Me dijo que esta es la primera vez que entrevista a un estudiante de ECE. Y me hizo preguntas sobre el microprocesador y la arquitectura interna de RAM.
Cuarta ronda técnica:
1. Me preguntó sobre mi proyecto de pasantía.
2. Por qué usamos RNN y cuál es la diferencia entre RNN y CNN.
3. Pregunta basada en el diseño del sistema.
Dije que no estaba en mi plan de estudios porque mi sucursal es ECE y luego me dijo que usara cualquier estructura de datos. Usé hash map y DBMS para almacenar los datos. Me pidió que escribiera el código.
4. Dado un flujo de caracteres. Imprime todos los caracteres, no repetidos en los últimos 10 ms.
Usé dequeue de tamaño 10 para implementarlo.
5. Implementar la programación de procesos Round Robin .
Se puede hacer fácilmente usando la estructura de datos de cola.
6. ¿Por qué Amazon?
Resultado
!!!!!!!!!!!!Se nos dijo que esperáramos el resultado.
!!!!!!!!!!!! finalmente, 4 estudiantes de CSE y 1 estudiante de ECE (por suerte yo ; ) ) fueron seleccionados para el perfil de SDE.
Consejos:
Quieren que todas y cada una de las preguntas se codifiquen correctamente en papel. Entonces, practica.
Si conoce la solución, dígale a la fuerza bruta y luego optimícela. Hable con el entrevistador tanto como pueda. Mantente seguro y confía en tus instintos.
Me gustaría agradecer a GeeksforGeeks , que fue de gran ayuda durante mi preparación para la entrevista.
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