Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattakvshi/test-task-for-stecpoint
Тестовое задание от Stecpoint. Цель: проверить навыки написания алгоритмов и навык владения Java SDK и библиотеками Spring, Spring Boot.
https://github.com/mattakvshi/test-task-for-stecpoint
java-8 spring spring-boot spring-web
Last synced: 10 days ago
JSON representation
Тестовое задание от Stecpoint. Цель: проверить навыки написания алгоритмов и навык владения Java SDK и библиотеками Spring, Spring Boot.
- Host: GitHub
- URL: https://github.com/mattakvshi/test-task-for-stecpoint
- Owner: mattakvshi
- Created: 2024-08-20T16:25:20.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-20T19:53:45.000Z (5 months ago)
- Last Synced: 2024-11-19T10:57:08.838Z (2 months ago)
- Topics: java-8, spring, spring-boot, spring-web
- Language: Java
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Тестовое задание от Stecpoint
### Цель
Проверить навыки написания алгоритмов и навык владения Java SDK и библиотеками Spring, Spring Boot
### Описание
1. Написать spring-boot приложение, которое будет содержать 1 контроллер с одним методом, который возвращает HTTP 200 и пустую строку.
2. Написать функционал, который будет ограничивать количество запросов с одного ІР адреса на этот метод в размере 50 штук в минуту. Если количество запросов больше, то должен возвращаться 502 код ошибки, до тех пор, пока количество обращений за последнюю минуту не станет ниже 50.
3. Сделать так, чтобы это ограничение можно было применять быстро к новым методам и не только к контроллерам, а также к методам классов сервисного слоя. 4. Реализация должна учитывать многопоточную высоконагруженную среду исполнения и потреблять как можно меньше ресурсов.
5. Проект должен собираться при помощи maven командой mvn clean package и запускаться командой java -jar test-1.jar. Порт приложения должен быть 8080.
6. Использовать Java 8 & maven 3.
7. Не использовать сторонних библиотек для троттлинга.