Experiencia en entrevistas de Zomato (más de 4 años de experiencia)

Hubo tres rondas, de las cuales dos se basaron en el diseño del sistema y la tercera fue la ronda del gerente de ingeniería.

La ronda 1:

Las preguntas formuladas en la primera ronda son las siguientes:

  1. Explicar la arquitectura completa del proyecto actual.
  2. Explique un desafío al que se enfrentó al desarrollar cualquier característica y cómo resolvió ese problema.
  3. Diferencia entre bases de datos SQL y NoSQL.
  4. Que es fragmentar.
  5. Desde que trabajé en la búsqueda elástica, diseñé un clúster de búsqueda elástica, dada la cantidad de fragmentos activos, la cantidad de instancias y la cantidad de réplicas.
  6. ¿Cómo se almacenan realmente los datos en la búsqueda elástica?
  7. Limitador de velocidad de diseño específico para el cliente. Dadas las requests máximas de R recibidas del cliente en T segundos, ¿cómo diseña su sistema? ¿Cómo manejar el escenario de falla cuando se reciben más requests? Expliqué esto con la ayuda de la cola y haciendo una búsqueda binaria basada en la marca de tiempo para obtener la cantidad de requests cuando se recibió una nueva solicitud entrante.

La ronda 2:

Las preguntas formuladas en la segunda ronda fueron algo similares a las de la primera ronda y se enumeran a continuación:

  1. Una vez más, explicación sobre el proyecto actual y una función en la que se trabajó recientemente.
  2. Beneficios de almacenar datos en la búsqueda elástica en comparación con las bases de datos.
  3. Qué es la indexación y cómo se implementa internamente.
  4. Dadas dos bases de datos A y B y una tabla T (columnas C1, C2) en ambas bases de datos, C1 era la clave principal en ellas y C2 era otra columna indexada en la base de datos B. La consulta de selección se ejecutará en ambas bases de datos, es decir, seleccione C2 de T donde C1 =X. ¿Qué base de datos servirá datos más rápidos?
  5. Una pregunta de seguimiento, se da otra consulta de selección, por ejemplo, Seleccione * de T donde C1 = X y C2 = Y. ¿Qué base de datos servirá datos más rápidos?
  6. Dadas dos nubes, Azure y AWS, necesitamos almacenar datos en AWS como respaldo. La operación de lectura y escritura se realizará solo en Azure. ¿Cómo gestionará esta sincronización de datos?
    a) Primera solución, asnyc actualice la copia de seguridad de AWS y mantenga una cola para todas las requests de escritura. Cuando un subproceso de trabajo esté libre, comience a escribir datos en AWS.
    b) ¿Qué pasa si llegan muchas requests a la vez que la cola no puede manejar? Luego, escriba un programa de trabajo cron que active una lambda cada hora para sincronizar datos entre estas dos nubes.
  7. Dado un archivo de registro que consta de todos los registros de requests recibidos en un solo día, ¿cómo calculará el número máximo de requests por segundo y el número máximo de usuarios simultáneos activos?
    a) Solución al primer problema que proporcioné: lea los datos del archivo de registro y ordene los datos según el sello de tiempo. Después de ordenar, agrupe los datos según el segundo intervalo, digamos 12:00-12:01 y luego cuente el tamaño máximo de estos grupos.
    b) Para el segundo problema, ordenaremos nuevamente los datos y luego, para cada inicio de sesión, cuente ++ y para cada cierre de sesión, cuente–. Si cuenta> max, actualice max_Concurrent_users.

Ronda 3:

La tercera ronda se centró principalmente en la discusión del proyecto actual.

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 *