Библиотека собеса по Java | вопросы с собеседований
6.29K subscribers
388 photos
8 videos
405 links
Вопросы с собеседований по Java и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/08c603b6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Что такое lazy и eager загрузка в Hibernate?

Lazy loading — данные загружаются только при первом обращении к ним (через прокси). Экономит ресурсы, но может вызвать LazyInitializationException, если сессия закрыта.

Eager loading — связанные данные загружаются сразу вместе с объектом. Удобно, если данные точно нужны, но может быть избыточно.

Выбор стратегии зависит от сценария и баланса между производительностью и простотой.

🐸 Библиотека собеса по Java

#spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1👏1
Как в Spring работает proxy-based AOP, и какие ограничения у такого подхода?

Spring AOP обычно работает через создание прокси-объекта (JDK dynamic proxy или CGLIB). Методы вызываются на прокси, который вокруг них вставляет advice (before, after и т.д.).

Ограничения:

Только публичные методы интерфейсов (для JDK proxy) или методы класса (для CGLIB).

Внутренние вызовы (this.method()) не проходят через прокси, advice не сработает.

Прокси не могут перехватывать конструкторы.

Работа с final классами/методами ограничена (не могут быть проксированы).

🐸 Библиотека собеса по Java

#spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2🎉1
Что такое идемпотентность в REST API и как её реализовать?

Идемпотентность означает, что повторный вызов одного и того же запроса не изменяет состояние сервера более одного раза.

Способы реализации:

Использовать контроль состояния (если запись уже существует, не создавать её второй раз).

Использовать HTTP методы по стандарту: GET, PUT, DELETE. Уже идемпотентны по спецификации.

Использовать уникальный ключ (идемпотентный токен) с клиентской стороны; сервер хранит, что уже получал этот токен, и при повторе не выполняет операцию заново.

В Spring → фильтры или interceptors проверяют заголовок Idempotency-Key и используют хранилище (БД, кеш) для управления повторными запросами.

🐸 Библиотека собеса по Java

#spring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👏1🌚1