auto-backend-trainee-assignment
auto-backend-trainee-assignment copied to clipboard
Тестовое задание на позицию бекенд разработчика в юнит Авто
Тестовое задание на позицию стажера/junior бекенд разработчика в юнит Авто
Задача:
Нужно сделать HTTP сервис для сокращения URL наподобие Bitly и других сервисов.
UI не нужен, достаточно сделать JSON API сервис.
Должна быть возможность:
- сохранить короткое представление заданного URL
- перейти по сохраненному ранее короткому представлению и получить redirect на соответствующий исходный URL
Требования:
- Язык программирования: Go/Python/PHP/Java/JavaScript
- Предоставить инструкцию по запуску приложения. В идеале (но не обязательно) – использовать контейнеризацию с возможностью запустить проект командой
docker-compose up
- Требований к используемым технологиям нет - можно использовать любую БД для персистентности
- Код нужно выложить на github (просьба не делать форк этого репозитория, чтобы не плодить плагиат)
Усложнения:
- Написаны тесты (постарайтесь достичь покрытия в 70% и больше)
- Добавлена валидация URL с проверкой корректности ссылки
- Добавлена возможность задавать кастомные ссылки, чтобы пользователь мог сделать их человекочитаемыми - http://bit.ly/avito-auto-be
- Проведено нагрузочное тестирование с целью понять, какую нагрузку на чтение может выдержать наш сервис
- Если вдруг будет желание, можно слепить простой UI и выложить сервис на бесплатный хостинг - Google Cloud, AWS и подобные.