Experiencia de entrevista Flipkart para ingeniero de software-2

Primera Ronda (Ronda MC): Dada 90 minutos.

Diseñar un Servicio de Alquiler de Vehículos. 

Aquí está la pregunta:

Descripción:

Flipkart está iniciando un nuevo servicio de alquiler de vehículos FlipCar. En este servicio alquilaremos diferentes tipos de vehículos como coches y bicicletas.

Características:

  1. El servicio de alquiler tiene múltiples sucursales en toda la ciudad. Supongamos una ciudad por ahora.
  2. Cada rama tiene un número limitado de diferentes tipos de vehículos.
  3. Cada vehículo se puede reservar con un precio predefinido. Para simplificar, suponga precios fijos.
  4. Cada vehículo se puede reservar en múltiplos de espacios de 1 hora cada uno. (Para simplificar, suponga franjas horarias de un solo día)
  5. No se deben permitir reservas anteriores.

Requisitos:

  1. A bordo de una nueva sucursal con vehículos disponibles
  2. Vehículo(s) nuevo(s) a bordo de un tipo existente a una sucursal en particular
  3. Alquile un vehículo para una franja horaria y un tipo de vehículo (el precio más bajo como opción por defecto extensible a cualquier otra estrategia).
  4. Muestra los vehículos disponibles para una sucursal determinada ordenados por precio
  5. El vehículo se tendrá que dejar en la misma oficina donde se recogió.
  6. Pregunta extra:

  7. Precios dinámicos: demanda frente a oferta. Si se reserva el 80% de los automóviles en una sucursal en particular, aumente el precio en un 10%.

Otros detalles:

  1. Utilice el almacén en memoria.
  2. No cree ninguna interfaz de usuario para la aplicación.
  3. Escriba una clase de controlador para fines de demostración. Que ejecutará todos los comandos en un solo lugar en el código y los casos de prueba.
  4. Priorice la compilación, ejecución y finalización del código.
  5. Trabaje primero en el resultado esperado y luego agregue sus propias características útiles.

Expectativas:

  1. Asegúrese de que puede ejecutar su código y mostrar que está funcionando.
  2. Asegúrese de que el código sea funcionalmente correcto.
  3. Trabaje primero en el resultado esperado y luego agregue sus propias características útiles.
  4. El código debe ser modular y legible.
  5. Debe abordarse la separación de preocupaciones.
  6. El código debe adaptarse fácilmente a los nuevos requisitos con cambios mínimos.
  7. El código debe ser fácilmente comprobable.
  8. La entrada se puede tomar en el formato deseado [no es necesario seguir la misma gramática], pero las API deben permanecer como están (deben contener todos los parámetros de entrada)

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 *