Experiencia de entrevista Flipkart para SDE-I | 1 año de experiencia

La ronda 1:

Codificación de máquinas : 30 minutos de discusión sobre la declaración del problema, 3 horas para implementar, otra discusión de 1 a 1,5 horas sobre la solución, con casos de prueba.

Diseño del sistema de reserva de vacunación Covid-19

Las características incluyen:

  • Incorporación de estados, distritos, salas, centros de vacunación, franjas horarias
  • Usuarios registrándose con documentación única.
  • Funciones de búsqueda adecuadas para ayudar al usuario a encontrar espacios, centros, distritos en la ciudad.
  • Listado de reservas y datos del centro.

La pregunta era pesada en cuanto a la implementación, necesitábamos asegurarnos de que nos ocupáramos de los casos extremos y de entradas abruptas, y surgían muchos de estos casos.

Un tipo similar de pregunta basada en la implementación puede ser: https://workat.tech/machine-coding/practice/design-library-management-system-jgjrv8q8b136.

Las entradas/comandos eran muy similares a las del artículo.

Ronda 2 (DSA): 45 Minutos

  1. Dada una array de números positivos y negativos. Tienes que encontrar el producto máximo de 3 números
    https://practice.geeksforgeeks.org/problems/three-great-candidates0515/1 .
    Input : [9, 1, 2, 3, 4, 5, -8, 10]
    Output : 450 (10 * 9 * 5)
    Input : [-9, 1, 2, 3, 4, 5, -8, 10]
    Output : 720 (10 * -9 * -8)

    Solución:

    – Ordene la array y la respuesta será máxima (producto de los últimos 3 números O producto de los primeros 2 números con el último)

    Hora: O(n Registro n)

    – Recorra la array y almacene los 3 números máximos y los 2 números mínimos en variables. La respuesta será max(max1 * max2 * max3, max1 * min 1 * min2).

    Tiempo en)

  2. Dadas las rutas de vuelo con una fuente, necesitamos encontrar el destino. Un destino es el aeropuerto que no tiene una ruta a algún otro aeropuerto.

    Puede haber varios aeropuertos que no tengan una ruta a otro aeropuerto, pero el aeropuerto de destino debe ser accesible desde el origen.

    Siempre existirá un aeropuerto de destino.

    Input : [A,B] [B,C] [C,D] [E,F], Source = A
    Output : D
    A(source)->B->C->D
    E->F

    No hay ruta después de D. F tampoco tiene una ruta a otro aeropuerto, pero no se puede llegar a F desde la fuente, por lo que no puede ser la respuesta.

    Input : [A,B] [B,C] [C,D] [C,E] [E,D], Source = A
    Output : D
    A(source)-B-C  -  D
                \   /
                  E

    No hay ruta después de D, por lo que D será el destino.

    Solución:

    Crear el gráfico y luego hacer una llamada DFS desde la fuente hasta que encontremos un Node que no tenga hijos. Ese Node será la respuesta.

    Tiempo – O(n), n es el número de aeropuertos

    Usé un hashmap para construir el gráfico como una lista de adyacencia.

    Hubo una discusión sobre otras formas de construir el gráfico que podrían optimizar el espacio.

  3. Dado un número positivo N, genere la puntuación para ese número, donde N se puede representar como la suma de 2 números A y B, y la puntuación es la suma de todas las permutaciones de [Puntuación (A) + Puntuación (B)].

    A y B combinados deben ser únicos. (Ej: 1 y 3 es lo mismo que 3 y 1)

    Input : 3
    Output : 3
    Input : 5
    Output : 14

    Solución:

    Este es un problema DP 1D, donde la puntuación de N se puede calcular de abajo hacia arriba, calculando las puntuaciones de los números menores que N.

    Example :
    1 => 1 (Base case)
    2 : 1 + 1 => Score(1) + Score(1) = 2
    3 : 1 + 2 => Score(1) + Score(2) = 3
    4 : 1 + 3 => Score(1) + Score(3) = 4
    2 + 2 => Score(2) + Score(2) = 4
    = 4 + 4 = 8
    5 : 1 + 4 => Score(1) + Score(4) = 9
     : 2 + 3 => Score(2) + Score(3) = 5
     = 9 + 5 = 14
    6 : 1 + 5 => Score(1) + Score(5) = 15
     : 2 + 4 => Score(2) + Score(4) = 10
     : 3 + 3 => Score(3) + Score(3) = 6
     = 15 + 10 + 6 = 31

    > Solo necesitábamos hacer una array 1D de 1 a N, y atravesar desde 1 llenando los valores y finalmente devolver Score (N).

    Tiempo: O(n^2)

Algunas personas tuvieron 2 rondas de DSA, pero mi ronda fue bastante bien, así que me redujeron 1 ronda.

Aunque las preguntas parecían del lado fácil-medio, pero con 45 minutos en la mano, de los cuales 10 minutos se dedicaron a la introducción y discusión de proyectos/roles básicos, resolver 3 preguntas en aproximadamente 30 minutos hizo que fuera un poco difícil.

Ronda 3 (gerente de contratación/adaptación cultural): 1 hora

  1. Me preguntó sobre los roles en la organización anterior.
  2. Explicar una arquitectura de muy alto nivel de las cosas en las que trabajo.
  3. Elección del lenguaje/marco y razones.
  4. Elección de DB (SQL / NoSQL) y por qué. (Discusión profunda)
  5. Conceptos de almacenamiento en caché con una discusión profunda.
  6. Discusión sobre Proyectos.
  7. Situación en la que me demostré más orientado hacia el cliente.
  8. Situación en la que tuve desacuerdos con el equipo y cómo la manejé.
  9. Situación en la que me salí del camino para hacer algo.
  10. El mayor logro hasta ahora para mí.
  11. Cómo manejar una situación en la que los requisitos del cliente no están alineados con las demandas comerciales.
  12. Pasos que toma para mostrar el trabajo en equipo.

Veredicto: Seleccionado

Sé constante y ten paciencia, las cosas funcionarán y aterrizarás donde quieras.

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 *