Ronda 1 (prueba escrita): la prueba tenía 3 preguntas:
- Calcule la suma de dos enteros y si el número de dígitos en la suma es igual a uno de los enteros, devuelva la suma; de lo contrario, devuelva n.
- Encuentra si un número tiene palíndromo binario y cuenta el número de bits establecidos
- Conectar Nodes al mismo nivel en un árbol binario
Ronda 2 (ronda de vuelo en grupo):
- Dividieron a todos los alumnos preseleccionados en grupos de 2 y por cada 6 alumnos se asignó un entrevistador. Tenía 2 preguntas que deben resolverse en 40 minutos.
- Dada una array 2D con caracteres, debe encontrar si una string dada existe en la array o no. Solo puede moverse en la dirección izquierda-> derecha o arriba-> derecha. (Retroceso/Recursividad)
- Dado un BST, hay un Node malo que viola la propiedad de BST. Entonces necesitas encontrar ese Node y corregirlo.
Consejo: Haga varias preguntas con su entrevistador y discuta su enfoque.
Ronda 3 (F2F):
- El entrevistador primero me preguntó sobre mi proyecto hasta el último detalle del mismo.
- Luego me preguntó sobre la estructura de la base de datos del proyecto: cada tabla y me pidió que la mejorara. Luego me pidió que escribiera algunas de las consultas SQL relacionadas con esa base de datos.
- Estructura de datos: encuentre un elemento duplicado en la array donde el rango de elementos es de 1 a n. Le di ese enfoque de elemento negativo, pero me pidió que lo optimizara a menos de O (n). No pude hacer esa parte, pero luego terminó la entrevista.
Ronda 4 (F2F):
- Pregunta de diseño para la gestión de tokens.
Me pidió que diseñara un sistema en el que los tokens se generaran automáticamente y se les asignaran contadores. Por ejemplo, banco SBI/centro de atención al cliente. Me dijo que escribiera las clases que están involucradas para esto. El entrevistador me ayudó mucho y me hizo pensar. Le gustó mucho mi enfoque y me dijo que continuara con él.
Solución: creé 3 clases para el sistema Counter (counter_id, current_token, state) Token (Token_id) TokenManager (List, List). Se explicaron métodos como AssignCounter(), findFreeCounter(), etc. Era muy particular con los nombres de clases y métodos y me dijo que cambiara uno u otro nombre. Fue una discusión de 1 hora y 30 minutos.
Al final, me dijo que había sido una discusión larga pero muy buena y que es bueno tenerte aquí. 🙂
Ronda 5 (F2F):
- El entrevistador era un tipo serio y me pidió que restara dos strings de manera que los caracteres de la segunda string se eliminaran de la primera string (en el lugar). Suponga que la string es una array de caracteres.
Enfoque 1: agregue todos los caracteres de la segunda string a un hashset y para cada carácter que coincida, tome la substring anterior y posterior. O(n^2).
Enfoque 2: basado en la cola, agregue todos los caracteres que no están presentes en la cola y vuelva a agregarlos a la array de caracteres. O(n) tiempo O(n) espacio.
Enfoque 3: Me pidió que lo mejorara aún más y le di una solución O(n) usando 2 punteros.int
j = -1;
for
(
int
i = 0; i < n; i++) {
if
(!set.contains(s[i])
{
arr[++j] = s[i];
}
}
arr[++j] =’\0’;
- Estaba contento con mi solución y luego me pidió que discutiera una pregunta de diseño.
Luego me pidió que diseñara un sistema de gestión de pedidos de MC-Donalds. Cuáles son las API disponibles, cuáles son cliente, servidor y cómo la cocina se entera del nuevo pedido.
Y luego, después de 5 minutos, obtuvimos nuestros resultados y fue realmente un momento de mucho orgullo.
Consejo: debe tener mucha paciencia porque las rondas de entrevistas toman mucho tiempo. Fue un proceso de 12 horas, así que ten calma y paciencia. Todos los mejores amigos……
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.
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