Experiencia de entrevista grupal de Endurance International (en el campus)

Endurance International Group vino a nuestro campus en busca de contrataciones de tiempo completo.

Cargos: Ingeniero de Software e Ingeniero de Operaciones

Estaba abierto a todas las sucursales. Aproximadamente, 450 personas se sentaron para el proceso de entrevista.

Hubo 1 ronda MCQ, 1 ronda de codificación seguida de 3 rondas PI.

Ronda 1 (MCQ):
Tiempo: 45 minutos
Preguntas: 45 preguntas de opción múltiple
Formato: teníamos que escribir nuestras respuestas en una hoja de papel y luego subir las respuestas en su sitio web
diseñado para la prueba.

Las preguntas eran de OS, DBMS, Redes, DS y algoritmos, C/C++. Las preguntas probaron conceptos básicos
de Ciencias de la Computación y no fueron demasiado difíciles.

Aproximadamente 100 personas llegaron a la segunda ronda.

Ronda 2 (ronda de codificación):

Tiempo: 2,5 horas
Preguntas: 5

Podríamos usar nuestra propia computadora portátil usando cualquier IDE de nuestra elección. No se proporcionó acceso a Internet.

Tuvimos que construir una herramienta de procesamiento de texto simple utilizando un lenguaje de nuestra elección (C, C++, Java, Python
Ruby, PHP, etc.). Se proporcionó documentación para cada uno de los idiomas mencionados.

Las preguntas eran así:

Dado un archivo contactos.txt:

Amit,Shah,+9800123456
Pramit,Singh,+9801345678
Shalini,Shah,+9801341876

Resuelva las siguientes preguntas:

1. Si se ejecuta “program_name input_file column_no”, imprima la columna desde el archivo de entrada.

Por ejemplo, ./contactos extraños.txt 1

La salida será:
Amit
Pramit
Shalini

2. Si se ejecuta «program_name input_file column_no pattern», imprima las strings de la columna dada solo si el patrón está
contenido en ellas.

Por ejemplo, ./contactos extraños.txt 1 mi

La salida será:

Amit
Pramit

3. Si se ejecuta “program_name input_file column_no ^pattern” o “program_name input_file column_name pattern$”, imprima
las strings de la columna dada solo si:
      a) las strings comienzan con el patrón dado (si se proporciona ^pattern)
      b) el las strings terminan con el patrón dado (si se proporciona el patrón $)

Por ejemplo, ./contactos extraños.txt 1 ^Am

La salida será:

amit

4. Ahora, en lugar del parámetro input_file, se le dará un nombre de directorio. El programa debe procesar todos los archivos contenidos
en el directorio como se hizo en los problemas 1 a 3.

tenemos un directorio «test» y 2 archivos «contacts.txt», «newcontacts.txt» dentro de él.

prueba/contactos.txt:

Amit,Shah,+9800123456
Pramit,Singh,+9801345678
Shalini,Shah,+9801341876

prueba/nuevoscontactos.txt:

John, Doe,+9800123456
Aman,Verma,+9801345678
Shalu,Singh,+9801341876

./prueba incómoda 1 ^Sh

Producción:

prueba/contactos.txt
===================

Shalini

prueba/nuevoscontactos.txt
====================
Shalu

5. Ahora, haga 1-4 para todos los archivos en los subdirectorios dado el nombre del directorio como parámetro. Si no se encontraron coincidencias
en ningún archivo dado, asegúrese de no imprimir nada correspondiente a ese archivo.

prueba
      subdir1
            a.txt
            b.txt
      subdir2
            c.txt
            d.txt

comando: ./prueba extraña nombre_columna ^patrón

y el patrón coincidió con los archivos test/subdir1/a.txt y test/subdir2/b.txt

producción:

prueba/subdir1/a.txt
==================

alguna_string1
alguna_string2

prueba/subdir2/b.txt
==================

alguna_string1
alguna_string2

Aproximadamente 15 personas llegaron al PI.

Se hicieron preguntas principalmente de OS, DBMS y Redes. También se hicieron preguntas sobre proyectos y pasantías que he mencionado en mi currículum.
Se hicieron muchas preguntas. Intentaré añadir tantos como pueda recordar.

Ronda 3 (IP):

. Me preguntaron qué me gustaba de la informática.
. Indique todo el proceso de arranque del sistema operativo Linux.
. ¿Qué es un núcleo? Indique todas las funciones del núcleo. ¿Cuál es la diferencia entre el sistema operativo y el kernel?
. ¿Cuáles son los diferentes tipos de requests HTTP? ¿Cuál es la diferencia entre PUT y POST?
. ¿Cómo funciona el correo electrónico? Mencione todo el proceso de envío y recepción de un correo electrónico.
. ¿Qué es SMTP?
. ¿Qué son TCP/IP y UDP? ¿Cuáles son las diferencias entre ellos?
. ¿Qué son IMAP y POP3? Cuáles son las diferencias entre ellos? Mencionar una secuencia cuando se usa el protocolo POP3
sería útil.
. ¿Qué son los protocolos ARP y RARP?
. Describir las capas OSI.
. ¿Qué es la dirección IP? ¿Qué es una dirección MAC? ¿Cómo se diferencian?
. ¿Cuál es la diferencia entre enrutador y conmutador?
. ¿Por qué es necesaria una dirección MAC?
. ¿Qué es DNS? ¿Qué tipo de protocolo se utiliza para realizar una solicitud al servidor DNS?
. ¿Qué tipo de protocolos se utilizan en las aplicaciones de mensajería instantánea? ¿Por qué?
. Había mencionado 3 proyectos en mi currículum. Me pidieron que explicara los proyectos en el orden de mi preferencia. Me hizo
preguntas sobre temas relacionados con el proyecto. Tuvimos una discusión detallada sobre los proyectos y mi papel en cada uno de estos
proyectos.
. ¿Qué es la Normalización? Normalizar una tabla dada.
. ¿Qué es la indexación en DBMS?
. ¿Qué es DDL y DML?
. ¿Qué es git? Diferencia entre git fork y git merge.
. Me preguntaron qué rol (Ingeniero de software/Operaciones) preferiría y por qué.


Ronda 4 (IP):

. ¿Qué sucede cuando escribo una URL en la barra de direcciones del navegador y presiono «Enter»? Describa todo el proceso.
. ¿Cómo funciona un servidor web?
. ¿Cómo sabe un servidor web qué recursos buscar en función de la solicitud?
. ¿Qué es DNS? ¿Cómo sabe un sistema operativo a qué servidor DNS hacer una solicitud? Explicar la jerarquía de DNS.
. Explicar el servidor DNS raíz.
. Me pidieron que explicara los proyectos. Una vez más, tuvimos una discusión detallada sobre ellos.
. Explicar la arquitectura del correo electrónico. Si se envía un correo electrónico desde una cuenta de correo de Yahoo a una cuenta de Gmail, ¿cómo se
envía realmente el correo electrónico?
. ¿Qué es la memoria virtual? ¿Cuál es la necesidad de ello?
. ¿Cómo saber el uso de memoria en Linux?
. ¿Cómo saber los usos de memoria por varios procesos en Linux?
. ¿Qué es un semáforo?
. ¿Qué es la condición de carrera?
. ¿Qué es el punto muerto?
. ¿Qué es la indexación en DBMS?

Ronda 5 (PI):

. Preguntas sobre un proyecto en particular mencionado en el currículum.
. Diseña un caché. Tuve que hacer muchas preguntas para conocer los requisitos específicos del diseño. Tuvimos una discusión detallada sobre varios enfoques. Se discutieron los pros y los contras de mi diseño. Me hicieron varias preguntas sobre mi elección de estructuras de datos. Como, en uno de mis enfoques había mencionado montón. Por lo tanto, se hicieron preguntas sobre la inserción/eliminación/actualización en la estructura de datos del montón, cómo logra O (inicio de sesión) para la inserción/eliminación.
. Preguntas sobre hilos y bloqueos relacionados con el diseño de caché.
. ¿Cómo se modificaría el diseño si el caché estuviera disponible para su uso en una red?

Gracias Geeksforgeeks.

Espero que sea útil para otros aspirantes. 🙂

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

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 *