51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# Large file reading challenge
|
|
|
|
Welcome in the recruitment challenge.
|
|
Write an application that, at the endpoint specified by you, returns the yearly average temperatures for a given city in
|
|
the format array of objects with the following fields: year, averageTemperature.
|
|
|
|
## Assumptions
|
|
|
|
- CSV file with data is no less than 3GB in size.
|
|
- The file represents temperature measurements in the format city;yyyy-mm-dd HH:mm:ss.SSS;temp
|
|
- The content of the source file may change during the application's running
|
|
|
|
## Example source file
|
|
|
|
[example_file.csv](example_file.csv)
|
|
|
|
## Response
|
|
|
|
### Schema
|
|
|
|
[response_schema](schema/response.json)
|
|
|
|
### Example
|
|
|
|
```json
|
|
[
|
|
{
|
|
"year": "2021",
|
|
"averageTemperature": 12.1
|
|
},
|
|
{
|
|
"year": "2022",
|
|
"averageTemperature": 11.1
|
|
},
|
|
{
|
|
"year": "2023",
|
|
"averageTemperature": 14.1
|
|
}
|
|
]
|
|
```
|
|
|
|
## Configuration
|
|
|
|
| property | description | default |
|
|
|---------------|--------------------------------|-----------------------|
|
|
| data.file-url | path to file with temperatures | data/temperatures.csv |
|
|
|
|
## Usage
|
|
|
|
Temperature statistics endpoint: `/api/temperatures/{city}`
|
|
Returns HTTP 200 when city is found, 404 otherwise.
|