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
Ejercicios
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.
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:
- Rango de precio mínimo y máximo.
- Número de habitaciones.
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:
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:
NODE, MONGO, JAVASCRIPT, EXPRESS
PROBLEMA:
En ocasiones se necesita generar reportes para el área administrativa, estos reportes deben ser en formato (PDF, CSV)
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.
Extra.
Si has llegado hasta este punto, y consideras que tienes tiempo se valora el hecho de que puedas desplegar tu proyecto en Heroku o en cualquier servidor de tu gusto.
BONO EXTRA: Proteja el endpoint de los APIs utilizando JWT