В статье разобрано, как на самом деле работает synchronized в Java: какие состояния проходит объект, как JVM динамически выбирает стратегию блокировки и какую роль в этом играет Mark Word заголовка объекта.
Материал поможет понять, откуда берётся разница между лёгкой и тяжёлой блокировкой, что такое инфляция монитора и как это отражается на производительности в реальных многопоточных сценариях.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥2
Что такое Spring Actuator?
Ответ:
Actuator обычно используется для наблюдаемости и эксплуатации сервиса.
Он предоставляет эндпоинты вроде /actuator/health для проверки состояния приложения и /actuator/metrics для сбора метрик, которые могут опрашиваться системами мониторинга, например Prometheus. Доступ к эндпоинтам настраивается и может быть ограничен по безопасности.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥1
В статье разобран практический подход к ускорению MongoDB через
explain(), профилирование и индексацию в Spring Boot. Отдельно автор показывает, как находить узкие места в запросах и устранять их без догадок, опираясь на конкретные измерения.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
Чем отличается логирование от трейсинга?
Ответ:
Трейсинг — это отслеживание полного пути запроса или операции через систему. Он показывает, как запрос проходит через разные компоненты и сервисы, сколько времени занимает каждый шаг и где возникают задержки. Трейсинг применяют для анализа производительности и поиска узких мест, особенно в распределённых системах.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
В рамках статьи автор решил разобраться с авторизацией и аутентификацией на основе базы данных в Spring Security 6, а также внедрить авторизацию с помощью социальных сетей (Google, GitHub и др).
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥2
Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Платформа с реальными DevOps-задачами — решаете кейсы по Linux, Docker и Kubernetes, получаете автоматическую проверку, подсказки и готовые разборы.
Можно практиковаться хоть каждый день — формат интерактивный и максимально приближен к рабочим ситуациям.
Забираем — тут.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4
Что такое множество в Java и какие существуют его стандартные реализации?
Ответ:
Эти классы покрывают разные сценарии: от высокой производительности до потокобезопасности и сортировки.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2
В статье рассматриваются лучшие практики использования Kafka: правильная настройка продюсеров, консумеров и конфигурация брокеров.
Автор подробно освещает ключевые технические аспекты Kafka, приводя наглядные примеры, реальные кейсы и рекомендации по настройке.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤1👍1
Что такое CORS и CSRF?
Ответ:
CSRF (Cross-Site Request Forgery) — это тип атаки, при которой злоумышленник заставляет браузер пользователя выполнить нежелательный запрос к сайту, на котором пользователь уже аутентифицирован. Защита от CSRF обычно реализуется с помощью CSRF-токенов, проверки заголовков и настройки cookie.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥1
В статье показано, как собрать Docker-образ Spring-приложения с готовыми средствами для диагностики и мониторинга.
Разбирается, как настроить сохранение логов, дампов памяти и метрик прямо внутри контейнера, чтобы быстро находить и устранять проблемы.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20🤣8💯1
Какие существуют модели авторизации и в чём их отличия?
Ответ:
Ролевая модель (RBAC) основана на ролях. Пользователю назначаются роли, а каждая роль определяет набор разрешённых действий. Модель проста в реализации и широко используется, но плохо подходит для сложных и динамических правил доступа.
Модель на основе разрешений оперирует конкретными правами, а не ролями. Пользователю напрямую назначаются разрешения на действия или ресурсы. Это более гибкий подход, но он сложнее в управлении при большом количестве пользователей и прав.
Атрибутная модель (ABAC) принимает решение о доступе на основе атрибутов пользователя, ресурса и контекста, например времени, местоположения или типа запроса. Это самая гибкая модель, но и самая сложная в реализации и сопровождении.
Итог: RBAC подходит для простых систем, permission-based — для более точного контроля, ABAC — для сложных бизнес-правил и динамических политик доступа.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2
В статье собраны базовые рекомендации по работе с Hibernate, которые помогут сразу выстроить устойчивую архитектуру и не допустить распространённых ошибок.
Автор разбирает, как задавать id, настраивать связи между сущностями, избегать N+1, использовать ленивую загрузку, кэш второго уровня и корректно работать с equals, hashCode и исключениями.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥1
Где хранятся объекты?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4
Почему метод
clone() объявлен в классе Object, а не в интерфейсе Cloneable?Ответ:
Интерфейс Cloneable при этом — маркерный, без методов. Он служит лишь индикатором того, что объект допускает клонирование. Если объект не реализует Cloneable, а метод clone() всё же вызывается, будет выброшено исключение CloneNotSupportedException. Это позволяет обеспечить контроль над тем, какие классы разрешают копирование, и избежать некорректного поведения при клонировании по умолчанию.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
В статье рассказывается, как использовать Mockito для написания модульных тестов в Java без зависимости от реальных сервисов и баз данных.
Автор объясняет, как создавать моки, задавать их поведение и проверять вызовы — с примерами кода и интеграцией с JUnit.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Почему в Java интерфейс может иметь методы с реализацией (default)? Это не противоречит идее интерфейса?
Ответ:
Без default при добавлении нового метода пришлось бы менять весь существующий код. С default-методом интерфейс даёт базовую реализацию метода, которую необязательно переопределять в реализующих классах.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4
Что делает метод
clone()?Ответ:
Метод обычно переопределяют, чтобы настроить логику копирования или сделать копию глубже. При этом стандартно вызывают super.clone() и дальше вручную дублируют необходимые поля.
Использование clone() считается не самым удобным способом копирования объектов, поэтому в реальных проектах чаще применяют конструкторы копирования или фабричные методы.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8