Skip to content

Instantly share code, notes, and snippets.

@klinkin
Last active November 14, 2018 19:23
Show Gist options
  • Save klinkin/e2bf4ba8d07f83dc762e1c4af18d0154 to your computer and use it in GitHub Desktop.
Save klinkin/e2bf4ba8d07f83dc762e1c4af18d0154 to your computer and use it in GitHub Desktop.

Первая задача:

Есть файлик с миллиардом строк, каждая строка json. Есть супер надежный endpoint, который может в 100500 rps, но принимает только один json за один POST запрос.

Данные в исходном json могут быть немного перепутаны. Если порядок строки неверный, сервер ответит HTTP 406 и строку нужно попробовать отправить немного позже.

В итоге нужно послать весь файл не больше чем 60 мин.

Вопросы можно задавать в комментах ниже. Решение на dev@edadeal.ru.

Вторая задача:

Есть набор баннеров неопределенного размера. Баннеры попадают в набор из внешних сервисов (админка, API и т.п.). У каждого баннера есть поля: идентификатор, ссылка на картинку для показа и вес в виде натурального чила.

Написать HTTP API для сервиса крутилки баннеров.

Требования:

  • данные баннеров должны храниться в персистентном хранилище
  • частота показа каждого баннера должна быть пропорциональна его весу
  • сервис должен хорошо скалироваться на случай увеличения нагрузки

Это комплексная задача на написание кода и проектирование сервиса с нуля, с полной свободой выбора компонентов сервиса за исключением языка.

Весь код должен быть написан на Python 3.7 или Go.

Вопросы можно задавать в комментах ниже. Решение на dev@edadeal.ru.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment