tasker

module
v0.0.0-...-7ed733f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2022 License: Apache-2.0

README

tasker

Тестовые задания

Выбор библиотек и фреймворков остается на усмотрение решающего.

Результатом выполнения считается ссылка на репозиторий.

Сервис хранения событий

Ваша задача написать сервис, который реализует API создания и завершения разных событий. События могут быть разных типов. В базе данных может быть только одно незавершенное событие одного типа.

Методы API

POST /v1/start

Тело запроса:

{
    "type": "..."
}
  • type может содержать только строчные буквы латинского алфавита и цифры

Метод создает событие переданного типа. Если в базе уже есть незавершенное событие переданного типа, то новое событие создавать не нужно, и в ответ не должно приходить сообщение об ошибке.

POST /v1/finish

Тело запроса:

{
    "type": "..."
}

Метод завершает событие переданного типа. Если незавершенного события такого типа в БД не найдено, должна вернуться 404 ошибка.

База данных

База данных должна быть MongoDB. События всех типов должны хранится отдельными документами в одной коллекции.

Пример документа в коллекции:

{
    "_id": "...",
    "type": "...",
    "state": 0, // state 0 - для незавершенных событий, 1 - для завершенных
    "started_at": "...", // Время начала события
    "finished_at": "...", // Время завершения события
}

Если необходимо, документ может быть расширен.

Задача о кенгуру

Есть два кенгуру на оси координат, готовые прыгать в одном направлении (например, в положительном направлении). Первый кенгуру находится в положении x1 и прыгает на расстояние v1 за прыжок. Анологично с первым кенгуру, второй находится изначально в положении x2 и прыгает на v2 за прыжок. По заданным начальным положениям и скоростям можете ли вы определить окажутся ли они в одном месте в одно и тоже время?

Входные данные​

Stdin с четырьми целыми числами, разделенными пробелом формата: x1 v1 x2 v2

Ограничения​
  • − 10000 ≤ x1, x2 ≤ 10000
  • − 10000 ≤ v1, v2 ≤ 10000
Формат вывода​

В stdout YES, если кенгуру могут встретится в одном месте в одно и тоже время. И NO в обратном случае.

Примеры​

Вход: 0 3 4 2

Результат: YES

Вход: 0 2 5 3

Результат: NO

Directories

Path Synopsis
internal
Задача о кенгуру ----------------
Задача о кенгуру ----------------

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL