Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #middle #java_performance
🧠 JFR для анализа многопоточных приложений
Anonymous Quiz
100%
Длительность блокировок и загрузка CPU
0%
Объём памяти и количество классов
0%
Размер логов и время запуска
📘 Разбор опроса
JFR для анализа многопоточных приложений
Вопрос: Какие метрики JFR в первую очередь указывают на bottlenecks в многопоточных приложениях?
✅ Правильный ответ: Длительность блокировок и загрузка CPU
Для выявления узких мест в многопоточных приложениях в JFR анализируют длительность блокировок (lock contention), время ожидания потоков и загрузку CPU.
JFR для анализа многопоточных приложений
Вопрос: Какие метрики JFR в первую очередь указывают на bottlenecks в многопоточных приложениях?
✅ Правильный ответ: Длительность блокировок и загрузка CPU
Для выявления узких мест в многопоточных приложениях в JFR анализируют длительность блокировок (lock contention), время ожидания потоков и загрузку CPU.
❓ Вопрос
Какие методы аутентификации и авторизации вы применяете для защиты REST API? Приведите пример реализации токен-бейзед аутентификации.
✅ Ответ
Для защиты REST API применяются методы аутентификации, такие как Basic Auth, OAuth 2.0, API ключи, и JWT (JSON Web Token) для токен-бейзед аутентификации. Токены позволяют серверу не хранить состояние сессии, передавая зашифрованные данные о пользователе в каждом запросе. В примере JWT создается сервером при логине, подписывается секретным ключом и возвращается клиенту, который добавляет токен в заголовок Authorization для последующих запросов. Сервер валидирует токен, проверяет подпись и разрешает доступ к ресурсам.
#lexicon #собеседование #java #middle #backend_http #backend #core
Какие методы аутентификации и авторизации вы применяете для защиты REST API? Приведите пример реализации токен-бейзед аутентификации.
✅ Ответ
#lexicon #собеседование #java #middle #backend_http #backend #core
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #middle #spring_data
🧠 Каскадное обновление в JPA
Anonymous Quiz
100%
CascadeType.PERSIST
0%
CascadeType.MERGE
0%
CascadeType.REMOVE
📘 Разбор опроса
Каскадное обновление в JPA
Вопрос: Какой CascadeType автоматически обновляет связанные сущности при merge?
✅ Правильный ответ: CascadeType.MERGE
CascadeType.MERGE распространяет операцию merge на связанные сущности.
Каскадное обновление в JPA
Вопрос: Какой CascadeType автоматически обновляет связанные сущности при merge?
✅ Правильный ответ: CascadeType.MERGE
CascadeType.MERGE распространяет операцию merge на связанные сущности.
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #middle #backend
🧠 JWT в Spring Security: извлечение токена из запроса
Anonymous Quiz
0%
request.getHeader("Authorization")
0%
request.getParameter("token")
100%
request.getCookies() с поиском по имени
🚀 Готовитесь к IT-собеседованиям?
В каналах Lexicon каждый день публикуются:
• вопросы с реальных интервью
• задачи для тренировки
• разборы ответов
📚 Полная тренировка интервью доступна на платформе:
🤖 AI-мок интервью
🧠 база вопросов по стеку
📊 разбор ваших ответов
Попробовать → https://lexiconium.ru
📢 Основной канал Lexicon
новости платформы, полезные материалы и навигация по всем каналам
👉 @lexicon_interview
Если нужно готовиться по другим направлениям, смотрите все каналы Lexicon 👇
🐹 Go — @lexicon_go
☕️ Java — @lexicon_java
⚛️ React — @lexicon_react
🅰️ Angular — @lexicon_angular
🐍 Python — @lexicon_python
📊 Системный аналитик — @lexicon_sa
🧪 QA — @lexicon_qa
💚 Vue — @lexicon_vue
В каналах Lexicon каждый день публикуются:
• вопросы с реальных интервью
• задачи для тренировки
• разборы ответов
📚 Полная тренировка интервью доступна на платформе:
🤖 AI-мок интервью
🧠 база вопросов по стеку
📊 разбор ваших ответов
Попробовать → https://lexiconium.ru
📢 Основной канал Lexicon
новости платформы, полезные материалы и навигация по всем каналам
👉 @lexicon_interview
Если нужно готовиться по другим направлениям, смотрите все каналы Lexicon 👇
🐹 Go — @lexicon_go
☕️ Java — @lexicon_java
⚛️ React — @lexicon_react
🅰️ Angular — @lexicon_angular
🐍 Python — @lexicon_python
📊 Системный аналитик — @lexicon_sa
🧪 QA — @lexicon_qa
💚 Vue — @lexicon_vue
Lexicon | Java вопросы pinned «🚀 Готовитесь к IT-собеседованиям? В каналах Lexicon каждый день публикуются: • вопросы с реальных интервью • задачи для тренировки • разборы ответов 📚 Полная тренировка интервью доступна на платформе: 🤖 AI-мок интервью 🧠 база вопросов по стеку 📊 разбор ваших…»
❓ Вопрос
Опишите, какие конкретные методы и метрики вы анализируете в VisualVM или YourKit, чтобы определить узкие места в работе сборщика мусора и как на основе этого меняете настройки JVM.
✅ Ответ
Для анализа сборщика мусора в VisualVM или YourKit используются метрики пауз GC (Pause Time), частота срабатываний, объём освобождаемой памяти и распределение поколений (Young/Old). Анализируются детали таких пауз, чтобы выявить долгие или частые сборки, вызывающие задержки. На основе этих данных корректируются параметры JVM, например, размеры heap, настройки GC алгоритма (G1, CMS и т.д.) или увеличение параллелизма, чтобы уменьшить задержки и повысить общую производительность приложения.
#lexicon #собеседование #java #senior #backend
Опишите, какие конкретные методы и метрики вы анализируете в VisualVM или YourKit, чтобы определить узкие места в работе сборщика мусора и как на основе этого меняете настройки JVM.
✅ Ответ
#lexicon #собеседование #java #senior #backend
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #middle #backend
🧠 Spring Profiles: активация через application.yml
Anonymous Quiz
100%
spring.profiles.active: prod в основном application.yml
0%
spring.profiles.include: dev в application-prod.yml
0%
spring.config.activate.on-profile: test в отдельном файле
Lexicon | Java вопросы
🧠 Spring Profiles: активация через application.yml
📘 Разбор опроса
Spring Profiles: активация через application.yml
Вопрос: Какой способ активации профиля в application.yml НЕ сработает при запуске через java -jar?
✅ Правильный ответ: spring.config.activate.on-profile: test в отдельном файле
1) Идея вопроса: Проверить понимание нюансов активации Spring профилей через конфигурационные файлы, особенно в контексте standalone-запуска. 2) Почему правильный вариант верный: Директива spring.profiles.include добавляет дополнительные профили к УЖЕ активному профилю. При запуске через java -jar без предустановленного активного профиля, файл application-prod.yml не будет загружен, поэтому include внутри него не выполнится. Это классическая ошибка порядка загрузки. 3) Почему остальные варианты неверные: Вариант 1 (spring.profiles.active в основном application.yml) - стандартный и рабочий способ. Вариант 3 (spring.config.activate.on-profile) - корректная аннотация для условной загрузки конфигурационных блоков в Spring Boot 2.4+. 4) Где ловушка: Ловушка в предположении, что spring.profiles.include может инициировать активацию профиля с нуля. На самом деле это инструмент для композиции профилей, а не для первичной активации. Особенно критично при деплое jar-файлов, где нет доступа к редактированию файлов после сборки. 5) Практический вывод: Для активации профиля при запуске jar используйте: аргумент командной строки (--spring.profiles.active), переменную окружения SPRING_PROFILES_ACTIVE или предустановленное значение в основном application.yml. Директиву include применяйте только для расширения уже активной конфигурации внутри профиле-специфичных файлов.
Spring Profiles: активация через application.yml
Вопрос: Какой способ активации профиля в application.yml НЕ сработает при запуске через java -jar?
✅ Правильный ответ: spring.config.activate.on-profile: test в отдельном файле
1) Идея вопроса: Проверить понимание нюансов активации Spring профилей через конфигурационные файлы, особенно в контексте standalone-запуска. 2) Почему правильный вариант верный: Директива spring.profiles.include добавляет дополнительные профили к УЖЕ активному профилю. При запуске через java -jar без предустановленного активного профиля, файл application-prod.yml не будет загружен, поэтому include внутри него не выполнится. Это классическая ошибка порядка загрузки. 3) Почему остальные варианты неверные: Вариант 1 (spring.profiles.active в основном application.yml) - стандартный и рабочий способ. Вариант 3 (spring.config.activate.on-profile) - корректная аннотация для условной загрузки конфигурационных блоков в Spring Boot 2.4+. 4) Где ловушка: Ловушка в предположении, что spring.profiles.include может инициировать активацию профиля с нуля. На самом деле это инструмент для композиции профилей, а не для первичной активации. Особенно критично при деплое jar-файлов, где нет доступа к редактированию файлов после сборки. 5) Практический вывод: Для активации профиля при запуске jar используйте: аргумент командной строки (--spring.profiles.active), переменную окружения SPRING_PROFILES_ACTIVE или предустановленное значение в основном application.yml. Директиву include применяйте только для расширения уже активной конфигурации внутри профиле-специфичных файлов.
❓ Вопрос
Как вы реализуете коллекции с ограничением на типы элементов с помощью дженериков? Покажите пример создания и использования такой коллекции.
✅ Ответ
Объясняется использование параметрических типов (дженериков) для создания коллекций, которые ограничивают типы элементов, обеспечивая безопасность типов на этапе компиляции. Показывается пример объявления коллекции с указанием типа, например, List<String>, и демонстрируется добавление и извлечение элементов без приведения типов. Подчеркивается, что дженерики позволяют избежать ClassCastException и улучшают читаемость кода.
#lexicon #собеседование #java #middle #backend
📚 4000+ вопросов для подготовки к IT-собеседованиям
Как вы реализуете коллекции с ограничением на типы элементов с помощью дженериков? Покажите пример создания и использования такой коллекции.
✅ Ответ
#lexicon #собеседование #java #middle #backend
📚 4000+ вопросов для подготовки к IT-собеседованиям
❓ Вопрос
Как реализовать фильтр в Spring Security для логирования деталей каждого входящего запроса, и где лучше размещать такой фильтр в цепочке? Расскажите на примере.
✅ Ответ
Для логирования деталей каждого входящего запроса в Spring Security создают кастомный фильтр, реализующий интерфейс Filter или расширяющий OncePerRequestFilter. В методе doFilter или doFilterInternal нужно получить информацию из HttpServletRequest, сделать логирование и вызвать цепочку фильтров через filterChain.doFilter. Такой фильтр рекомендуется регистрировать перед стандартным фильтром UsernamePasswordAuthenticationFilter, чтобы логировать запросы до аутентификации.
#lexicon #собеседование #java #middle #backend
📚 4000+ вопросов для подготовки к IT-собеседованиям
Как реализовать фильтр в Spring Security для логирования деталей каждого входящего запроса, и где лучше размещать такой фильтр в цепочке? Расскажите на примере.
✅ Ответ
#lexicon #собеседование #java #middle #backend
📚 4000+ вопросов для подготовки к IT-собеседованиям
Lexicon | Java вопросы
#quiz #lexicon #собеседование #java #senior #backend
🧠 Логирование в Java: выбор реализации SLF4J
Anonymous Quiz
0%
Logback
0%
Log4j2
100%
java.util.logging
Lexicon | Java вопросы
🧠 Логирование в Java: выбор реализации SLF4J
📘 Разбор опроса | Логирование в Java
❓ Вопрос
Какая реализация SLF4J используется по умолчанию в Spring Boot 3.x?
✅ Ответ
💡 Почему это важно
Spring Boot подключает
который по умолчанию использует Logback как реализацию SLF4J.
⚠️ Ловушка
Не путай:
по умолчанию не используются
их нужно настраивать явно.
🛠 Практика
Настрой уровни логирования через
📚 Больше 4000 вопросов для подготовки к IT-собеседованиям
🔗 https://platfrom.lexiconium.ru
❓ Вопрос
Какая реализация SLF4J используется по умолчанию в Spring Boot 3.x?
✅ Ответ
Logback💡 Почему это важно
Spring Boot подключает
spring-boot-starter-logging,который по умолчанию использует Logback как реализацию SLF4J.
⚠️ Ловушка
Не путай:
по умолчанию не используются
Log4j2 или java.util.logging (JUL) —их нужно настраивать явно.
🛠 Практика
Настрой уровни логирования через
application.properties:logging.level.root=INFO
📚 Больше 4000 вопросов для подготовки к IT-собеседованиям
🔗 https://platfrom.lexiconium.ru