"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Mi experiencia de entrevista con Amazon SDE – 4 de mayo

Mi experiencia de entrevista con Amazon SDE – 4 de mayo

Publicado el 2024-11-08
Navegar:818

Mi experiencia de entrevista con Amazon SDE: mayo de 2024

En mayo de 2024, tuve la oportunidad de realizar una entrevista para un puesto de ingeniero de desarrollo de software (SDE) en Amazon. Todo empezó cuando un reclutador se puso en contacto conmigo a través de LinkedIn. Me sorprendió gratamente, ya que siempre es emocionante.

Cómo empezó todo

El reclutador fue profesional y claro, brindándome todos los detalles necesarios sobre el proceso y el rol. Después de intercambiar algunos mensajes, recibí un enlace de prueba para la primera ronda de la entrevista, que era una evaluación de codificación. La evaluación se realizó en HackerRank y constaba de dos preguntas de codificación.

Primera ronda: la prueba de codificación

Las preguntas fueron sencillas pero un poco largas. Aquí hay un desglose:

1. Primera pregunta: Generación de códigos de barras
La tarea consistía en generar un código de barras basado en algunos parámetros predefinidos. Si bien la pregunta no era intrínsecamente compleja, requería atención a los detalles para garantizar que se cumplieran todas las condiciones. Abordé este problema metódicamente, dividiéndolo en partes más pequeñas e implementando una solución en JavaScript. La atención se centró en la eficiencia y la claridad, garantizando que el código de barras generado cumpliera con el formato y las restricciones esperados.

2. Segunda pregunta: Procesamiento de matrices con estado de implementación

Esto fue más bien una tarea de manipulación de datos. La entrada constaba de objetos, cada uno con un ID de implementación y un estado de implementación. Mi objetivo era devolver una matriz basada en estas entradas. Si bien el problema parecía simple, presentaba algunos casos extremos. Por ejemplo, a algunos objetos les faltaban llaves, lo que no era evidente a primera vista. Sin embargo, después de enviar mi solución inicial, me di cuenta de que era necesario tener en cuenta esos casos extremos. Revisé rápidamente mi código para manejar estos escenarios, asegurándome de que las claves faltantes no generaran errores o resultados incompletos.

My Amazon SDE Interview Experience – May 4
Resolví ambas preguntas usando JavaScript y estaba seguro de que mis soluciones pasaron todos los casos de prueba, incluidos los ocultos.

Amazon tiende a hacer avanzar a los candidatos en el proceso si resuelven todas las preguntas de codificación y pasan todos los casos de prueba.

Después de eso, recibí una llamada del reclutador diciendo que estaba avanzando con el proceso de entrevista y que sería una entrevista en el sitio. Tuve 5 días para prepararme.

He estado trabajando de forma remota durante los últimos 3 años y nunca he estado en la oficina, así que estaba más asustado por la oficina que por las rondas de entrevistas.

Más rondas de entrevistas

Fui a la oficina de Amazon, ya había pocos candidatos allí. Todos fuimos a entrevistas. Tuve 3 rondas de entrevistas técnicas ese día.

1. Ronda de solución de problemas

La primera ronda fue una entrevista centrada en la resolución de problemas. Tan pronto como entré a la sala, fui recibido por un entrevistador que me brindó un apoyo increíble. Siguió sonriendo durante toda la sesión, lo que ayudó a aliviar mi nerviosismo.

Me entregó una hoja de papel y me presentó varias preguntas relacionadas con fallas del sistema, redes y capas de red. El enfoque que utilizó fue particularmente interesante. Me pidió que pensara primero en soluciones básicas, animándome esencialmente a resolver el problema desde cero. Una vez que le di una respuesta, cambió ligeramente el escenario, agregando más complejidad con cada paso.

Por ejemplo, después de hablar sobre una falla de la red, cambió la conversación a capas más profundas de la red y me preguntó qué haría si las soluciones estándar no funcionaran. Esto me impulsó a pensar creativamente y considerar varios puntos de falla en un sistema, desde los más comunes hasta los más complejos.

La entrevista me pidió que esperara afuera, después de eso vino un reclutador y dijo que iré a la segunda ronda.

2. Ronda DSA

La siguiente ronda fue una inmersión profunda en estructuras y algoritmos de datos (DSA). Esta vez, mi entrevistador era un SDE senior en Amazon. Me saludó con una hoja de papel y me presentó una pregunta bastante amplia y compleja. Mientras lo leía, rápidamente me di cuenta de que el objetivo principal era encontrar el camino más corto en un gráfico. Este tipo de problema es común en las entrevistas, pero puede volverse complicado cuando se trata de casos extremos, que ella seguramente incluiría.

Hice algunas preguntas aclaratorias para comprender completamente el problema y sus diversos escenarios. Una vez que me sentí seguro, comencé a trabajar en una solución: escribir pseudocódigo directamente en el papel. Mientras le explicaba mi enfoque y mi lógica, ella continuamente profundizaba, preguntándome por qué tomaba ciertas decisiones y cómo manejaba las diferentes partes del gráfico. La guié a través de mi proceso de pensamiento, discutiendo las compensaciones y optimizaciones. Afortunadamente pude resolver la pregunta completa y correctamente.

Una vez que estuvo satisfecha con mi solución gráfica, me preguntó sobre la complejidad del tiempo y el espacio, lo cual analicé y le expliqué. Sintiendo una sensación de logro, pensé que la ronda iba bien.

Sin embargo, pronto pasó a otra pregunta más desafiante, esta vez relacionada con la programación dinámica (DP). El problema involucraba una matriz en la que se debían plantar diferentes cultivos de manera que siguieran ciertas reglas. Esta era una pregunta más compleja y me tomé mi tiempo para comprenderla completamente. Hice varias preguntas para asegurarme de cubrir todas las restricciones y casos extremos.

Escribí una solución de pseudocódigo, pero no estaba completamente optimizada. Ella me dio algunos casos de prueba y, si bien mi código se ejecutó correctamente en aproximadamente el 80% de ellos, todavía hubo casos extremos que fallaron. Me estaba poniendo nervioso en ese momento y ella se dio cuenta. Afortunadamente, me ofreció una pista útil y traté de optimizar aún más mi solución. A pesar de mis mejores esfuerzos, no pude encontrar la solución por completo, probablemente debido a que mis nervios se apoderaron de mí.

Esperé afuera otra vez, no estaba muy contento ni confiado con esta ronda, pero el reclutador vino nuevamente y dijo que mi próxima ronda es el diseño del sistema. ¡Me puse tan feliz!

3. Ronda de diseño de sistemas

La ronda final del día fue la entrevista de Diseño de Sistemas, y esta fue, con diferencia, la sesión más intensa y agotadora. El entrevistador era parte del equipo de arquitectura de Amazon y, desde el principio, me di cuenta de que esta ronda sería un desafío. Comenzamos con una discusión sobre mi currículum, centrándonos en mis proyectos anteriores y las decisiones de diseño que había tomado en trabajos anteriores. Hizo varias preguntas sobre la arquitectura de los sistemas en los que había trabajado, indagando en los detalles de mis elecciones de diseño y las concesiones que hice.

Después de esta discusión inicial, me pidió que diseñara un sistema para una plataforma de tecnología educativa, con un enfoque específico en la función de transmisión de video. El objetivo era diseñar un sistema donde los profesores pudieran transmitir sesiones de vídeo en vivo y los estudiantes pudieran asistir a esas sesiones en línea.

Comenzamos con la arquitectura de alto nivel, analizando los componentes principales, como servidores de video, bases de datos y API. Expliqué mi enfoque para manejar la gran cantidad de usuarios y garantizar una experiencia de transmisión de video fluida. Preguntó continuamente sobre problemas de escalabilidad, confiabilidad y latencia, que son cruciales para una plataforma con video en vivo.

Una vez que cubrimos el diseño de alto nivel, cambió la conversación a los detalles de bajo nivel. Aquí es donde la discusión se volvió más técnica. Exploramos varios enfoques para optimizar el sistema, manejar casos extremos y garantizar una experiencia perfecta para los usuarios incluso en los peores escenarios. Tuve que pensar con rapidez, ofreciendo soluciones y alternativas para diferentes problemas, incluido el manejo de picos en el tráfico de usuarios y garantizar un tiempo de inactividad mínimo.

El entrevistador siguió presentando diferentes escenarios: ¿qué pasa si un servidor de vídeo falla? ¿Cómo manejaría la congestión de la red? ¿Cómo se garantiza una baja latencia para los estudiantes de diferentes regiones geográficas? Cada escenario requería una respuesta detallada y me encontré completamente inmerso en la discusión de posibilidades y patrones de diseño.

La entrevista completa duró aproximadamente una hora y media y, al final, estaba exhausto. Fue mentalmente agotador, pero también una de las entrevistas más reveladoras que he tenido. Exploramos varios desafíos arquitectónicos y se sintió más como una sesión colaborativa de resolución de problemas que como una entrevista tradicional.

Así que fui a la oficina de Amazon a las 9 a.m. de la mañana y salí a las 5 p.m. de la tarde, Completé todas mis rondas y el reclutador dijo que estaba avanzando con la ronda gerencial, que aún no está programado.

My Amazon SDE Interview Experience – May 4

De todos modos, olvidé decirte una cosa. Comprenda todos los principios de Amazon antes de ir a la entrevista. Harán al menos 2 preguntas al respecto en cada ronda. Así que por favor prepáralo también.

Declaración de liberación Este artículo se reproduce en: https://dev.to/naweli_verma/my-amazon-sde-interview-experience-may-2024-3nf6?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3