Experiencia de entrevista de Dailyhunt | Conjunto 1 (en el campus)

Hola a todos. Voy a compartir mi experiencia de entrevista en Dailyhunt para el perfil de Ingeniero de Software Asociativo . Esta fue una entrevista en el campus.

El proceso comenzó con una ronda de eliminación que consta de 5 preguntas de programación que se mencionan a continuación:

  1. Te dan N números enteros (definiré cada uno de ellos como X aquí). Para todos ellos, calcula lo siguiente:
    Suma de todos los números Y tales que 1 <= Y < N y MCD(Y, X) tiene al menos dos factores primos.
  2. Dada una string, encuentre la longitud de la substring más pequeña que consta de un máximo de caracteres distintos.
  3. Dada una array, encuentre la subarray rectangular más grande cuya suma sea 0.
  4. Dada una array de N enteros, forme la array cuadrada de tamaño SQRT(N) x SQRT(N). Rota esta array k veces. Eventualmente obtendrá k + 1 arrays diferentes. Tienes que multiplicar todas estas arrays. Encuentre la suma de la array resultante final.
  5. Dada una array de N enteros. Cuente el número de pares cuya suma existe en la array. Por ejemplo, int a[] = {1, 2, 3, 5}. Aquí hay dos pares de este tipo: (1 + 2) = 3, (2 + 3) = 5.

La ronda fue de 3 horas de duración. Hubo 138 solicitantes. Preseleccionaron 22 para las entrevistas. Había resuelto 2 preguntas completamente y una parcialmente. Anoté 220/550. No se conocen los criterios exactos para la preselección, pero creo que preseleccionaron a los estudiantes que resolvieron al menos dos problemas por completo. Hubo alumnos con más de 220 puntos pero no fueron seleccionados porque habían resuelto varios problemas parcialmente.

PI ronda 1 (Técnica)
El objetivo principal de esta ronda fue evaluar mi conocimiento básico de estructuras de datos, algoritmos y lenguaje de programación en el que trabajo. Había mencionado java en mi currículum.

1. Dada una lista enlazada, intercambie el Node n desde el principio con el Node n desde el final. Tienes que intercambiar los Nodes en sí, no sus datos.
2. Encuentra el n-ésimo número más grande de la array.
3. ¿Qué es el grupo de subprocesos?
4. Diferencia entre String y StringBuffer.
5. StringBuffer frente a StringBuilder.
6. ¿Qué es la seguridad de subprocesos y la sincronización?
7. ¿Qué es la serialización?
8. Ventajas de StringBuffer y StringBuilder sobre String.
9. Ventajas de los Objetos Mutables e Inmutables.
10. Explicar la Interfaz y sus casos de uso.

La ronda fue de aproximadamente 30 minutos de duración. Luego me dijeron que esperara a la siguiente ronda.

PI ronda 2 (Técnico)

Esta ronda tenía solo dos preguntas principales y tomó aproximadamente 30 minutos. Comenzó con mi presentación. Luego me preguntó por qué Java es tan popular y luego pasamos a la parte principal.

1) Supongamos que el usuario no ha realizado ninguna actividad desde los últimos 30 minutos en su sitio web. ¿Cómo validarías la sesión? Empecé con el enfoque simple que generalmente seguimos. Podemos usar el tiempo de espera de la sesión y, si se trata de una autenticación basada en token, entonces el tiempo de espera del token. Luego comenzó a hacer la pregunta más compleja de esta manera:
supongamos que el servidor no admite sesiones. No puedes usar middleware. Su solicitud no debería llegar a la clase principal si se agotó el tiempo de espera de la sesión.

Mencioné mi suposición y respondí en consecuencia. Le di una respuesta en el contexto del sitio web de php. Pero me pidió que implementara lo mismo en Servlets. Si conoce Servlets, debe estar familiarizado con su ciclo de vida. Mi solución falló allí. Luego me ayudó un poco. Me dijo que implementara el concepto OOP con más detalle. Finalmente, la solución fue usar una clase abstracta. Si está familiarizado con él, obtendrá el escenario.

2) Dado un BST, copie todos sus Nodes en el mismo BST.

Árbol inicial:
BST

Árbol resultante:
BST

Para las 3 preguntas de codificación, tuve que escribir un pseudocódigo de algoritmo en el papel.

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

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

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 *