❓ Вопрос
Какое поведение и жизненный цикл у Spring-бина с областью видимости singleton? Приведите пример, когда это предпочтительно.
✅ Ответ
Spring-бин с областью видимости singleton создаётся один раз при старте контейнера и существует в течение всего времени жизни приложения. Все запросы к такому бину возвращают одну и ту же инстанцию, что обеспечивает экономию ресурсов и состояние, если оно требуется. Такой scope подходит для безсостоянийных сервисов или компонентов, где общий доступ к ресурсам безопасен и желателен. Например, бины-сервисы, реализующие логику бизнес-процессов, часто объявляют singleton для повышения производительности.
#lexicon #собеседование #java #junior #spring #injection
Какое поведение и жизненный цикл у Spring-бина с областью видимости singleton? Приведите пример, когда это предпочтительно.
✅ Ответ
Spring-бин с областью видимости singleton создаётся один раз при старте контейнера и существует в течение всего времени жизни приложения. Все запросы к такому бину возвращают одну и ту же инстанцию, что обеспечивает экономию ресурсов и состояние, если оно требуется. Такой scope подходит для безсостоянийных сервисов или компонентов, где общий доступ к ресурсам безопасен и желателен. Например, бины-сервисы, реализующие логику бизнес-процессов, часто объявляют singleton для повышения производительности.
#lexicon #собеседование #java #junior #spring #injection
❓ Вопрос
Как в Spring Boot настроить профили, чтобы автоматически выбирать конфигурацию базы данных для разных окружений? Расскажите, какие файлы properties или yaml для этого используются и как их приоритет определяется.
✅ Ответ
Для настройки профилей в Spring Boot используют файлы application-{profile}.properties или application-{profile}.yaml, где {profile} — имя профиля, например, dev или prod. Профиль активируется через свойство spring.profiles.active, которое можно задавать в основном application.properties , переменных окружения или аргументах командной строки. Spring Boot загружает сначала основной application.properties , затем перекрывает его значениями из файла активного профиля, определяя приоритет конфигураций. Это позволяет удобно переключать настройки базы данных и другие параметры для разных окружений.
#lexicon #собеседование #java #middle #spring_boot #backend
Как в Spring Boot настроить профили, чтобы автоматически выбирать конфигурацию базы данных для разных окружений? Расскажите, какие файлы properties или yaml для этого используются и как их приоритет определяется.
✅ Ответ
#lexicon #собеседование #java #middle #spring_boot #backend
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #junior #backend_optimization
🧠 Анализ плана выполнения SQL-запроса
Anonymous Quiz
100%
План выполнения и операции СУБД
0%
Только время выполнения запроса
0%
Синтаксические ошибки в запросе
📘 Разбор опроса
Анализ плана выполнения SQL-запроса
Вопрос: Что показывает explain plan для анализа производительности запроса?
✅ Правильный ответ: План выполнения и операции СУБД
Explain plan показывает последовательность операций СУБД (сканирование, индексы, соединения) для оптимизации запроса.
Анализ плана выполнения SQL-запроса
Вопрос: Что показывает explain plan для анализа производительности запроса?
✅ Правильный ответ: План выполнения и операции СУБД
Explain plan показывает последовательность операций СУБД (сканирование, индексы, соединения) для оптимизации запроса.
👍1
❓ Вопрос
Как ты объяснишь основное различие между checked и unchecked исключениями в Java, и почему важно это различие при проектировании API?
✅ Ответ
Checked исключения требуют обязательной обработки или декларации с помощью throws, что обеспечивает явное управление ошибками на этапе компиляции. Unchecked исключения не требуют явного перехвата и обычно сигнализируют о проблемах, которые можно считать программными ошибками. При проектировании API важно различать эти типы исключений для балансировки контроля над ошибками и удобства использования, обеспечивая правильное информирование пользователей API о возможных ошибках.
#lexicon #собеседование #java #junior #java_errors #backend
Как ты объяснишь основное различие между checked и unchecked исключениями в Java, и почему важно это различие при проектировании API?
✅ Ответ
#lexicon #собеседование #java #junior #java_errors #backend
👍1
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #junior #backend_scalability
🧠 Эффективное кеширование в backend
Anonymous Quiz
100%
Регулярная инвалидация кеша
0%
Увеличение размера кеша
0%
Использование только одного уровня кеша
📘 Разбор опроса
Эффективное кеширование в backend
Вопрос: Какой подход помогает избежать устаревших данных в кеше?
✅ Правильный ответ: Регулярная инвалидация кеша
Инвалидация кеша при изменении данных предотвращает использование устаревших значений.
Эффективное кеширование в backend
Вопрос: Какой подход помогает избежать устаревших данных в кеше?
✅ Правильный ответ: Регулярная инвалидация кеша
Инвалидация кеша при изменении данных предотвращает использование устаревших значений.
❓ Вопрос
Как реализовать аутентификацию с помощью JWT в REST API? Опишите конкретные шаги и примеры использования.
✅ Ответ
Аутентификация с помощью JWT в REST API включает создание и подпись токена при успешной проверке учетных данных пользователя, обычно после логина. Токен содержит полезную нагрузку с идентификатором пользователя и временем истечения, защищен секретным ключом. При последующих запросах сервер проверяет подпись и валидность токена из заголовка Authorization, что позволяет обеспечивать доступ к защищенным ресурсам без сессий. Важно реализовать обновление токенов и обработку ошибок в случае истечения срока действия или подделки токена.
#lexicon #собеседование #java #middle #backend_security #backend #core
Как реализовать аутентификацию с помощью JWT в REST API? Опишите конкретные шаги и примеры использования.
✅ Ответ
#lexicon #собеседование #java #middle #backend_security #backend #core
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #junior #spring_security
🧠 Spring Security: UserDetailsService
Anonymous Quiz
0%
loadUserByUsername
50%
findUserByUsername
50%
getUserDetails
📘 Разбор опроса
Spring Security: UserDetailsService
Вопрос: Какой метод нужно реализовать в UserDetailsService?
✅ Правильный ответ: loadUserByUsername
Метод loadUserByUsername загружает данные пользователя по имени для аутентификации.
Spring Security: UserDetailsService
Вопрос: Какой метод нужно реализовать в UserDetailsService?
✅ Правильный ответ: loadUserByUsername
Метод loadUserByUsername загружает данные пользователя по имени для аутентификации.
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #junior #backend_arch
🧠 Монолит vs Микросервисы: Простота развертывания
Anonymous Quiz
100%
Монолит
0%
Микросервисы
0%
Одинаково сложно
📘 Разбор опроса
Монолит vs Микросервисы: Простота развертывания
Вопрос: Что проще развернуть и тестировать?
✅ Правильный ответ: Монолит
Монолит проще развертывать и тестировать из-за единой кодовой базы.
Монолит vs Микросервисы: Простота развертывания
Вопрос: Что проще развернуть и тестировать?
✅ Правильный ответ: Монолит
Монолит проще развертывать и тестировать из-за единой кодовой базы.
❓ Вопрос
Опишите конкретный случай, когда выбор типа балансировщика нагрузки (например, Round Robin vs Least Connections) повлиял на производительность сервиса. Какие метрики и данные вы анализировали для этого решения?
✅ Ответ
Выбор типа балансировщика нагрузки определяется распределением заданий между серверами и их текущей нагрузкой. Round Robin равномерно распределяет запросы без учёта загрузки, что подходит при одинаковой производительности узлов и равномерном трафике. Least Connections оптимизирует производительность в условиях разной загрузки серверов, направляя запросы на наименее загруженные. Для принятия решения анализируются метрики времени отклика, загрузки CPU и количества активных соединений для оценки эффективности балансировки.
#lexicon #собеседование #java #senior #backend_networking #backend #core
Опишите конкретный случай, когда выбор типа балансировщика нагрузки (например, Round Robin vs Least Connections) повлиял на производительность сервиса. Какие метрики и данные вы анализировали для этого решения?
✅ Ответ
#lexicon #собеседование #java #senior #backend_networking #backend #core
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #junior #spring_injection
🧠 Способы конфигурации бинов в Spring
Anonymous Quiz
0%
Только XML
100%
XML, Java Config, аннотации
0%
Только аннотации
📘 Разбор опроса
Способы конфигурации бинов в Spring
Вопрос: Какие основные способы конфигурации Spring бинов?
✅ Правильный ответ: XML, Java Config, аннотации
Spring поддерживает три основных подхода: XML, Java Config и аннотации. Они могут использоваться совместно.
Способы конфигурации бинов в Spring
Вопрос: Какие основные способы конфигурации Spring бинов?
✅ Правильный ответ: XML, Java Config, аннотации
Spring поддерживает три основных подхода: XML, Java Config и аннотации. Они могут использоваться совместно.