marzo-abril, 2021
Participé en el proceso de contratación de Amazon SDE-I FTE (equivalente a tiempo completo) a través de mi campus universitario, en marzo de 2021. Primero, hubo una ronda de codificación en línea y fue seguida por tres rondas de proceso de entrevista virtual.
Ronda de codificación en línea: De la ronda de codificación en línea, se preseleccionaron alrededor de 40 candidatos para el proceso de entrevistas que se llevó a cabo la próxima semana.
- En la ronda de codificación en línea, se hicieron dos preguntas (diferentes preguntas para diferentes candidatos), una un poco complicada y la otra más fácil. De hecho, terminé sin hacer ninguna de las dos cosas con total éxito (:3).
- En mi primera pregunta, recuerdo que pasé aproximadamente 8 de los 13 casos de prueba totales y pasé solo 2 de los 9 en el otro. Pensé que no tenía posibilidades de clasificarme, pero cuando se publicó la lista de finalistas, terminé bastante arriba en la lista. Me sorprendió, pero más tarde lo que aprendí fue que los desarrolladores que hacen esas preguntas, en realidad revisan su código a fondo y descubren si usó la lógica correcta (o al menos cerca de ella) o no.
- Si tu lógica parece estar bien, y te pierdes algunos casos extremos y terminas no pasando todos los casos de prueba, aún tendrás posibilidades decentes de pasar (¡como yo!). Entonces, ¡concéntrate también en tu lógica!
Entrevista Ronda 1:
- Al llegar a la primera ronda del proceso de entrevistas, se me pidió que me informara sobre cómo desarrollé mi interés por un puesto de software de este tipo.
- Luego, el entrevistador pasó a algunas preguntas de codificación después de proporcionarme un enlace de codificación en vivo donde tuve que escribir mi código (solo las funciones/clases/estructuras requeridas, no todo el código de arriba a abajo).
- Me pidió que encontrara un elemento en una array rotada que de otro modo estuviera ordenada ( https://practice.geeksforgeeks.org/problems/search-in-a-rotated-array4618/1 ). Le dije que puedo proporcionarle una solución de búsqueda binaria que tardará O (log n).
- Al enterarse de que ya conocía el enfoque, siguió adelante y me pidió que escribiera una función para encontrar el ancestro común más bajo en un árbol binario ( https://practice.geeksforgeeks.org/problem-page.php?pid=700221 ). Escribí el código con éxito y ejecuté algunos casos de prueba manuales en él. Después de eso, modificó un poco la pregunta LCA y preguntó mi enfoque. Compartí lo que pensaba, pero no era 100% correcto, así que me dijo el enfoque correcto para eso.
- Luego me hizo otra pregunta: https://practice.geeksforgeeks.org/problems/maximum-gap3845/1
- Me pidió que lo resolviera en complejidad de tiempo O(n) y después de pensarlo por un tiempo, le dije qué enfoque se me ocurrió. No conocía la técnica de clasificación de Pigeonhole e intenté resolverla usando pilas, pero no pude llegar a una solución adecuada en ese tiempo limitado. Pero el entrevistador estaba contento con mi enfoque y me dijo “Bastante cerca”.
- En un par de horas, recibí una llamada y me notificaron que mi segunda ronda de entrevistas estaba programada en una hora.
Entrevista Ronda 2:
- Después de informarme como en la ronda anterior, el entrevistador me preguntó sobre mi proyecto de aprendizaje automático y luego pasó a una pregunta de codificación.
- Me preguntó sobre el problema de Circular Tour ( https://practice.geeksforgeeks.org/problems/circular-tour/1 ) que en realidad era nuevo para mí porque no lo resolví antes. Cuando el entrevistador me preguntó qué estructura de datos extra me gustaría usar, se sorprendió bastante cuando le dije que no necesitaría nada de eso (ni siquiera una cola ya que su solución es bastante popular, como he aprendido después de mi entrevista). Lo resolví en complejidad de tiempo O(n) y complejidad de espacio O(1) y me tomó entre 15 y 20 minutos pensar en el enfoque.
- Luego revisamos algunos casos de prueba manualmente y dentro de mi código, descubrí un par de errores y los corregí. Al final, en realidad estaba bastante contento con mi enfoque, y tuvimos una pequeña discusión sobre las notaciones Big O, theta, Omega antes de que terminara la entrevista.
- Después de la segunda ronda, estaba bastante seguro de que seré preseleccionado para la tercera ronda, lo cual fue cierto después de recibir el correo que decía que la final y la tercera ronda estaban programadas para la mañana siguiente.
- Ahora algo de tensión comenzó a apoderarse de mi mente cuando pude ver la línea de meta dentro de mi cabeza. No dormí nada bien y estaba listo para la entrevista bastante temprano en la mañana.
Entrevista Ronda 3:
- Después de hablar sobre mi pasado, el entrevistador me preguntó a fondo sobre mi proyecto y los conceptos que usé en él.
- De hecho, él trabajó en esos conceptos de antemano, así que me preguntó cada detalle y realmente disfruté tener esa conversación porque por primera vez uno estaba realmente interesado en lo que hacía (;3).
- Luego me hizo algunas preguntas de comportamiento basadas en sus principios de liderazgo (¡muy importante!).
- A continuación, me pidió que implementara cualquier caché y escribiera las funciones get() y set(). No tenía idea de la memoria caché, ya que no estaba en mi plan de estudios, ya que soy de ingeniería eléctrica. Pero tenía una pequeña idea sobre cómo funciona el caché LRU e intenté implementarlo usando una lista de arreglos y un mapa hash.
- Aquellos de ustedes que ya han resuelto esta pregunta pueden darse cuenta de que no pude llegar a una solución óptima, en realidad, estaba lejos de serlo :(. Pero probé y probé e implementé cada pequeña idea que hizo clic dentro de mi cabeza dentro de eso. tiempo estipulado de hora 1. Al final, me dijo que mirará mi enfoque fuera de línea y me deseó buena suerte.
- De hecho, me decepcionó mucho no haber podido resolver el problema del caché que muchos de mis amigos ya sabían. En realidad, es difícil si uno no tiene idea de cómo funciona, así que no me culpé por ello, sino que estaba bastante feliz de cómo salió todo. ¡Pero en una semana, me emocioné al descubrir que fui seleccionado y mi nombre junto con otros 7 estudiantes de mi universidad! Seguramente les gustó mi proceso de pensamiento y actitud en la última ronda porque, de lo contrario, mi solución de trabajo no era ni mucho menos la óptima. El sentimiento fue irreal y nunca puede ser reemplazado por nada más 🙂
Algunos consejos importantes:
- Trabaja en tu lógica y concéntrate más en cómo abordas un problema y menos en el resultado.
- Repase los principios de liderazgo de Amazon a fondo y preste gran importancia a cualquier tipo de pregunta de comportamiento que pueda surgir en su camino. Además, dale importancia al formato STAR para resolver una situación dada, ya que Amazon hace mucho hincapié en estas cosas.
- Cada vez que escriba un código, siempre intente deducir la Complejidad de tiempo y espacio de su código porque es extremadamente vital para calificar las rondas de cualquier proceso de entrevista de codificación.
- No se ponga tenso antes de sus entrevistas innecesariamente porque créame, las entrevistas de Amazon son interactivas, no interrogativas. Entonces, en realidad es una discusión que tiene con su entrevistador para tratar de llegar a una solución a una situación determinada. Tenga cuidado con el tiempo disponible porque las entrevistas de Amazon duran estrictamente entre 45 y 60 minutos.
Por último, si puedo ingresar a Amazon, créame, CUALQUIERA puede hacerlo. Sin inflarme en absoluto, diré que estuve extremadamente concentrado y dedicado a lo que quiero lograr y trabajé inteligentemente para lograrlo. Disfrute de la sensación de que su código se ejecuta con éxito y trabaje en lo que tiene a mano hoy manteniendo un ojo en el objetivo más grande. Siempre toma un descanso cuando sea necesario y asegúrate de que todo el proceso no te estrese. ¡Estoy seguro de que todos lo haréis genial! Mucha suerte 🙂
Esta experiencia de entrevista es aportada por Supratik Mitra.
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