Здравствуйте!
Благодарим вас за интерес к позиции стажера-разработчика Java в Software Phoenix. Мы рады, что вы готовы присоединиться к нашей команде и пройти путь профессионального роста вместе с нами.
Перед тем как мы сможем продолжить, вам необходимо выполнить тестовое задание. Оно поможет нам лучше понять ваш уровень навыков и способности к решению задач, с которыми вы можете столкнуться во время стажировки.
Тестовое задание:
Реализовать Spring приложение с регистрацией пользователя, авторизацией, прием заявок и выдачу списка новостей с использованием RestAPI
Написать endpiont'ы для:
- регистрации (на входе: логин, пароль, подтверждение пароля, ФИО, ссылка на аватар), с проверкой на соотв-е паролей и наличия логина в списке зарегестрированых
- авторизации, с проверкой соотв-я логин/пароля
- прием заявки, сохранение объекта в БД. (содерижмое объекта в произвольной форме, например [товар, кол-во, адрес доставки, номер телефона])
- выдача списка новостей из БД.
Требования:
- поднимать БД не нужно, достаточно написать классы описания моделей с системными полями (id, created_at)
- системными поля (id, created_at) описать в абстрактном классе, все остальные наследовать от него
- DTO классы для отправки по RestAPI
Рекомендации (по желанию):
- Развернуть БД PostgresSQL 11, настроить подключение к нему приложения
- Логику реализовывать в отдельных service классах с интерфейсами
- Добавить обработчики исключений, провеки (прим.: not null, NotFoundExeption, валидность логин/пароля, ссылки на аватар)
- Фильтры на входных данных (trim(), lowercase() и пр.)
- Задеплоить проект в heroku/ либо другой сервак
- Добавить Docker в проект
Срок 2 дня, далее тех интервью с Senior Java dev