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

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
🖥 Эта статья объясняет использование ссылок на методы (method references) в Java, что представляет собой упрощенный способ вызова методов при работе с лямбда-выражениями.

⭐️ Ссылки на методы позволяют обращаться к уже существующим методам напрямую, не создавая дополнительных лямбда-выражений, что делает код более чистым и читаемым. В статье также подробно разобраны четыре типа ссылок на методы: на статические методы, на методы экземпляра, на методы произвольных объектов определенного типа и на конструкторы.

🔗 Ссылка: *клик*

@javaquiz
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья: Точки соприкосновения: Java & GC!

Можно писать на Java, вообще не задумываясь, как работает сборка мусора: «ну оно же там само собой происходит как-то». Однако разобраться как следует — не только интересно, но и полезно: например, какой из подходов к GC лучше соответствует конкретно вашему проекту?

Ссылка: https://habr.com/ru/companies/jugru/articles/846308/

@javaquiz
Эта статья рассматривает потенциал и интеграцию искусственного интеллекта в Java, включая текущее развитие и поддержку машинного обучения.

В статье говорится о расширении возможностей Java для AI, таких как улучшенные библиотеки для работы с NLP и данных для создания моделей. Также рассматриваются перспективы внедрения фреймворков и инструментов в Java, которые позволят легко интегрировать AI-решения в приложения.

Ссылка: https://inside.java/2024/10/23/java-and-ai/

@javaquiz
repormation — инструмент для получения информации о репозиториях пользователей GitHub и их последних событиях!

Этот проект написан на Kotlin и предназначен для разработчиков, которые хотят автоматизировать анализ активности GitHub, например, для генерации отчетов или мониторинга изменений в репозиториях.

Github

@javaquiz
public class Quest {
public static void main(String[] args) {
int i = 1;
inc(i);
System.out.println(i);
}
private static void inc(int num) {
num++;
}
}
Какой метод интерфейса Map возвращает множество ключей из карты?
Anonymous Poll
11%
keys()
12%
entryKeys()
22%
getKeys()
49%
keySet()
13%
entrySet()
💬 Обратная связь

🎄 Поздравляю всех с наступающими праздниками.
Вы собираетесь решать задачки в новогодние праздники?

👍🏼 - Конечно, выкладывайте.
🌚 - Я буду отдыхать и веселиться. Выложите что-то ещё.

Напишите в комментариях, что было бы интересно почитать на новогодние праздники, кроме постов по тематике канала?
🚫 Антипаттерн недели: Применение списков для проверки наличия элемента

Использование списка List для проверки наличия элемента приводит к линейной сложности O(n), что делает такую операцию медленной для больших объемов данных.

✔️ Лучше использовать Set, который обеспечивает время выполнения O(1) для операций поиска.

👩‍💻
@javaquiz
Метод MethodHandle.invokeExact() из пакета java.lang.invoke позволяет вызывать метод или конструктор с помощью ссылки MethodHandle. Это эффективный инструмент для динамического вызова методов с высокой производительностью.

👩‍💻
@javaquiz
⚙️ Метод Stream.generate() предназначен для создания бесконечного потока элементов, которые генерируются с помощью функции. Это может быть полезно для генерации случайных данных, шаблонов или повторяющихся значений.

👩‍💻
@javaquiz
Вопрос на собеседовании

Как лямбда-выражения в Java используют переменные из внешнего контекста и какие существуют ограничения на это?

Ответ ⬇️
В Java лямбда-выражения могут использовать переменные из окружающей области, но только если они являются фактически финализированными. Это означает, что переменная должна быть объявлена как final или её значение не должно изменяться после инициализации.

Данное ограничение связано с тем, что лямбды могут выполняться в другом потоке, и изменение переменной вне лямбды может привести к непредсказуемым результатам.

Пример использования ⚙️
import java.util.function.Consumer;

public class Main {
public static void main(String[] args) {
int base = 10;

Consumer multiplier = value -> {
System.out.println(value * base); // Использование захваченной переменной
};

multiplier.accept(5); // Вывод: 50

// base = 20; // Ошибка компиляции: переменная должна быть фактически финализированной
}
}

👩‍💻
@javaquiz
⚙️ Метод MethodHandles.privateLookupIn предоставляет возможность доступа к приватным методам, полям и конструкторам класса с помощью MethodHandle. Это мощный и необычный инструмент для работы с закрытыми членами классов. 👩‍💻
@javaquiz