Java задачи с собеседований
Open in Telegram
Задачи, тесты и теоретические вопросы по JAVA. Репозиторий: https://github.com/proghub-official/java-interview Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny
Show more5 889
Subscribers
-124 hours
-87 days
-2830 days
Posts Archive
⚙️ System.identityHashCode()
System.identityHashCode() возвращает хеш-код объекта, который основывается на его настоящем адресе в памяти, независимо от того, был ли переопределён метод hashCode(). Это полезно для диагностики, отладки, отслеживания объектов и работы с объектами, у которых метод hashCode() был переопределён нестандартным образом.
👩💻
@javaquiz
➡️ Строковые шаблоны (Preview)
Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.
🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.
ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.
👩💻
@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
🚫 Антипаттерн недели: Нарушение принципа инкапсуляции через public поля
В Java открытие полей класса как public — это плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.
✔️ Используйте private поля и методы getter/setter для доступа и контроля над значениями.
👩💻
@javaquiz
👩💻 Разработка на Java требует глубокого понимания не только языка, но и принципов работы JVM, многопоточности и современных фреймворков.
Курс «Java Developer. Professional» — это структурированное обучение для разработчиков, которые хотят выйти на новый уровень, освоить актуальный стек технологий и уверенно претендовать на позиции уровня Middle+.
🦾 Вы получите 96 часов практической работы, обучение на живых вебинарах, вы разберете ключевые аспекты работы JVM, научитесь строить эффективные многопоточные приложения, освоите Spring WebFlux, Kafka, реактивный Postgres и Kubernetes.
Программа OTUS постоянно обновляется, соответствуя требованиям рынка, а диплом ценится работодателями.
👉 Пройдите вступительное тестирование и присоединяйтесь к группе: https://clck.ru/3Lc4jr
🎁 Начните обучение со скидкой, подробности у менеджеров. ПРОМОКОД: JAVA_04
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚙️ Class.getNestMembers()
Class.getNestMembers() возвращает массив всех классов, которые принадлежат одной «группе вложенности» (nest) — то есть тем классам, которые могут обмениваться приватными методами и полями. Это полезно для анализа доступа между вложенными классами и для инструментов анализа байткода.
👩💻
@javaquiz
ClassLoader.getResources() ищет все ресурсы с заданным именем в classpath и возвращает Enumeration. Это полезно для загрузки всех версий конфигурационных файлов, плагинов или ресурсов из JAR-файлов и папок одновременно. 👩💻
@javaquiz
⚙️ Pattern.asPredicate()
Pattern.asPredicate() преобразует регулярное выражение в Predicate, который можно применять непосредственно в потоках (Stream). Это удобно для фильтрации строк без необходимости явного вызова .matches().
👩💻
@javaquiz
⚙️ Class.getRecordComponents()
Class.getRecordComponents() предоставляет информацию о компонентах записи. Это полезно для рефлексии, сериализации и автоматического отображения данных в классах Record.
👩💻
@javaquiz
⚙️ Collections.nCopies()
Метод Collections.nCopies() создает неизменяемый список, который содержит определенное количество копий одного и того же объекта. Это может быть полезно для инициализации, создания заглушек и формирования шаблонных коллекций.
👩💻
@javaquiz
Collections.disjoint() определяет, есть ли у двух коллекций общие элементы. Это полезно для фильтрации, сравнения и улучшения поиска пересечений.
👩💻
@javaquiz
👩💻 JDBC — ваш швейцарский нож для работы с данными
Приглашаем на открытый урок.
🗓 22 апреля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».
О чём поговорим:
✔️Основы JDBC: что это такое, зачем нужно и как работает
✔️Практические примеры выполнения сложных запросов
✔️Работа с транзакциями и обработка ошибок в JDBC
✔️ Оптимизация производительности при работе с данными через JDBC
Кому будет интересно:
Вебинар будет полезен разработчикам, инженерам по базам данных и архитекторам ПО, стремящимся улучшить навыки работы с базами данных и оптимизировать взаимодействие с данными.
В результате урока:
Вы научитесь эффективно использовать JDBC для работы с базами данных и сможете применять полученные знания в реальных проектах
🔗 Ссылка на регистрацию: https://clck.ru/3LTwU5
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
String.join() соединяет элементы из коллекции или массива в одну строку с заданным разделителем. Это удобно для аккуратного отображения данных и создания текстовых шаблонов.
👩💻
@javaquiz
#вопросы_с_собеседований
Может ли метод main вызвать исключение и если да, то где будет происходить его обработка?
Метод main действительно может вызвать исключение. Это исключение будет передано в JVM (виртуальную машину Java). JVM поймает это исключение и завершит выполнение программы, выводя трассировку стека.
Таким образом, исключение из main приведет к аварийному завершению программы.
Чтобы этого избежать, рекомендуется перехватывать исключения внутри main и обрабатывать их, чтобы они не выходили за его пределы.
👩💻
@javaquiz
🗞 EasyOffer 2.0 собрал более 1 миллиона рублей за первые сутки краудфандинга
Платформа EasyOffer, предназначенная для подготовки к IT-собеседованиям, объявила о создании новой версии своего сервиса. За первые 24 часа краудфандинга проекту удалось привлечь более 1 000 000 рублей.
В релизе EasyOffer 2.0 планируется:
— самая большая база реальных вопросов и задач с технических интервью
— тренажёры с интервальными повторениями и симуляторы собеседований
— аналитика по компаниям, грейдам, популярности и сложности вопросов
— тестовые задания и требования из вакансий
📆 Релиз ожидается в конце мая.
В настоящее время в рамках сбора средств можно оформить годовой PRO-доступ за 3 200 ₽. После запуска такая сумма станет равной цене месячной подписки.
@javaquiz
⚙️ Метод Collections.frequency() подсчитывает, сколько раз определённый элемент встречается в коллекции. Он перебирает все элементы и сравнивает их с заданным объектом с помощью метода .equals().
Это полезно для анализа данных, подсчёта дубликатов и составления статистики по коллекциям.
👩💻
@javaquiz
Available now! Telegram Research 2025 — the year's key insights 
