¿Cuál es la mejor manera de prepararse para una entrevista de diseño de sistemas para Amazon?

Mejor respuesta

El diseño del sistema es obligatorio para preparar las entrevistas para todos los candidatos experimentados. El diseño del sistema significa problemas de diseño de sistemas escalables (como Uber, Facebook Newsfeed, diseño de rastreadores web, etc.). Como se puede ver en todos estos sistemas tienen acceso miles de millones de usuarios. Las empresas también quieren un ingeniero que pueda diseñar el sistema que pueda manejar las millones de solicitudes a la vez y el sistema siempre debe ser robusto con una latencia muy baja. En general, preparar el diseño del sistema tomará 2 meses si es un principiante completo. Pero sí, debes esforzarte mucho para aprenderlo.

Antes de continuar, déjame darte una idea clara de cómo se ve la entrevista del sistema

La ronda de diseño del sistema siempre debe comience con

  1. Una discusión detallada sobre los requisitos y qué elementos admite nuestro sistema y qué elementos podemos ignorar
  2. Después del requisito, es mejor dar el entrevistador una idea clara sobre la estimación de cuántas personas van a utilizar el sistema
  3. Discutir la API (API REST) ​​Involucrar en el sistema a través de qué usuario accede a nuestro servicio
  4. Tratar de dibujar De un extremo a otro del flujo del diseño de alto nivel del diseño
  5. Piense y proponga los componentes del sistema involucrados en el sistema y también el flujo entre los componentes del sistema
  6. Al final, idear un diseño de bajo nivel del sistema

Es muy importante realizar una conversación sana con el entrevistador y tratar de pedirle ayuda Ile resolviendo un problema. Causará una buena impresión que el candidato sea un buen jugador de equipo también. Incluso si conoce la solución Nunca comience a resolver el problema de diseño sin discutirlo con el entrevistador. El entrevistador le dará una idea clara sobre el requisito y le dará las pistas. Si intentas resolverlo directamente, el entrevistador pensará que ya conoces la solución y eso es, serás rechazado .

Antes de comenzar a resolver un problema basado en el diseño del sistema, es muy importante preparar los conceptos básicos. A continuación se muestran algunos de los temas básicos

Para preparar un problema de diseño de sistema, lo primero es, por supuesto, , su experiencia lo ayudará . Como puede que haya participado en varios ciclos de vida de desarrollo de proyectos, es útil para responder durante el proceso de entrevista.

Pero, la mayoría de los candidatos «no obtendrán mucha exposición en la industria principalmente porque el hecho es El 70-75\% de las personas en TI están trabajando en un proyecto de mantenimiento en el que necesitan agregar API y desarrollar componentes pequeños. Por lo tanto, una imagen completa de cualquier proyecto que no obtuvieron. Para aquellos, puede aprender el diseño de sistemas uniéndose a algunos agradables cursos / capacitación en línea . Estos recursos en línea me ayudan a prepararme para las entrevistas.

  • Puede aprender el diseño de sistemas con el curso Logicmojo . Este es el curso en línea de video conferencias para la preparación del diseño de sistemas y algoritmos. Este curso le dará una buena idea de todos los componentes del diseño del sistema y cubre casi todas las preguntas de diseño que se hacen en las entrevistas. Han incluido algunos más de 40 problemas de diseño , lo que creo que es suficientemente bueno.
  • Luego tenemos uno muy famoso llamado Alta escalabilidad . Estos blogs proporcionan u los detalles de los componentes del sistema, API y estimaciones que forman parte de los famosos Problemas de diseño del sistema. Aunque cubre grandes detalles del sistema, también necesita extraer los detalles útiles y relevantes
  • Además, existe un buen curso en línea educativo curso de diseño de sistemas de grokking. Esta también es una buena colección de problemas de diseño del sistema. Debe revisar el texto completo y leerlo como sus recursos basados ​​en texto

Además, debe participar en todas las reunión de diseño ocurre en su proyecto actual en la oficina porque en esas reuniones, el arquitecto senior discute la discusión del diseño y las fallas en el diseño existente del sistema. Esto da una idea clara de cómo elegir el diseño de cualquier sistema. Además, intente leer y comprender el documento de diseño de cualquier proyecto anterior. Esto también le ayuda durante las entrevistas de diseño del sistema

Respuesta

No se deje abrumar. Prepárese paso a paso y divídalo durante su preparación, y haga lo mismo una vez que esté en la entrevista real. El diseño de sistemas es complicado: tienes que lidiar con la naturaleza desestructurada de la entrevista, pero con práctica adicional, estarás preparado para manejar cualquier cosa que te presenten. .

  • Comprender los objetivos de la entrevista : aclarar las ambigüedades desde el principio es fundamental. Asegúrese de saber lo que quieren saber.
  • Establezca el alcance : intente definir todas las características del diseño que piensa por su importancia para el usuario para el escenario proporcionado.
  • Diseño para la escala correcta : el mismo conjunto de características requiere un enfoque muy diferente para diferentes escalas. Es fundamental determinar la escala para saber si sus datos pueden caber en una máquina o si necesita escalar las lecturas.
  • Inicio de alto nivel , luego baje : comience cubriendo el proceso de principio a fin, según los objetivos que haya establecido. Esto puede incluir detalles de diferentes clientes, API, servicios de backend, procesos fuera de línea, arquitectura de red, almacenes de datos y cómo se combinan para cumplir con los requisitos
  • Estructuras de datos y algoritmos : no olvide tener en cuenta sus requisitos de escalamiento, donde analizar el tiempo de ejecución y la complejidad de la memoria se vuelve útil.

Practique tanto como sea posible en las semanas previas a su reunión en Amazon. Ser coherente con la preparación de su entrevista y programarla en su rutina semanal en las semanas previas a su entrevista será la mayor ayuda para hacer seguro que estás listo. La práctica de la calidad también es más importante que la cantidad. Asegúrese de no distraerse durante sus sesiones y de estar concentrado en los problemas que tiene entre manos y trabajando en las cosas que le resultan desafiantes. Si solo practica las cosas fáciles, se encontrará con sorpresas desagradables y estrés durante la entrevista real.

Una excelente manera de mejorar sus habilidades para una entrevista es con sesiones de entrevistas simuladas. La experiencia lo acostumbra a cómo se sentirá cuando se reúna con el gerente de contratación. Para comenzar, consulte Pramp , una plataforma de entrevistas simuladas entre pares.

Pramp ofrece prácticas de entrevistas de diseño de sistemas simulados para los usuarios trabajar con un compañero. Juntos desempeñarán tanto el papel del entrevistador como del entrevistado para que puedan aprender de sus fortalezas y debilidades también. Es beneficioso ver a otra persona completar su entrevista de diseño de sistema y verlo desde la perspectiva del entrevistador. También recibirá comentarios después de la experiencia, que puede usar para identificar en qué componentes necesita trabajar antes de reunirse con el gerente de contratación en Amazon.

Deja una respuesta

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