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:
- Explicar la arquitectura completa del proyecto actual.
- Explique un desafío al que se enfrentó al desarrollar cualquier característica y cómo resolvió ese problema.
- Diferencia entre bases de datos SQL y NoSQL.
- Que es fragmentar.
- 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.
- ¿Cómo se almacenan realmente los datos en la búsqueda elástica?
- 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:
- Una vez más, explicación sobre el proyecto actual y una función en la que se trabajó recientemente.
- Beneficios de almacenar datos en la búsqueda elástica en comparación con las bases de datos.
- Qué es la indexación y cómo se implementa internamente.
- 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?
- 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?
- 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. - 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