Experiencia en entrevistas de Atlassian (Sídney, mitad de carrera)

Puesto que buscaban: El anuncio era para un ingeniero de software con experiencia en descomposición de Monolito a Microservicios y conocimiento de AWS y servicios en la nube. No se mencionó ningún lenguaje específico para el puesto. Un reclutador se puso en contacto conmigo a través de Linkedin.

Ronda 1: la primera ronda fue una entrevista de codificación en pareja con uno de sus desarrolladores. Mencioné anteriormente que mi lenguaje de programación preferido para codificar entrevistas era Java. Me dieron un proyecto de sistema de gestión de usuarios en Java. Y capturas de pantalla de algunos problemas de Jira que describieron algunos errores en el proyecto que me dieron. Por ejemplo, uno de los problemas era,

He eliminado a un usuario «Jessy» del grupo. Ahora, cuando intento agregar «Jessy» nuevamente al grupo, se queja de que el usuario Jessy ya existe. Pero, cuando imprimo todos los usuarios de ese grupo, no muestra ese usuario.

Dado que se trataba de programación en pareja, se espera que discuta sus pensamientos sobre el problema y también que proponga una solución para el problema potencial antes de pasar a la codificación.

Cosas para considerar:

  • Mencione su lenguaje de programación, su IDE favorito y su sistema operativo preferido .
  • No comience a programar inmediatamente, discuta con su pareja cuál es su solución propuesta.
  • La estructura del código está bien definida. Los nombres de las clases eran fáciles de leer, es decir. Usuarios, UsersService, Group, GroupService, UserRegistrationService, etc. Si tiene alguna pregunta sobre el código, qué archivo o clase debe tocar esas partes particulares del código, pregunte a su pareja.
  • Mi entrevistador creía en TDD, así que comencé a escribir la prueba primero y a codificar.
  • Otra cosa muy importante es que hay un 99% de posibilidades de que te den una Mac para la entrevista. Soy un usuario de Windows y no estoy acostumbrado con el teclado o el mouse estilo Mac, di la entrevista de codificación de forma remota, por lo que no tuve ningún problema con Mac. Pero, he escuchado de personas que enfrentaron una mala experiencia de entrevista de codificación porque les dieron Mac con Windows Keyboard o algo así. (Que no es del todo un teclado estilo Windows).
  • No hubo preguntas de la entrevista de resolución de problemas de algoritmo (es decir, preguntas de resolución de problemas de clasificación/búsqueda). Toda la entrevista de codificación dependía de un proyecto existente en ejecución. Tuve que corregir algunos errores o agregar pequeñas funciones en ese proyecto.
  • HABLA, considera que el entrevistador es tu colega y ustedes dos están trabajando en un tema.

La ronda 2:

La ronda fue la ronda técnica. Tuve que describir un proyecto en el que había trabajado en una pizarra blanca con diagramas . Se hicieron muchas preguntas desde el lado técnico del proyecto. Las preguntas incluyen parte de Monolith, descomposición de microservicios, implementación en producción, actualización de una implementación existente en producción, ventana acoplable, si algo sucede en producción, cómo se maneja, administración de memoria, manejo de un gran volumen de usuarios, equilibrio de carga y agrupación, AWS, diferentes tipos de pruebas para garantizar el código y el rendimiento, si un servicio externo no responde, cómo se maneja eso,

En lugar de describir cuál es ese concepto, se hacen preguntas más como cómo se involucró en tal concepto, cuál fue su papel en la solución de ese problema. Mi sugerencia sería, conceptos generales claros primero y tratar de vincular eso a partir de su experiencia laboral personal.

También hay una tarea de codificación en esa entrevista. Por lo que recuerdo, fue para implementar un grupo de conexiones de muestra.

Puntas:

  1. Trate de contar una historia .
  2. Por ejemplo, si le preguntan

Si un volumen muy alto de usuarios consultan su servicio y su servicio no envía una respuesta, ¿cómo resolvería el problema ?”

Más bien, simplemente diciendo que haría esto y aquello, trata de relacionarlo con tu experiencia. comencé con,

“Estaba escribiendo scripts de JMeter durante las pruebas de carga antes de un lanzamiento. Estaba ejecutando 400 subprocesos al mismo tiempo y luego descubrí que después de un cierto período de tiempo, digamos 4 horas, mi servicio se volvió muy lento. Tomé un volcado de subprocesos y también tomé una captura de pantalla del gráfico del monitor de conexión de la base de datos. Luego, desde el volcado de subprocesos, trató de investigar los seguimientos de la pila y los registros de errores para resolver los problemas. El problema se solucionó aumentando el tamaño del grupo de conexiones de 50 a 100”.

Ronda 3:

La ronda 3 fue una entrevista cultural. Preguntan sobre los diferentes procesos que ha seguido antes, es decir, Scrum o Kanban, si encaja como miembro del equipo, si es proactivo o no, si alguna vez propuso algo en su trabajo anterior que mejoró el proceso o el producto, cómo reaccionas con comentarios positivos o negativos, etc.

Puntas:

  • Una vez más, cuenta una historia. Trate de pensar en algunos ejemplos de experiencias previas. Por ejemplo, me preguntaron

¿Alguna vez ayudó a algún miembro del equipo que en realidad no pidió ayuda ?”.

mi respuesta fue,

“Un nuevo desarrollador se unió a mi equipo y estaba trabajando en una tarea de corrección de errores, estuvo atascado en esa tarea durante 3 días y no se acercó para pedir ayuda. Lo golpeé y le pregunté si necesitaba alguna ayuda o guía y lo programé durante 30 minutos, lo que realmente lo ayudó a progresar rápidamente”.

  • Lea los valores fundamentales de Atlassian de su sitio web e intente pensar en algún ejemplo antes de ir a la entrevista sobre su experiencia personal en esos campos.

¡Buena suerte!

Publicación traducida automáticamente

Artículo escrito por NusratSetu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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