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

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

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

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

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

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

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

👩‍💻

@javaquiz
⚙️ System.identityHashCode()

System.identityHashCode() возвращает хеш-код объекта, который основывается на его настоящем адресе в памяти, независимо от того, был ли переопределён метод hashCode(). Это полезно для диагностики, отладки, отслеживания объектов и работы с объектами, у которых метод hashCode() был переопределён нестандартным образом.

👩‍💻

@javaquiz
⚙️ Integer.rotateLeft()

Integer.rotateLeft() осуществляет циклический сдвиг битов числа влево. Это может быть полезно для быстрой генерации хеш-функций, в криптографии и в некоторых алгоритмах обработки битов.

👩‍💻

@javaquiz
⚙️ Class.getPermittedSubclasses()

Class.getPermittedSubclasses() предоставляет перечень всех классов, которым разрешено наследование от sealed-класса. Это полезно для анализа и проверки иерархий sealed-типов во время выполнения, особенно в системах с плагинами и фреймворках.

👩‍💻

@javaquiz
🤖 А ты справишься с тестом по Kotlin?

🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!

Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод Kotlin5

🎫
Курс можно приобрести в рассрочку

➡️ Пройти тест и забрать скидку: https://clck.ru/3Lk8vc

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

Java 10 представила удобную функцию, позволяющую создавать неизменяемые копии коллекций с использованием новых методов copyOf.

✔️ Эти методы обеспечивают легкий способ создания неизменяемых версий существующих коллекций, что способствует повышению безопасности и надежности кода.

👩‍💻

@javaquiz
⚡️ Квиз на знание Java

Пройти тестирование — сложно! А ты справишься?
21 вопрос, 30 минут

Проверь себя - пройди квиз и оцени свой уровень навыков, а также свою готовность к обучению на курсе — «Разработчик на Spring Framework» от OTUS.

💻 За 5 месяцев обучения ты освоишь современные возможности Spring, научишься быстро проходить путь от идеи до production-grade, создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке.

👉 ПРОЙТИ ТЕСТ: https://clck.ru/3LkAQs

Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод Spring5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Оптимизация работы сборщика мусора с помощью параметра -XX:+UseG1GC

Java предоставляет разнообразные способы повышения производительности приложений.

✔️ Одним из таких методов является применение современного сборщика мусора G1 (Garbage First), который улучшает эффективность работы с большими объемами данных и уменьшает задержки.

➡️ Для активации G1GC нужно добавить флаг -XX:+UseG1GC при запуске Java-программы:

java -XX:+UseG1GC G1GCExample

👩‍💻

@javaquiz
🌐 Конфигурация HTTP-прокси в Java

Данный код задаёт параметры HTTP-прокси для Java-программы, включая адрес, порт, имя пользователя и пароль прокси-сервера.

✔️ Такая настройка даёт возможность отправлять запросы через прокси, чтобы обходить ограничения или улучшать безопасность.

👩‍💻

@javaquiz
💪 Сильный инструмент в одной строке: метод of()

Метод of() предоставляет лаконичный способ создавать неизменяемые коллекции.

🗣️ Этот метод удобен и эффективен для формирования коллекций с заданным набором элементов.

👩‍💻

@javaquiz
✔️ Применение Optional для предотвращения NullPointerException

В Java часто возникает ситуация, когда метод возвращает null, что может вызвать NullPointerException. Чтобы этого избежать, можно применять класс Optional.

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

👩‍💻

@javaquiz
С этим вашим Kubernetes отладка превратилась в квест на выживание!

Часами гребёшься в логах, метрики пляшут как попало, а деплой через Helmfile — вообще отдельный вид искусства.

Чтобы K8s помогал, а не топил в рутине, нужно понять, как он работает под капотом. Иначе — вечные страдания 🥲

➡️ Приходи на курс «Kubernetes для разработчиков» от Слёрма.

Там ты:
👉 Научишься нормально дебажить свои приложения прямо в Кубе
👉 Разберёшься с логами и метриками
👉 Подружишься с Helm’ом
👉 Наконец заведёшь CI/CD как надо

То есть получишь скиллы, чтобы работать с K8s в кайф.

📅 Старт — 26 мая
🔗 Запрыгивай на борт курса «Kubernetes для разработчиков» пока есть места!

Реклама ООО «Слёрм» ИНН 3652901451
Kotlin Multiplatform: Лайфхак для Java-разработчиков. Пишем ОДИН код для ВСЕХ проектов!

Приглашаем на открытый урок.

🗓 14 мая в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Что вас ждёт:
✔️ Узнаете, как интегрировать Kotlin Multiplatform в Java-проекты и настроить совместимость с существующим стеком.
✔️ Сможете избежать дублирования логики и сэкономите время на поддержке разных модулей для разных платформ.
✔️ Получите практические знания, как создавать общий код для JVM, Android и iOS.

🎁 Всем участникам вебинара дарим промокод, который дает скидку на обучение - Kotlin5

👉 Регистрация на вебинар: https://clck.ru/3Lmmhv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🔗 Соединение строк с помощью String.join

Часто нужно объединить несколько строк в одну, используя заданный разделитель.

🗣️ Раньше, до Java 8, для этого обычно применяли цикл и объект StringBuilder. С появлением метода String.join, выполнение этой задачи стало гораздо проще и понятнее.

Применение метода String.join заметно облегчает процесс соединения строк с разделителем, улучшая читаемость кода и уменьшая объем кода, который необходимо писать и поддерживать.

👩‍💻

@javaquiz
✔️ Как повысить читаемость вашего кода с помощью Records

Records — это новый вид классов в Java, который облегчает создание классов для хранения неизменяемых данных.

🗣️ Они автоматически создают стандартные методы, такие как equals(), hashCode() и toString(), что делает код более аккуратным и компактным.

👩‍💻

@javaquiz
➡️ Sealed Classes в Java

Sealed classes дают возможность программистам задавать, какие именно классы могут наследовать данный класс или реализовывать интерфейс.

🗣️ Это помогает создавать более управляемую и предсказуемую структуру классов.

👩‍💻

@javaquiz