Experiencia de entrevista de caminata | Fuera del Campus Septiembre 2019

Ronda 1: Ronda de codificación en línea

5 Preguntas de Programación, Duración: 75 minutos

  1. Dadas dos coordenadas (a, b) y (c, d), comprueba si (a, b) se puede hacer (c, d). En cada paso (a, b) se puede convertir en (a+b, b) o (a, a+b). Dado que hay que hacer dos elecciones en cada paso, la recursividad es el enfoque. Solo «Sí» o «No» tenía que ser la salida.
  2. Dada una array de 26 longitudes que indica si un carácter es normal o especial (0/1), una string y un entero k, encuentre la substring más larga en la string de entrada de modo que haya como máximo k caracteres especiales en ella. Buscar cada substring agotaría el tiempo de espera, así que use la técnica de ventana deslizante y mantenga el recuento de caracteres especiales encontrados. Siempre que el recuento> k, reduzca la ventana desde el principio.
  3. Dada una array de strings, podemos pasar de una string a otra eliminando un carácter. Encuentre la string más larga que se puede formar realizando esta operación. Dado que la string estará formada por strings con una diferencia de longitud de 1, podemos clasificar las strings en función de la longitud y luego crear la string.
  4. Dada una array 2D con 0 y 1, encuentre el cuadrado más grande con todos 1. pregunta dp
  5. Dada una array, encuentre el número mínimo de intercambios necesarios para mover todos los elementos pares al principio y los elementos impares al final de la array.

La ronda 2:

  1. Función GetMin() en Stack.
  2. Dadas dos listas enlazadas ordenadas, combínelas. Luego modificó la pregunta a k dadas listas enlazadas ordenadas, fusionarlas. Esto se puede hacer usando un montón mínimo de tamaño k.
  3. Dada una array, la ha ordenado en función del orden relativo de otra array. Modificar clasificación personalizada.
  4. Plataformas mínimas necesarias en una estación de ferrocarril. Le dije que se acercara a O(nlogn). Pidió el enfoque O(n). No pude pensar en el enfoque O (n), por lo que hizo otra pregunta que ayudaría a resolver la pregunta actual. ¿Cómo verificar si dos strings son anagramas? Esta pregunta ayudó a encontrar la solución O(n).
  5. Dada una array, encuentre todos los subconjuntos cuya suma sea divisible por 8. Sabía que la suma acumulativa tenía que tomarse, pero no podía pensar en cómo usarla. Así que me dijo que puedo formar una ecuación de números divisible por 8. Si digamos sum(i, j) (i<j)es divisible por 8 entonces, sum(0, j) = 8*sum(i, j) + suma(0, i-1). Y los restos posibles son 0-7. Entonces podemos almacenar el resto en cada j, y tal combinación para determinar la respuesta.
  6. ¿Cómo se implementa HashMap en Java? Manejo de colisiones y cómo se maneja el tamaño del mapa hash a medida que ingresan más y más datos. El tamaño del mapa hash se duplica y las claves existentes se reasignan.

Ronda 3:

  1. Clase Singleton y su implementación.
  2. Lector Escritor Problema con las modificaciones para dar preferencia al escritor si llega, ya que la implementación estándar priva a los escritores.

Ronda 4:

  1. Implementación de caché LRU.
  2. Luego modificó la pregunta. Cada clave tiene un campo de tiempo de caducidad. Entonces esas claves tuvieron que ser eliminadas del caché. Empecé con hashmap pero él estaba buscando una estructura de datos diferente.

Ronda 5:

Ronda con VP. Me hizo preguntas de comportamiento. Sobre mi CV, mis intereses.

Veredicto: Seleccionado.

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 *