Recientemente me entrevisté con Druva Pune. Tengo 2 años de experiencia en ingeniería de software con una FinTech.
La ronda 1 :
El reclutador se puso en contacto conmigo en LinkedIn y compartió un enlace de prueba en Mettl.
Formato del examen: (Tiempo total: 75 minutos)
Sección A- 3 preguntas de programación. Idioma permitido (JAVA,Python,C++), todas las preguntas eran de nivel medio-fácil.
Sección B- 3 secciones que contienen 5 MCQ en cada una. Estas secciones incluían preguntas sobre C++, redes y sistemas operativos y algoritmos y estructuras de datos, respectivamente.
Ronda 2: (1 hora)
Esto fue tomado por un ingeniero de software senior.
Q1. https://www.geeksforgeeks.org/reverse-alternate-k-nodes-in-a-singly-linked-list/
Expliqué el enfoque y codifiqué en un Google Doc compartido entre el entrevistador y yo.
Q2. https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
Le expliqué el proceso. El entrevistador quedó satisfecho con el enfoque, pero se acabó el tiempo mientras codificaba.
Ronda 3: (1 hora)
Esta ronda fue tomada por el Ingeniero Principal.
1. Preguntas sobre el ataque de denegación de servicio (DOS) y cómo prevenirlo. Preguntas sobre sesiones pegajosas.
2. Diseñe un limitador de velocidad que solo permita n requests de un usuario en particular. Se discutieron varios enfoques basados en la IP y el identificador de usuario.
3. Diseñe un sistema que solo permita un número n de requests a cada servidor backend (en un marco de tiempo de K unidades) y distribuya la solicitud. Proporcioné una implementación de lista enlazada de Queue. Con este enfoque, el número total de requests actualmente procesadas por un servidor en la última k unidad de tiempo se puede encontrar en O(1). (Similar al enfoque de suma continua en una array)
4. Preguntas sobre Sharding y Hashing consistente: en caso de adición dinámica de nuevos servidores.
5. https://leetcode.com/problems/reorganize-string/
Se esperaba un enfoque O (n) para lo anterior. Para la codificación, se compartió un documento de Google.
Ronda 4: (1 hora)
Esta ronda fue tomada por el Director de Ingeniería. (Director de Recursos Humanos)
1. Describa un proyecto desafiante que haya realizado en su organización actual.
2. Planteamiento del problema: Se da una Api que está paginada. (La respuesta no llegará de inmediato, sino que debe llamar a la API con diferentes números de página en el parámetro de consulta). Tiene una cantidad K de subprocesos disponibles, escriba un código que llame a esta API y devuelva la respuesta completa. El código debe usar como máximo k subprocesos y el uso de estos subprocesos debe ser óptimo.
Se discutieron varias condiciones de carrera en esto y finalmente, con la ayuda del entrevistador, pude codificarlo.
3. https://www.geeksforgeeks.org/find-number-of-days- between-two-given-dates/
4. https://www.geeksforgeeks.org/merge-two-binary-trees-node-sum/
Discusión sobre intereses y razón del cambio.
Ronda 5: (1/2 hora)
Esta fue más una ronda de ajuste cultural tomada por el Director de Producto. Discusión sobre cualquier proyecto, cuáles son los desafíos enfrentados. Discusión de CV. Expectativa de Druva, etc.
El proceso de entrevista tomó alrededor de un total de 2 semanas. Veredicto final seleccionado 🙂
Me gustaría agradecer a GeeksForGeeks por brindar varias experiencias de entrevistas y preguntas para la preparación.
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