Media.net (Directi) Experiencia de entrevista para el rol de SRE | (En el campus)

Media.net vino a nuestro campus para el puesto de ingeniero de confiabilidad del sitio. El proceso de selección tuvo una ronda de MCQ seguida de una ronda de programación de sockets y una ronda de entrevistas técnicas.

Clave para tener éxito:  se requiere un conocimiento profundo de las redes informáticas y el sistema operativo. Además, la programación de socket es imprescindible, mientras que el conocimiento de los comandos básicos de Linux es una ventaja.

Hubo dos rondas antes de la Entrevista Técnica Cara a Cara. La primera fue una prueba MCQ en línea de 45 minutos que constaba de 40 preguntas.

Prueba MCQ en línea : las preguntas eran del sistema operativo, redes informáticas, algoritmos, estructuras de datos, DBMS, aptitud general. 54 estudiantes fueron preseleccionados para la próxima prueba de programación.

Prueba de programación fuera de línea : la segunda ronda fue una prueba de programación de socket fuera de línea de 3 a 4 horas. Ellos (la gente de Directi) dieron un problema que constaba de 3 subpreguntas y dos preguntas adicionales. La conexión a Internet estaba apagada y habían configurado su propio servidor de máquina virtual. Se proporcionó una URL que contenía toda la información sobre la declaración del problema y las preguntas frecuentes. También contenía manuales para lenguajes de programación que incluyen C, C++, Java, Python (2/3), Go, etc. Para la programación de sockets, siempre es mejor usar Python. Sin embargo, otros estudiantes también usaron C, C++ y Java. Tuvimos que escribir un programa de servidor y ampliar la base de código en el mismo programa a medida que avanzábamos a través de los objetivos.

Pregunta : Desarrolle un servidor de Chat Box que permita varios chats grupales. Cada usuario tendrá su propia identificación de usuario única y su identificación de grupo y podrá unirse a cualquier grupo de chat. Varios usuarios que tengan la misma identificación de grupo se colocarán en el mismo grupo. El usuario puede optar por desconectarse y luego unirse a cualquier otro grupo.

Objetivo 1 . Desarrolle un programa cliente-servidor de eco. Un cliente envía un mensaje al servidor y el mensaje se repite al mismo cliente. El mensaje se muestra en el terminal del cliente. (misma funcionalidad que el comando ‘echo’ en Linux). Programa de servidor de solo escritura. No es necesario escribir el programa cliente. Utilice el comando ‘telnet’ para simular el cliente.

Desarrollé el programa del servidor en Python 3 ya que tenía experiencia trabajando en la programación de sockets. Ya había desarrollado un único cuadro de chat grupal como mi proyecto paralelo. La experiencia de este proyecto me ayudó mucho a aprobar la prueba. Usé el concepto de subprocesamiento para aceptar requests de conexión y manejar la retransmisión de mensajes. Un subproceso se utiliza para aceptar requests de conexión aleatorias de los clientes. Otro era empezar un hilo nuevo para cada cliente.

Objetivo 2 . Desarrolle un programa de servidor para varios grupos formados por varios clientes. A cada cliente se le pedirá la identificación del grupo y, en consecuencia, se colocará en ese grupo. Si el grupo no existe, cree un nuevo grupo con esa identificación. Cualquier mensaje enviado por un cliente se retransmitirá a otros clientes de ese grupo.

Objetivo 3 : Realizar un seguimiento de los chats. Si un cliente nuevo se une a un grupo, este cliente debería recibir todos los mensajes de chat anteriores en ese grupo.

Preguntas de bonificación :

  1. Almacene los mensajes en un almacenamiento persistente. Si en caso de que el servidor se apague y se reinicie, el servidor debería volver a su estado anterior.
  2. Guarde siempre los mensajes durante no más de 15 minutos. El nuevo cliente debe recibir los chats ocurridos en los últimos 15 minutos únicamente.

La gente de Directi nos evaluó durante la prueba en función de nuestro enfoque e implementación. También hicieron preguntas sobre cómo escalar este cuadro de chat para llevarlo al nivel de producción, como el uso de la base de datos, el uso de almacenamiento persistente para copias de seguridad, etc.

Pude resolver los tres objetivos y resolví parcialmente la pregunta de bonificación. Sin embargo, los estudiantes que resolvieron dos preguntas también fueron preseleccionados para otras rondas. 7 estudiantes fueron seleccionados para la ronda de entrevistas. Enlace para servidor – programas cliente que escribí como parte de mi proyecto: https://bit.ly/2MFXBdz

Entrevista F2F : Fue una entrevista técnica y duró alrededor de 45 minutos. Esta fue mi primera entrevista y estaba muy nerviosa. Comenzó con la pregunta favorita de todos los tiempos: ‘Háblame de ti’. Luego le pregunté sobre la experiencia en proyectos basada en mi currículum. Luego pasó a Redes y SO. Tengo experiencia trabajando con nuevas empresas y esto resultó muy útil para explicarles mis intereses.

Entre las otras preguntas que me hicieron, algunas que recuerdo son las siguientes:

  1. ¿Cómo es tu experiencia trabajando con sistemas Linux?
  2. Qué sucede cuando escribes ‘google.com’ en un navegador web. Tuve que explicar la búsqueda de DNS, el enrutamiento de IP, la tabla NAT.
  3. Explicar todo el proceso de intercambio de mensajes DNS para convertir URL a dirección IP.
  4. ¿Qué es la división en subredes? ¿Qué es la identificación de red? ¿Por qué usamos direccionamiento sin clases?
  5. ¿Por qué usamos el concepto de IP privadas e IP públicas?
  6. Explique TCP y UDP y diferencie entre los dos. ¿Por qué UDP no es confiable y TCP es confiable y dónde podemos usar UDP?
  7. ¿Qué es una llamada al sistema?
  8. ¿Qué sucede cuando un proceso encuentra una función en su texto?
  9. Explicar los 4 componentes de un proceso. (Pila, Montón, texto, datos)
  10. Explicar la carga y la vinculación

Después de la primera ronda, me dijeron que fui seleccionado para la segunda ronda. Me dijeron que me preparara bien porque esto va a ser una pesadilla para mí. Pero sorprendentemente, la segunda ronda no se llevó a cabo para mí (a diferencia de mis otros compañeros que también tuvieron que pasar por una segunda ronda técnica). Además, no hubo ronda de recursos humanos.

Todo el proceso transcurrió sin problemas y la gente de Directi fue realmente útil y alentadora.

Finalmente se ofreció el trabajo a 3 estudiantes.

¡Yo era uno de ellos! 🙂

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

Deja una respuesta

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