Telegram Group Search
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Почему переменные внутри интерфейса всегда public static final?

Ответ: Потому что интерфейс описывает контракт, а не состояние. Все поля интерфейса — это константы, доступные без создания экземпляра. Они автоматически public static final, даже без явного указания.

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Избавляемся от Flaky тестов в CI/CD при помощи JMina

В статье рассказывается, как с помощью утилиты JMina перехватывать логи и вставлять проверки прямо в тело приложения для борьбы с нестабильными тестами.

Автор показывает, как минимальными усилиями улучшить отладку тестов в CI/CD и сократить время на поиск причин сбоев.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

В чём разница между переопределением и перегрузкой?

Ответ: Перегрузка (overloading) — это способ определить в одном классе несколько методов с одинаковым именем, но разными параметрами.

Переопределение (overriding) используется в наследовании, когда подкласс предоставляет свою реализацию метода, унаследованного от родительского класса.

Перегрузка помогает организовать разную логику под одним именем, а переопределение позволяет изменить поведение унаследованного метода.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Автор рассматривает лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct.

Читать статью

tags:
#статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Недалёкое будущее

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Зачем в Java нужны volatile переменные, если есть synchronized?

Ответ: volatile обеспечивает немедленную видимость изменений переменной между потоками, но не гарантирует атомарность операций. Он легче и быстрее, чем synchronized, но подходит только для простых сценариев чтения и записи. Для сложных операций, где важна целостность состояния, требуется synchronized или другие механизмы синхронизации.

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Автогенерация тестов в IntelliJ IDEA: сравнение AI-инструментов

В статье рассматриваются AI-инструменты для автоматической генерации тестов в IntelliJ IDEA для языков Java и Kotlin.

Автор анализирует их преимущества и недостатки, а также делится результатами опроса более 400 разработчиков об их отношении к таким инструментам.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Коротко об опенсорсе:

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

В чём разница между final, finally и finalize?

Ответ: Несмотря на схожие названия, это конструкции из совершенно разных областей:

▶️ final — модификатор, используемый для ограничения: переменную нельзя переназначить, метод нельзя переопределить, класс нельзя расширить;

▶️ finally — блок, связанный с обработкой исключений; он выполняется после try/catch независимо от того, произошло исключение или нет;

▶️ finalize() — метод, связанный со сборкой мусора; он может быть вызван перед уничтожением объекта, но механизм устарел и не рекомендуется к использованию.

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Наивный перенос строк в PDFBox: как не надо работать с текстом

В статье рассказывается о работе с библиотекой Apache PDFBox и проблемах, которые могут возникнуть при разборе длинных текстов в PDF-документах.

Автор подробно разбирает одну из причин сбоя — неэффективный алгоритм переноса строк — и предлагает способ его оптимизации.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
2%
0
64%
5
28%
6
6%
Ошибка
👩‍💻 Один день из жизни JVM-инженера

В статье рассказывается, чем занимаются инженеры, которые не пишут на Java, а разрабатывают саму JVM.

Автор делится опытом работы над внутренностями виртуальной машины — от JIT-компиляции до сборщика мусора — и объясняет, почему новые возможности языка требуют времени и тонкой инженерной работы.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Как устроен enum в Java и чем он отличается от enum в других языках?

Ответ: В Java enum — это не просто набор констант, а полноценный класс, неявно наследующий java.lang.Enum. Каждый элемент — это экземпляр этого класса.

В enum можно добавлять поля, методы и даже переопределять поведение для отдельных значений. Такие enum-классы являются final и не допускают наследования. Также их можно использовать в switch, как обычные константы.

В отличие от enum в C или C++, где это по сути просто числа, Java-энумы типобезопасны и могут вести себя как полноценные объекты с логикой и состоянием.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Gson

Gson — это лёгкая и мощная библиотека от Google для преобразования Java-объектов в JSON и обратно.

Она часто используется при работе с REST API, конфигурациями и сериализацией сложных структур данных.

Зависимость Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>


📱 Ссылка на GitHub
📁 Ссылка на документацию

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/18 17:51:50
Back to Top
HTML Embed Code: