В статье показывается, как в Spring Data Elasticsearch организовать поиск, который понимает запросы с ошибками, склонениями и неполными словами.
Например, чтобы “программирование” находилось по запросам “прога”, “програм”, “pragramirovanie” — подключаются fuzziness, русские стеммеры и настраиваются аналайзеры через Java-конфигурацию.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29❤1
Почему
String считается безопасным ключом для HashMap?Ответ:
Кроме того, String кэширует результат hashCode(), что делает доступ к элементам быстрее и стабильнее при многократном использовании. Благодаря этим свойствам String — надёжный и предсказуемый ключ для хеш-таблиц.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥3👨💻2
В третьей части цикла автор разбирает поведенческие паттерны ООП на Java — от Chain of Responsibility до Visitor.
Через метафоры и практические примеры он показывает, как управлять поведением объектов, распределять ответственность и строить предсказуемую архитектуру.
🔖 Предыдущая часть — КЛИК
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥1
В чём различие между StringBuilder и StringBuffer?
Ответ:
StringBuffer — синхронизированный класс. Его методы защищены от одновременного доступа из разных потоков, что делает его безопасным для многопоточной среды. Однако синхронизация снижает производительность, поэтому в однопоточных программах использование StringBuffer неоправданно.
StringBuilder — несинхронизированный аналог. Он не обеспечивает защиту от одновременного доступа, но работает заметно быстрее за счёт отсутствия накладных расходов на синхронизацию. Поэтому его применяют в однопоточных сценариях, где важна скорость.
Проще говоря, StringBuffer — для многопоточности, StringBuilder — для скорости в одном потоке.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤1
В статье подробно разбирается, как JVM запускает программу: от ввода команды и проверки окружения до загрузки классов и выполнения байт-кода.
Автор объясняет ключевые этапы процесса, показывая, что происходит «под капотом» при старте Java-приложения.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Какие методы могут находиться в интерфейсе?
Ответ:
Таким образом, интерфейс может не только задавать контракт, но и содержать общую реализацию и вспомогательные методы.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
В статье подробно рассматриваются методы маппинга данных типа «дата и время» в Hibernate и JPA.
Автор объясняет, как правильно использовать современные классы из пакета
java.time, такие как LocalDate, LocalDateTime и ZonedDateTime, а также обсуждает нюансы работы с часовыми поясами и устаревшими типами java.util.Date и Calendar.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1
👍5❤1
В статье собраны 15 универсальных паттернов, на которых держится большинство задач LeetCode — от префиксных сумм и двух указателей до backtracking и динамического программирования.
Каждый шаблон сопровождается объяснением, примерами задач и ссылками на решения, чтобы быстрее узнавать знакомые подходы и уверенно проходить алгоритмические интервью.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Как работает автоматическое приведение типов в Java?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥2
В видео разбирается, как работают виртуальные потоки в Java, чем они отличаются от обычных, и как позволяют запускать тысячи задач без перегрузки памяти.
Автор сравнивает блокирующий, асинхронный и виртуальный подходы, показывает примеры кода и объясняет, как виртуальные потоки упрощают масштабирование.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3
Какие объекты можно хранить в множестве?
Ответ:
Чаще всего в Set кладут объекты простых типов (обёртки вроде Integer, String, Boolean), а также собственные классы — но в этом случае важно переопределить equals() и hashCode(), чтобы корректно сравнивать элементы.
Если эти методы не переопределены, множество будет считать разные экземпляры одного и того же объекта разными элементами, даже если их поля совпадают.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👨💻1
В статье подробно разбирается, как уязвимость XXE проявляется в Java-приложениях — от чтения локальных файлов до выполнения SSRF и OOB-атак.
Автор показывает на примерах, какие XML-парсеры и их настройки делают систему уязвимой, и предлагает конкретные способы защиты.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2