Saltar al contenido

Experiencia de entrevista de Nutanix para pasante de MTS | Presencial 2021 (virtual)

Experiencia de entrevista de Nutanix para pasante de MTS |  Presencial 2021 (virtual)

Hola amigos, recientemente me entrevisté para el puesto de personal técnico (MTS) en Nutanix. Todo el proceso fue virtual debido a la actual situación de pandemia. El proceso de selección incluyó 1 ronda de codificación, 1 ronda de depuración, 1 ronda de ingeniería y 1 ronda de diseño del sistema.

Ronda de codificación (2 preguntas – plataforma de 90 minutos – HackerRank)

  1. Tienes que publicar X Comics diferentes cómics. Para esto hay disponibles máquinas de impresión en Y y máquinas de encuadernación en Z. La i-ésima máquina de impresión realiza impresiones[i] Minutos para imprimir todas las páginas de un cómic. Cada máquina de encuadernación tarda K minutos en encuadernar todas las páginas del cómic. Cada máquina (de impresión o encuadernación) solo puede manejar la mayoría de las páginas de un cómic a la vez.

    Los siguientes pasos son necesarios para la publicación:

    1. Una máquina de impresión ocupada comienza a imprimir páginas de cómics.
    2. Después de imprimir[i] Minutos, las páginas impresas se sacan de la i-ésima máquina de impresión.
    3. Después de un período de tiempo no negativo, las páginas de cómic impresas se colocan en una máquina de encuadernación desocupada.
    4. Después de K minutos, las páginas se retiran de la máquina de encuadernación.

    Descubra la cantidad mínima de tiempo que se necesitará para publicar X Comics.

    Constraint:
    
    1<=X<=10^6   
    1<=Y<= 10^5 
    1<=Z<=10^9 
    1<=K<=10^9 
    1<=print[i]<= 10^9
  2. Hay N robots en una sola fila, a cada uno se le asigna un valor entero. Cada robot puede acabar con el siguiente robot a la izquierda o a la derecha. Si un robot con un valor x termina a otro robot con el valor y, el robot terminado desaparece y el valor cambia a xy. Todos los robots se acaban entre sí hasta que queda uno. Encuentre el valor máximo posible del último robot.
    Constraints
    
    1<=N<=500000 
    -10^9<=A[i]<=10^9 

    Pude cerrar la segunda pregunta con todos los casos de prueba. En la primera pregunta, pude aprobar 20/21 casos de prueba.

Después de esta ronda, 13 estudiantes fueron preseleccionados.

Ronda de depuración (45 minutos): Esa ronda se llevó a cabo en una llamada de zoom y el supervisor compartió un documento separado con cada uno de los candidatos y se nos pidió que depuráramos el código.

  • El código se refería a un problema estándar del sistema operativo que es un problema de lector-escritor. Tuvimos que encontrar errores lógicos en el código dado.
  • La funcionalidad de cada función se ha definido claramente para cada función por lo que no hay necesidad de entrar en pánico ya que es completamente lógico.
  • Pude encontrar errores en el código mientras me preparaba para esta ronda.
  • Propongo preparar los problemas estándar como lector-escritor, productor-consumidor, problema del filósofo de la alimentación, etc. para esta ronda.
  • 7 candidatos despejaron esta ronda.

Ronda de entrevistas técnicas (DSA – 1 hora a 1 hora 15 minutos): Antes de esta ronda, 2 candidatos ya habían recibido una oferta de otra empresa por lo que fueron excluidos del proceso de selección. Solo 5 candidatos dieron la ronda técnica. Lo especial de Nutanix para esta ronda es que formulan sus propias preguntas, que no se encuentran en ninguna parte. Ponen a prueba sus habilidades de pensamiento a medida que aborda el problema.

La entrevista se realizó mediante una llamada de zoom. El entrevistador primero me pidió que me presentara y me preguntó acerca de mis intereses y pasatiempos. Fue muy amable e incluso me preguntó sobre mi programa de televisión favorito. Luego, compartió un enlace de documento de Google y me pidió que codificara las siguientes preguntas.

  1. Se da un árbol con N nodos. Cada borde bidireccional (i, j) en el árbol entre el nodo i y el nodo j tiene un peso. Hay un nodo X especial en el árbol. Calcule la suma de las distancias de todos los nodos a este nodo en particular X, es decir, dis (X, 1) + dis (X, 2) + dis (X, 3)… .. + dis (X, N). Mi enfoque para esto fue pensar en el árbol como un gráfico (ya que hay bordes bidireccionales) y luego hacer BFS para calcular la suma. La complejidad del tiempo fue O (V) y la complejidad del espacio fue demasiado lineal.
  2. La siguiente pregunta fue una continuación de la pregunta anterior. Ahora se proporciona un conjunto S de tamaño K, que denota K nodos especiales en este árbol. Para cada nodo i en el árbol, calcule la suma de las distancias de i a cada uno de estos K nodos, es decir, Val (i) = dis (S[1], i) + dis (p[2], i) +… .. + dis (p[K],I). Encuentra el valor mínimo[i] y el nodo para el que este valor es mínimo. En otras palabras, encuentre min (Val (1), Val (2),… ..Val (N)) y el nodo para el que existe el valor mínimo. El entrevistador quería que editara mi algoritmo anterior para la pregunta anterior y encontrara una solución a esa pregunta. Siempre me daba pistas cuando me quedaba atascado y pude encontrar una solución en la que primero poníamos todos los K nodos especiales en la cola y luego BFS guardando en un archivo. Tuvo que llevar a cabo la mínima distancia variable. El entrevistador estaba contento con mi enfoque y mi código.
  3. La siguiente pregunta era completamente nueva y el entrevistador solo quería que yo escribiera el enfoque y el pseudocódigo y el tiempo que tomó hacerlo. La pregunta era: hay varias casas en una ciudad. Debe encontrar una forma óptima de abastecer de agua a todos los hogares. Cada casa necesita un suministro de agua. Además, hay un costo asociado con la apertura de un pozo en cada hogar. costos[i] denota el costo de abrir el pozo en la casa i. También hay un gráfico. Cada borde bidireccional (i, j) tiene el peso de costo (i, j) para establecer un suministro de agua entre la casa I y la casa j. Ahora encuentre una manera de asegurarse de que todos los hogares tengan agua. Todo el arreglo debe costar lo menos posible. Mi primer enfoque fue un enfoque codicioso de clasificar la matriz de costos y luego verificar si el costo era[i] bueno para construir en la ciudad i es menor que el peso del borde. El enfoque fue incorrecto, por lo que el entrevistador me dio una pista y pude concluir que primero debemos construir el árbol de expansión mínimo y luego eliminar los bordes con un peso mayor que construir un nuevo pozo en esta ciudad. Dado que la parte que consume más tiempo sería la construcción de un árbol de expansión mínimo, la complejidad de tiempo de la solución es O (VlogE) y el espacio sería O (V + E).

El entrevistador fue muy amable y me ayudó cuando tuve dudas. También corrigió donde había cometido errores y me dejó corregirlos. Después de esta ronda, se seleccionaron 3 candidatos para la siguiente ronda.

Ronda de diseño del sistema (1 hora): Esta ronda también se llevó a cabo en Zoom-Call.

  • El entrevistador se presentó primero y luego me pidió que hiciera lo mismo.
  • Luego me pidió que desarrollara el sistema de entrega de pizzas Domino. Estaba un poco nervioso por esta ronda porque nunca antes había hecho diseño de sistemas. Solo tenía unas pocas 3-4 horas preparadas para ello con una comprensión básica de sus conceptos.
  • El entrevistador fue muy útil durante el proceso y me ayudó con consejos si me quedaba atascado. Primero me pidió que diseñara una estructura básica para el sistema. Luego me hizo varias preguntas de seguimiento sobre requisitos funcionales, requisitos no funcionales, qué base de datos sería más adecuada, tablas de diseño de esquemas, cómo se garantiza la seguridad y privacidad para el usuario, qué protocolo se debe utilizar, si la base de datos está completamente se supone que es como si lo hiciera escalable, qué estructura de datos usaría para construir su base de datos y por qué, cómo optimizar las consultas para los usuarios más rápido, qué tipo de caché usará, qué estructura de datos usaría para su caché, cómo lo harias? Guarde la marca de tiempo para el inicio de sesión de los usuarios para que no permanezcan conectados al sistema por mucho tiempo, ¿cómo manejaría una gran cantidad de solicitudes de usuarios y todas ellas?
  • Pude responder las preguntas de seguimiento con una explicación adecuada. El entrevistador aceptó mi solución al problema. Al final le hice algunas preguntas sobre el clima laboral en la empresa y me explicó todo con mucha paciencia. En mi opinión, la entrevista salió muy bien.

Veredicto: Fui el único candidato seleccionado al que se ofreció una pasantía en Nutanix. El proceso de entrevista fue realmente sencillo y el entrevistador fue muy amable y estoy agradecido por esta oportunidad que nos brinda Nutanix.

¡Atención lectores! No dejes de aprender ahora. Obtenga todos los conceptos principales de DSA con el Curso de autoaprendizaje de DSA a un precio asequible para los estudiantes y conviértase en apto para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y mucho más, lea Toma el curso de preparación para entrevistas. Si está preparado, pruebe sus habilidades con TCS, Wipro, Amazonas. Google , E-tornasol y Microsoft Serie de pruebas.

Source link