Experiencia de entrevista de Nutanix: ubicaciones en el campus

Nutanix Technologies vino a nuestro campus BITS Goa para el proceso de contratación en el campus. Realizaron múltiples rondas de selección para finalmente seleccionar 3 Candidatos. 

Prueba en línea: plataforma Hackerrank 

Se nos asignó 1 hora para resolver dos problemas. 

Primera pregunta: dados n sastres con valores de habilidad particulares (array de enteros positivos) y m tareas (array de enteros positivos), necesitamos encontrar cuánto tiempo tardarían los sastres en completar m tareas trabajando juntos. 

Un sastre puede hacer 1 tarea si su valor de habilidad >= valor de tarea. Completar 1 tarea por 1 sastre toma 1 hora. Por ejemplo, Sastre: 4 5 6 tarea: 5 5 6 tomará 1 hora si a un sastre con habilidad 4 5 6 se le asigna la tarea NULL 5 5 / NULL NULL 6 (2 horas): entonces los sastres pueden distribuir la tarea y tomar una cada uno según valor de habilidad tal que el tiempo consumido sea mínimo (2 h en este caso). 

Este fue un hermoso problema en Binary Search. Podría modelarse en https://www.spoj.com/problems/AGGRCOW/ donde debe aplicar la búsqueda binaria en la respuesta en sí (es decir, el tiempo de finalización). 

2da pregunta: Este fue un problema de programación dinámica 

La pregunta tenía una historia con ella. Sólo estoy diciendo el quid del problema. Dada una array 2D que tiene un bloque * (significa disponible) o # (significa no disponible). Se dio un entero k. Se deben considerar todos los k bloques continuos disponibles, ya sean verticales u horizontales. Habrá algún conjunto de bloques (continuos) que pueden superponerse teniendo una continuidad más que igual a k. La tarea era encontrar el número máximo de superposiciones que cualquier bloque puede tener en función de la array de entrada. Entender la pregunta era muy importante para poder resolverla. 

La respuesta requería hacer 3 arrays 2D de igual dimensión que la entrada. 1 para conteo de bloques continuos verticales (>=k). 1 para horizontal y 1 para todas las superposiciones finales. 

Cualquier estudiante que pudiera resolver 1 problema completo y otros al menos la mitad de los casos de prueba, fue preseleccionado. Hubo 14 candidatos preseleccionados de esta ronda, incluyéndome a mí. 

Ronda 0: Ronda de depuración 

De 14 estudiantes, la mitad de nosotros seríamos eliminados de esta ronda. Nos dieron 2 códigos C++ orientados a objetos sobre los conceptos del sistema operativo de bloqueo Semaphore y Mutex. Esto no fue una depuración OOP, sino una depuración basada en errores lógicos de sincronización del sistema operativo. Se nos pidió que señaláramos los errores y sugiriéramos correcciones. Faltaban puntos y comas en algunos lugares, pero se le dijo que solo señalara errores lógicos 

En el primer problema, tuvimos que pensar en el bloqueo Mutex y el manejo de excepciones. 

En el segundo problema, se hizo un pequeño cambio en el problema Productor-Consumidor de Semaphore. 

de un total de 10 errores, pude señalar 4/6 y 4/4 errores para las dos preguntas. Los enfoques se discutieron en una de las rondas posteriores. El entrevistador me dijo que yo era uno de los máximos goleadores de esta ronda. 

Ronda 1: Ronda Técnica 

El entrevistador tenía un cronómetro. Tan pronto como explicó cada problema, se puso en marcha el cronómetro. (Se suponía que no debía mencionar esto. Me acabo de dar cuenta) 

1st Ques: Construya BST a partir de su recorrido de orden de nivel dado 

Segunda pregunta: https://www.geeksforgeeks.org/given-sorted-dictionary-find-precedence-characters/ 

Me tomó un tiempo descubrir el enfoque para el primer problema. El entrevistador dio una pequeña pista que me llevó al enfoque de solución correcto. Sin embargo, resolví el segundo problema muy rápidamente. Me pidió que escribiera pseudocódigo para ambos problemas. Lo hice y quedé bastante feliz. 

Ronda 2: reanudar la ronda 

Esta ronda se basó en el currículum junto con algunas preguntas de recursos humanos también. 

El entrevistador era un ingeniero con 23 años de experiencia que trabajaba con Nutanix e hizo preguntas realmente inteligentes basadas en lo que estaba explicando en mis proyectos y estudio de caso. (Por cierto, esta es la única ronda en la que GFG no puede ayudarte 😛) La sesión se prolongó durante 40 a 45 minutos. Hacia el final, me dijo que le gustaba la pasión con la que explicaba mi trabajo y contribuciones en el estudio de caso y los proyectos mencionados en Resume. Esta fue una ronda muy interesante y muchas de sus preguntas trataban de verificar en qué departamento de la empresa puedo encajar bien. Estaba feliz después del final de la entrevista. 

Ronda 3: Ronda de diseño 

Antes del comienzo de esta ronda, el entrevistador discutió mis enfoques de la ronda de depuración y señaló dónde me perdí los errores. 

En esta ronda, me pidieron que implementara un caché LRU utilizando una estructura de datos adecuada. https://www.geeksforgeeks.org/lru-cache-implementation/ 

Después de eso, pidió más algoritmos que se puedan usar para el almacenamiento en caché y formas de implementarlos. Le dije LFU (Usado con menos frecuencia). Luego, la discusión continuó con la diferencia entre las dos técnicas, pros y contras y más ajustes al problema. 

Al final de la ronda, me preguntó si tenía alguna pregunta para él. Tenía algunas preguntas que respondió correctamente y también me dio consejos como mentor para mi futura carrera en ingeniería de software. 

Todos los entrevistadores trataron de ayudarme mientras llegaban a la respuesta cuando estaba atascado. Encontré la entrevista general con el equipo de NUTANIX muy informativa y las rondas se realizaron sin problemas. Finalmente, fui 1 de los 3 candidatos seleccionados para NUTANIX Technologies, Banglore 🙂 

Este artículo es una contribución de Shrehal Bohra
 

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 *