Ronda 1: En la primera ronda me hicieron 2 preguntas de codificación
- https://www.geeksforgeeks.org/maximum-size-sub-matrix-with-all-1s-in-a-binary-matrix/
- https://www.geeksforgeeks.org/find-the-next-lexicographically-greater-word-than-a-given-word/
Pude resolver ambos problemas. El entrevistador era una persona muy tranquila, primero discutimos los enfoques de fuerza bruta, luego me pidió que optimizara aún más la solución y, finalmente, pude darle un enfoque eficiente. Estaba satisfecho y luego me pidió que implementara el código en el idioma que yo quisiera. Así que implementé ambas soluciones en C++.
Ronda 2: nuevamente me hicieron 2 preguntas de codificación
- Dada una secuencia infinita de números enteros y K, encuentre la suma de los elementos más grandes de K de la secuencia en cualquier momento. Este problema es similar a este: https://www.geeksforgeeks.org/kth-largest-element-in-a-stream/
Primero le di un enfoque que tenía una complejidad de tiempo O(n*k), la idea era mantener una array de k elementos en orden ordenado, y cada vez que llegaba un nuevo número entero mayor que el elemento mínimo, descartar el elemento mínimo y colocar el nuevo elemento en la array Pero el entrevistador me preguntó si podía optimizarlo aún más, después de pensar durante unos minutos le di otro enfoque de la complejidad del tiempo O(n*log(k)). La idea es mantener un montón mínimo de tamaño k y si el número entero nuevo es mayor que el número entero mínimo, simplemente reemplace el número mínimo con el número entero nuevo y actualice la suma. El entrevistador quedó satisfecho y me pidió que implementara el código para el montón mínimo y la declaración del problema real.
- Dadas n máquinas y su hora de inicio y finalización para terminar su trabajo y K líneas de producción, encuentre el número mínimo de líneas de producción adicionales necesarias para maximizar la producción.
Restricciones: solo una máquina puede trabajar en una línea de producción a la vez. Es similar a este problema: https://www.geeksforgeeks.org/maximum-number-of-overlapping-intervals/ .
Solución: sea m un número máximo de intervalos superpuestos, entonces si m<= k ans será 0. De lo contrario, ans será mk. El entrevistador también me dio pistas si estaba atascado en algún lugar.
Luego, al final, me hacen preguntas de comportamiento/situacionales basadas en sus Principios de Liderazgo.
- Cuéntanos sobre cualquier proyecto que hayas realizado en el que hayas utilizado nueva tecnología que no conocías. Entonces, esta pregunta básicamente habla sobre los principios de liderazgo de Amazon: profundizar, aprender y ser curioso.
En Amazon, su principal objetivo es conocer su proceso de pensamiento, la forma en que aborda un problema y qué tan rápido llegó a una solución optimizada. Por lo tanto, siempre discuta o dígales su enfoque primero, luego intente optimizarlo y tampoco se olvide de los casos extremos que son muy importantes, haga preguntas de aclaración si es necesario y dígales su suposición, si corresponde, y luego discuta su enfoque final, es complejidad de tiempo y complejidad de espacio y comparar con otros algoritmos y luego, si el entrevistador está satisfecho, vaya a la implementación.
Nota: No implemente la solución sin discutirla con el entrevistador porque definitivamente será una tarjeta roja y usted estará fuera.
Ronda 3: Esta fue la ronda final y la tomó un Gerente. Primero se presentó y luego me pidió que me presentara. Después de eso, salta directamente a la resolución de problemas y me hace 2 preguntas de codificación.
- Proporcione una array 2D de 1 y 0, donde 1 denota una persona y 0 denota una celda vacía, encuentre la cantidad mínima de personas que deben ser evacuadas para que podamos detener la propagación de covid y mantener el distanciamiento social. Si dos 1 son adyacentes entre sí en forma de columna o fila, elimine uno de ellos y no es necesario eliminar los 1 adyacentes en diagonal
Example: 1 1 0 1 1 1 1 1 1 Output: 0 1 0 1 0 1 0 1 0
- Dada una página de un libro, la posición del cursor y una palabra clave, devuelva las k palabras principales cerca del cursor que contiene la palabra clave como una substring. Solo pude resolver el segundo problema.
Luego discutimos los proyectos que he mencionado en mi currículum.
Por lo tanto, esté siempre preparado con lo que haya escrito en su currículum, lea sobre los Principios de liderazgo de Amazon y practique los problemas de codificación tanto como pueda.
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