Nutanix visitó mi campus. Hubo 3 rondas en total:
Ronda 1 (ronda de codificación):
2 preguntas debían resolverse en 1 hora y 15 minutos.
Pregunta 1:
Dada una string, determine si es una ‘string de suma’. Una string se denomina string de suma si cumple las siguientes propiedades:
len(s)>3
substring(i,x) + substring(x+1,j) = substring(j,l)
ejemplo :
“12358” es una string de suma. Explicación: 1+2 = 3; 2+3 = 5 ; 3+5 = 8
“199100199” es una string de suma. Explicación: 1+99 = 100 ; 99+100 = 199
“2368” no es una string de suma.
Pregunta 2:
dadas 2 strings s1 y s2, determine si s2 es una mezcla de s1. Donde shuffle se define como una operación que cambia 2 hijos de un Node en un árbol binario.
Example: s1 = great s2 = taerg binary tree for s1 great / \ gr eat / \ / \ g r e at after shuffle we obtain, great / \ eat gr (shuffle gr and eat as they are children of great node) / \ / \ at e r g / \ t a
entonces taerg es una secuencia aleatoria de s1.
Esta fue una pregunta difícil de los 2.
12 estudiantes calificaron para la siguiente ronda. Resolví todos los casos de prueba de la primera pregunta y 5 casos de prueba de la pregunta 2. Así que fui seleccionado para la segunda ronda.
Ronda 2:
Me pidieron que resolviera un problema de programación dinámica. Dada una string de dígitos separados por operadores (+ y *) únicamente. Luego, ponga la string entre paréntesis de tal manera que primero obtengamos el valor máximo posible y luego obtengamos el valor mínimo posible de la string. Devuelve la diferencia de los dos valores calculados. Tuve que resolver este problema en una hoja de papel y explicar todo el enfoque. Me tomó 30 minutos completar el código en papel junto con la explicación. Luego, el entrevistador probó mi código para algunos casos simples: 2*2+2 => el máximo es 2*(2+2) = 8 y el mínimo es (2*2)+2 = 6. Luego me preguntó si tenía alguno
. preguntas para el.
Quedó impresionado por mi solución y estilo de codificación, limpio y ordenado con comentarios y un camello de variables.
En total, 6 estudiantes fueron preseleccionados para la tercera ronda, incluyéndome a mí.
Ronda 3:
El entrevistador me pidió que depurara un código que involucra bloqueos de lector y escritor. Era una pregunta del sistema operativo, una versión modificada del problema de lectores y escritores. Señalé 5 problemas con el código, tanto sintácticos como lógicos. Hubo una condición de interbloqueo, incoherencia de escritura tras escritura, incoherencia de lectura tras escritura, error if else y error de sintaxis. Me tomó 10 minutos señalar todos los problemas y escribir el código correcto. El entrevistador tenía un cronómetro funcionando en su teléfono, del cual solo me enteré después de 5 minutos.
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