Java задачи с собеседований
6.26K subscribers
615 photos
6 videos
19 files
249 links
Задачи, тесты и теоретические вопросы по JAVA.

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
🔥Java и производительность — новая тема от онлайн-конференции Podlodka Java Crew

С 26 по 30 мая вас ждет тематическая неделя, посвящённая продвинутым практикам оптимизации Java-приложений.

В программе:

— Доклад Владимира Плизги (Tibbo System) о подходах к профилированию и инструментах, которые действительно работают;

— Воркшоп по JMH от Григория Кошелева (Контур) — научитесь писать микробенчмарки правильно;

— Круглый стол с Антоном Курако (Т-Банк) и Михаилом Поливахой (Spring АйО) — сравнение Spring, Micronaut, Quarkus и Kora через призму производительности;

— Опыт команды НСПК по нагрузочному тестированию в бою — расскажет Павел Митин.

А ещё — JFR, корутины, Kubernetes и десятки инсайтов из продакшена.

🎯 Неделя для тех, кто держит перформанс под контролем.

🔗 Подключайся: podlodka.io/javacrew
Парадокс Comparator’а

Если вам нужно написать Comparator для сортировки объектов по возрастанию, обычно он выглядит так:

public class ByScoreComparator implements Comparator {

@Override
public int compare(User u1, User u2) {
return (int) signum(u2.getAge() - u1.getAge());
}
}

➡️ Главная проблема — понять, от чего отнимать, чтобы порядок был правильным. Правильный ответ с первого раза получается редко, и часто мы замечаем ошибку уже после запуска кода.

Теперь это не нужно. Можно использовать ссылки на методы:

Comparator comparator = Comparator
.comparingDouble(User::getAge)
.thenComparing(User::getName);
List hList = ...;
hList.sort(comparator);

🗣️ Такой подход упрощает создание компараторов.

👩‍💻

@javaquiz