Нужно написать "веб-паука", который обходит страницы сайта, начиная с заданного урла.
Нужно учесть, что ссылки на другие страницы могут повторяться.
Приложение работает в ограниченное количество потоков, но максимально эффективно на запускаемом железе, для этого можно допустить что отношение простоя потоков к реальной их работе 4/1. Либо организовать асинхронную работу с сетевым стэком.
Также необходимо помнить, что сайты - вещи хрупкие, и при достижении какого-то процента отказов сайта (ошибки 5XX) нужно приостанавливать потоки обработки.
При обработке html-страниц, помните, что построение DOM-дерева достаточно затратная операция.
Приложение собирается через gradle. Написать все на Java.
Код должен быть выложен на гитхабе.