Entrevista 1 (45 minutos)
P1) escribir una función que devuelva una string diferente cada vez que se llame.
La respuesta
simplemente devuelve la hora en forma de string.
Luego se cambió la pregunta: ¿qué pasaría si dos computadoras diferentes estuvieran llamando a la misma función al mismo tiempo?
Responda
agregue la ID (o IP) de la computadora a la string.
Luego, la pregunta se cambió nuevamente: ¿qué sucede si la misma computadora estaba llamando a la misma función al mismo tiempo?
Respuesta
agregue la ID del procesador a la string
Q2) dado un número entero, calcula el número de veces que cambian los bits de representación binaria.
Por ejemplo, en 43 i,e, 0000101001 tenemos 5 cambios de 0 a 1 o de 1 a 0 (el 1º, 3º, 4º, 5º y 6º bit desde la derecha).
Responda
simplemente comience desde el bit más a la derecha y continúe moviéndose hacia la izquierda y vea el número de
tiempo de alternancia O (log n).
Luego modificó la pregunta: redujo el número de comparaciones utilizando espacio adicional.
La respuesta
almacena el número de alternancias para todos los números entre 0 y 255 en una array, donde la array [i] representa la cantidad de alternancias en el entero i. Por ejemplo, el valor de array[43] es 5
ahora divida el número de 32 bits en cuatro números de 8 bits. Calcule la cantidad de alternancias en cada uno de ellos (a través del mapa hash) y simplemente verifique el último y el primer bit de cada uno de esos números de 8 bits, si difieren del siguiente bit, agregue 1 al conteo.
Luego descanso para almorzar
Entrevista 2
Q1) dada una array de enteros, encuentre la secuencia más larga de números naturales consecutivos en la array de modo que todos los números menores que todos los números de la secuencia ocurran antes que él en la array.
Por ejemplo, si la array es
4,7,5,9,11,6,8,14,13,12,1
, la respuesta es 3 – 4,5,6 (aunque la lista consecutiva más larga es 11-14, 13 aparece después de 14)
Las respuestas
comienzan desde la izquierda y siguen almacenándolas en un mapa hash, donde la clave es el número en sí y el valor es la lista consecutiva más larga que termina en él.
Para establecer el valor de un número, busque el valor de la clave actual -1 . Si está presente, agregue uno al valor y guárdelo en el valor de la clave actual; de lo contrario, configúrelo en 1.
in the above list key value 4 1 7 1 5 2 (because 4's value is 1) 9 1 11 1 6 3(because 5's value is 2) 8 2 14 1 13 1 12 1 1 1 keep the maximum count.
Q2) diseñe una estructura de datos para encontrar el número de ocurrencias de una string.
solo usa un trie donde el conteo representa el conteo
struct trie{ int count; struct trie* children[26]; };
P3) alguna pregunta sobre el árbol de sufijos. no lo recuerdo
P4) Diseñe un sistema que reciba muchas entradas (en millones) en un flip flop (con algunas paradas en el medio) y realice la siguiente función: 1) calcule el valor del flip flop en el tiempo k-ésimo 2) borde positivo k-
ésimo .
Luego usamos el mapa hash para esto, pero la restricción de memoria es un problema, por lo que dijo que la cantidad de paradas era muy pequeña, por lo que la respuesta fue usar un BST que tenga la clave como la hora en que ocurrió la parada.
(Entiendo que es un poco difícil de entender, pero la pregunta fue bastante fácil)
Entrevista 3
Q1) diseñar un árbol B+ y codificarlo.
Buena suerte con la entrevista y sigue estudiando GeeksForGeeks, si conoces bien este sitio web, no hay mucho que tengas que hacer para ser seleccionado en cualquier empresa.
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