Junior — Senior
50
Нахождение курса валюты, ближайшего к заданной дате
被问到的公司:
任务条件
Необходимо реализовать функцию, которая по переданной дате возвращает курс валюты, записанный в базе в момент, наиболее близкий к этой дате. В качестве примера используется Django‑модель CurrencyRate, содержащая поля rate (Decimal) и datetime (DateTime). В таблице могут быть записи за разные годы, а запрос должен подобрать значение, чей timestamp минимально отклоняется от запрошенного.
# currency service
class CurrencyRate(models.Model):
rate = models.DecimalField(...)
datetime = models.DatetimeField(...)
# Пример данных таблицы
| rate | datetime |
|------|-------------------------------|
| ... | ... |
| 34.9 | 1999-05-21 15:44:12.983411 |
| 70.3 | 2022-12-20 08:30:16.123351 |
| 68.1 | 2023-01-09 12:30:13.431559 |
| 68.2 | 2023-01-10 10:00:12.123471 |
# Пример преобразования
| 2020-12-20 00:00:00.000000 -> 70.3 |
| 2000-12-20 00:00:00.000000 -> 34.9 |
def handler(dt: datetime) -> Decimal:
...