👣 Тестовое задание для стажера в юнит buyer-experience



#практика



Необходимо реализовать сервис, позволяющий следить за изменением цены любого объявления на Авито (другой аналогичный сайт с объявлениями):



1. Сервис должен предоставить HTTP метод для подписки на изменение цены. На вход метод получает - ссылку на объявление, email на который присылать уведомления.



2.После успешной подписки, сервис должен следить за ценой объявления и присылать уведомления на указанный email.



3. Если несколько пользователей подписались на одно и тоже объявление, сервис не должен лишний раз проверять цену объявления.



Требования к решению



- Необходимо проработать архитектуру сервиса и описать принципиальную схему работы в виде текста и/или диаграмм.

- Приложить фрагменты кода, решающие конкретные задачи:

- Подписка на изменение цены

- Отслеживание изменений цены

- Отправка уведомления на почту

Работа с БД

- Язык программирования Golang.



Чтобы получить цену объявления, можно:

- парсить web-страницу объявления

- самостоятельно проанализировать трафик на мобильных приложениях или мобильном сайте и выяснить какой там API для получения информации об объявлении




Усложнения

- Реализовать полноценный сервис, который решает поставленную задачу (сервис должен запускаться в docker-контейнере).

- Написаны тесты (постарайтесь достичь покрытия в 70% и больше).

- Подтверждение email пользователя.



Ставьте ❤️, если вам интересно увидеть практические задания с реальных собеседований.



@golang_interview