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

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
加入频道
⚙️ Class.getRecordComponents()

Class.getRecordComponents() предоставляет информацию о компонентах записи. Это полезно для рефлексии, сериализации и автоматического отображения данных в классах Record.

👩‍💻

@javaquiz
⚙️ Pattern.asPredicate()

Pattern.asPredicate() преобразует регулярное выражение в Predicate, который можно применять непосредственно в потоках (Stream). Это удобно для фильтрации строк без необходимости явного вызова .matches().

👩‍💻

@javaquiz
ClassLoader.getResources() ищет все ресурсы с заданным именем в classpath и возвращает Enumeration. Это полезно для загрузки всех версий конфигурационных файлов, плагинов или ресурсов из JAR-файлов и папок одновременно. 👩‍💻

@javaquiz
⚙️ Class.getNestMembers()

Class.getNestMembers() возвращает массив всех классов, которые принадлежат одной «группе вложенности» (nest) — то есть тем классам, которые могут обмениваться приватными методами и полями. Это полезно для анализа доступа между вложенными классами и для инструментов анализа байткода.

👩‍💻

@javaquiz
👩‍💻 Разработка на Java требует глубокого понимания не только языка, но и принципов работы JVM, многопоточности и современных фреймворков.

Курс «Java Developer. Professional» — это структурированное обучение для разработчиков, которые хотят выйти на новый уровень, освоить актуальный стек технологий и уверенно претендовать на позиции уровня Middle+.

🦾 Вы получите 96 часов практической работы, обучение на живых вебинарах, вы разберете ключевые аспекты работы JVM, научитесь строить эффективные многопоточные приложения, освоите Spring WebFlux, Kafka, реактивный Postgres и Kubernetes.

Программа OTUS постоянно обновляется, соответствуя требованиям рынка, а диплом ценится работодателями.

👉 Пройдите вступительное тестирование и присоединяйтесь к группе: https://clck.ru/3Lc4jr

🎁 Начните обучение со скидкой, подробности у менеджеров. ПРОМОКОД: JAVA_04

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🚫 Антипаттерн недели: Нарушение принципа инкапсуляции через public поля

В Java открытие полей класса как public — это плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.

✔️ Используйте private поля и методы getter/setter для доступа и контроля над значениями.

👩‍💻

@javaquiz
🤖 Хотите автоматизировать инфраструктуру для тестирования прямо в Gradle?

На открытом уроке «Облако в кармане: запускаем всю инфраструктуру для теста при сборке» от OTUS мы расскажем, как избежать ручных настроек и запусков. Вместо этого вы научитесь автоматизировать весь процесс с помощью Docker, DockerCompose и TestContainers, интегрируя их с Gradle.

Урок полезен для разработчиков на Kotlin и Java, которые работают с автотестами — интеграционными и end-to-end.

В ходе урока вы освоите:
▫️Автоматический запуск всей необходимой инфраструктуры для тестирования.
▫️Создание Docker-образов для тестов и деплоя.
▫️Разработку автотестов, которые поднимут ваши навыки на новый уровень.

Участники получат скидку на курс «Kotlin Backend Developer. Professional».

➡️ Встречаемся 29 апреля в 20:00 МСК, регистрация открыта: https://clck.ru/3LegM4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Строковые шаблоны (Preview)

Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.

🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.

ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.

String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true

Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.

👩‍💻

@javaquiz