Skip to main content

Prueba de Candidatos Full-Stack

En esta prueba analizaremos tus conocimientos generales e incluso tu velocidad de desarrollo. A continuación te explicaremos todo lo que será necesario. La prueba general se divide en pequeños ejercicios con los cuales se evaluará en práctica:

  • Pensamiento lógico
  • Resolución de problema
  • Tiempo de desarrollo
  • Entre otros

Se incluyen bonos extra que podrán ser tomados en cuenta más no son obligatorios.

Ejercicios Backend

1. Importación de data.
HABILIDADES:

NodeJS, MySQL, JavaScript, Express

PROBLEMA:

El siguiente archivo .csv (resource_accommodation.csv) contiene una serie de datos relacionados con el comercio inmobiliario. Ejemplo (Dirección del apartamento/piso, Metros cuadrados, Características, entre otros) que deben residir en una tabla en base de datos MySQL.

REQUERIMIENTO:

El objetivo principal es crear un API endpoint en NodeJS el cual sea capaz de leer el archivo .csv e importar la data a la tabla de la base de datos.

BONO EXTRA: Proteja el endpoint utilizando JWT

2. Filtrar data.

HABILIDADES:

NodeJS, MySQL, JavaScript, Express

PROBLEMA:

Basado en el ejercicio #1 ya tenemos una base de datos funcional. Ahora necesitamos poder filtrar la data.

REQUERIMIENTO:

Se requiere un endpoint método GET el cual permita pasar atributos para poder filtrar el resultado de la data por:

  1. Rango de precio mínimo y máximo.
  2. Número de habitaciones.

BONO EXTRA: Proteja el endpoint utilizando JWT

3. Procesar data.

HABILIDADES:

NodeJS, MySQL, JavaScript, Express

PROBLEMA:

En algunos casos necesitamos saber el precio del alquiler por zona. Para ello necesitamos procesar la información de nuestra base de datos.

REQUERIMIENTO:

Se necesita endpoint método GET en el cual se pasen 3 atributos (Latitud, Longitud, Distancia en Kms = X), y esta retorne el precio promedio del metro cuadrado dentro de un radio de X kilómetros de la latitud y longitud indicados. Ver imagen:

image-1682011511136.png

BONO EXTRA: Provea un endpoint GET el cual utilice los mismos parámetros del ejercicio, pero devuelva una lista de las propiedades en formato JSON, que se encuentren dentro del área establecida.

 

4. Reportes data.
HABILIDADES:Reportes.

NODE, MONGO, JAVASCRIPT, EXPRESS

PROBLEMA:

En ocasiones se necesita generar reportes para el área administrativa, estos reportes deben ser en formato (PDF, CSV)administrativa.

REQUERIMIENTO:

REQUERIMIENTO: Se requiere un endpoint al cual se pasen los atributos de filtro, coordenadas y tipo de reporte (PDF, CSV) y dicho reporte generado se guarde en una carpeta.

Ejercicios Frontend

Extra.
SiLos hassiguientes llegadoejercicios hastapueden esteser punto,realizados con cualquier Framework para frontend de su elección, o incluso utilizando HTML, CSS y considerasJavaScript puros, y tratan sobre hacer una GUI protegida por autenticación de usuario/contraseña en donde se podrán cargar archivos .css para alimentar la base de datos de propiedades y luego hacer consultas/filtros.
Se calificará presentación, formato y responsiveness.

1. Autenticación de Usuarios
PROBLEMA:

Se debe contar con una tabla en la base de datos con los usuarios y contraseñas para autenticación del uso de la GUI.

REQUERIMIENTO:

Crear una tabla con los usuarios y sus respectivas contraseñas y hacer una página de inicio de sesión para proteger todas las páginas subsiguientes en la GUI.

2. Despliegue de GUI
REQUERIMIENTO:

Crear una GUI en donde el usuario que tienesinició tiemposesión seexitosa valorapueda realizar las siguientes tareas:

  • Cargar un archivo .csv para alimentar la lista de propiedades
  • Ver una lista completa de propiedades y filtrarlas basado en los siguientes campos:
    • Cantidad de habitaciones
    • Rango de precio (mínimo y máximo)
    • Ubicación basada en rangos de kilómetros de un punto de referencia (zona perimetral)
    • Metraje de la propiedad
    • Posee balcón
    • Pet friendly
    • Piscina
    • Jardin
  • Descargar un CSV o PDF con los resultados aplicados en el hechofiltro
  • de que puedas desplegar tu proyecto en Heroku o en cualquier servidor de tu gusto.

BONO EXTRA: ProtejaDesplegar elun endpointmapa decon loslas APIspropiedades utilizandodel JWTfiltro marcadas dentro del mismo