Перейти к основному содержимому

Вопросы на собеседовании

Вопросы на собеседовании Java-разработчика

25 вопросов на собеседовании Java-разработчика: JVM и сборка мусора, коллекции, многопоточность, Spring и транзакции, Hibernate и N+1, Stream API.

Поделиться:TGVKWA
Java CoreJVM и сборка мусораКоллекцииМногопоточность (JUC)Spring (IoC, транзакции)Hibernate/JPAStream API

📈 Готовитесь к собеседованию? Получайте свежие вакансии Java-разработчик на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
Бесплатно, без регистрации

Мини-собеседование: Java-разработчик

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
HR-вопросДля всех уровней

Почему вы хотите перейти на новую позицию Java-разработчика?

2–3 предложения достаточно · ещё 20 симв.

Типовые вопросы и подсказки к ответам

Используйте подсказки как каркас ответа: добавьте свои проекты, метрики, ограничения и выводы. Любой вопрос можно тут же проговорить — кнопка «Ответить и получить разбор ИИ» отправит его в мини-собеседование выше.

HR-вопрос

Вопрос 1Для всех уровней

Почему вы хотите перейти на новую позицию Java-разработчика?

Показать подсказку ▾

Как отвечать: Свяжите мотивацию с ростом, задачами и стеком компании, избегая негатива о текущем работодателе и ответа только про деньги.

Вопрос 2Для всех уровней

Как вы поддерживаете свои знания Java актуальными и что изучаете сейчас?

Показать подсказку ▾

Как отвечать: Назовите конкретные источники и темы: новые версии JDK, виртуальные потоки, изменения в Spring Boot — и как применяете это в работе.

Резюме открывают раньше, чем зовут на собеседование. Соберите версию под «Java-разработчик» с ИИ — около 10 минут, начать можно бесплатно.

Резюме под эту роль

Технический вопрос

Вопрос 1Для всех уровней

Как устроена сборка мусора в JVM и какие сборщики вы знаете?

Показать подсказку ▾

Как отвечать: Расскажите про поколения объектов, stop-the-world паузы и различия G1, ZGC и Parallel GC, приведите пример, когда выбирали сборщик под сервис.

Вопрос 2Middle

Чем Heap отличается от Stack и когда возникают OutOfMemoryError и StackOverflowError?

Показать подсказку ▾

Как отвечать: Разведите хранение объектов и кадров вызовов, объясните типичные причины: утечки через статические коллекции и неограниченная рекурсия.

Вопрос 3Для всех уровней

Как устроена HashMap и почему критично соблюдать контракт equals и hashCode?

Показать подсказку ▾

Как отвечать: Объясните бакеты, хеширование, разрешение коллизий и покажите на примере, что ломается, если переопределить equals без hashCode.

Вопрос 4Для всех уровней

Чем ArrayList отличается от LinkedList и как вы выбираете коллекцию под задачу?

Показать подсказку ▾

Как отвечать: Сравните сложность доступа, вставки и удаления, потребление памяти и скажите, почему на практике почти всегда выбирают ArrayList.

Вопрос 5Для всех уровней

Почему String неизменяем и какие последствия это имеет?

Показать подсказку ▾

Как отвечать: Упомяните пул строк, безопасность, хеширование в ключах коллекций и когда вместо конкатенации нужен StringBuilder.

Вопрос 6Middle

Что такое JIT-компиляция и как она влияет на производительность Java-приложения?

Показать подсказку ▾

Как отвечать: Расскажите про разогрев JVM, горячие участки кода и почему замеры производительности без прогрева некорректны.

Вопрос 7Middle

Чем synchronized отличается от ReentrantLock и когда вы выбираете каждый вариант?

Показать подсказку ▾

Как отвечать: Сравните простоту монитора с возможностями tryLock, прерываемого ожидания и честных блокировок, приведите пример из практики.

Вопрос 8Для всех уровней

Что гарантирует ключевое слово volatile и каких гарантий оно не даёт?

Показать подсказку ▾

Как отвечать: Объясните видимость изменений между потоками и happens-before, подчеркните, что составные операции вроде инкремента volatile не защищает.

Вопрос 9Middle

Как работает ConcurrentHashMap и почему он быстрее синхронизированной обёртки над HashMap?

Показать подсказку ▾

Как отвечать: Опишите сегментирование и блокировку на уровне бакетов, атомарные операции вроде computeIfAbsent и отсутствие глобальной блокировки на чтение.

Вопрос 10Middle

Что такое deadlock и как вы его находите и предотвращаете?

Показать подсказку ▾

Как отвечать: Назовите условия взаимной блокировки, упорядочивание захвата локов, таймауты и диагностику через thread dump или jstack.

Вопрос 11Middle

Как вы управляете пулами потоков через ExecutorService и какие очереди выбираете?

Показать подсказку ▾

Как отвечать: Расскажите про параметры ThreadPoolExecutor, риски безразмерных очередей, политику отказов и почему newFixedThreadPool под нагрузкой опасен.

Вопрос 12Middle

Чем промежуточные операции Stream API отличаются от терминальных и где подводные камни parallelStream?

Показать подсказку ▾

Как отвечать: Объясните ленивость конвейера, short-circuiting, общий ForkJoinPool и случаи, когда parallelStream ухудшает производительность.

Вопрос 13Для всех уровней

Что такое IoC и внедрение зависимостей в Spring и зачем это нужно?

Показать подсказку ▾

Как отвечать: Расскажите про контейнер бинов, внедрение через конструктор, слабую связанность и тестируемость, избегая пересказа документации.

Вопрос 14Middle

Как работает @Transactional и в каких случаях транзакция не откатится?

Показать подсказку ▾

Как отвечать: Упомяните прокси-механизм, самовызов метода, checked-исключения, private-методы и распространение транзакций.

Вопрос 15Middle

Что такое проблема N+1 в Hibernate и как вы её диагностируете и устраняете?

Показать подсказку ▾

Как отвечать: Опишите включение логирования SQL, подсчёт запросов, решения через join fetch, EntityGraph и пакетную загрузку.

Вопрос 16Middle

Что такое LazyInitializationException и как правильно работать с ленивой загрузкой?

Показать подсказку ▾

Как отвечать: Объясните границы сессии и транзакции, загрузку связей в сервисном слое и почему open-session-in-view в production — спорное решение.

Вопрос 17Middle

Какие scope бинов существуют в Spring и где реально применяются prototype и request?

Показать подсказку ▾

Как отвечать: Назовите singleton, prototype, request, session, приведите примеры использования и объясните риск внедрения prototype-бина в singleton.

Кейс

Вопрос 1Middle

Кейс: после перехода на Spring Data JPA страница списка стала открываться 10 секунд. Как ищете причину?

Показать подсказку ▾

Как отвечать: Пройдите путь: включить SQL-логи, обнаружить N+1, проверить план запроса и индексы, применить fetch join и замерить результат.

Вопрос 2Senior

Кейс: сервис под нагрузкой периодически замирает на несколько секунд. Ваши действия?

Показать подсказку ▾

Как отвечать: Начните с метрик GC и логов пауз, снимите heap dump, проверьте утечки и размер кучи, затем предложите тюнинг или смену сборщика.

Вопрос 3Middle

Кейс: при сбое сети клиент ретраит запрос, и денежная операция иногда выполняется дважды. Как защититься?

Показать подсказку ▾

Как отвечать: Предложите идемпотентный ключ, уникальные ограничения в БД, корректные границы транзакции и возврат прежнего результата при повторе.

Поведенческий вопрос

Вопрос 1Для всех уровней

Расскажите о самом сложном баге, который вы нашли в production.

Показать подсказку ▾

Как отвечать: Ответьте по STAR: контекст, диагностика, ваши действия, результат и что изменили в процессах, чтобы баг не повторился.

Вопрос 2Middle

Опишите ситуацию, когда вы не согласились с архитектурным решением тимлида или команды.

Показать подсказку ▾

Как отвечать: Покажите аргументацию на данных и прототипах, уважение к коллегам и готовность принять командное решение после обсуждения.

Вопрос 3Для всех уровней

Как вы проводите code review и реагируете на критику своего кода?

Показать подсказку ▾

Как отвечать: Сфокусируйтесь на читаемости, тестах и рисках, конструктивном тоне комментариев и восприятии замечаний как улучшения, а не личной критики.

Готовы отвечать — а резюме уже под эту роль?

До собеседования резюме ещё нужно открыть. Соберите адаптированное резюме для «Java-разработчик» за ~10 минут: ИИ сформулирует опыт, навыки и достижения под требования работодателей.

Собрать резюме под эту роль
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • Реальные вопросы по вашей роли
  • Разбор ответов с ИИ
  • Оценка и советы

План подготовки

  1. 1Повторите JVM: структуру памяти, поколения объектов, сборщики мусора и инструменты диагностики вроде jstack и heap dump.
  2. 2Пройдитесь по коллекциям: устройство HashMap, контракт equals/hashCode, сложность операций ArrayList, LinkedList и ConcurrentHashMap.
  3. 3Освежите многопоточность: synchronized, volatile, ReentrantLock, ExecutorService, deadlock и классы java.util.concurrent.
  4. 4Разберите Spring на практике: IoC и жизненный цикл бинов, прокси @Transactional, уровни изоляции и типовые ловушки самовызова.
  5. 5Подготовьте 2–3 истории о production-задачах: проблема N+1 в Hibernate, утечка памяти, оптимизация запросов или борьба с GC-паузами.
  6. 6Пройдите пробное интервью в тренажёре Rabota-Help и проверьте, что ответы конкретны, структурированы и опираются на ваш опыт.

Частые ошибки

  • Пересказывать теорию по JVM и коллекциям без примеров из собственных проектов.
  • Не знать контракт equals/hashCode и устройство HashMap — базовый вопрос, который решает многое.
  • Путать видимость и атомарность в многопоточности и считать volatile универсальной защитой.
  • Не уметь объяснить, почему @Transactional не сработал при самовызове метода.
  • Слышать про N+1, но не знать, как её найти в логах и устранить через fetch join или EntityGraph.
  • Отвечать на кейсы абстрактно, не называя конкретных инструментов: SQL-логи, метрики GC, thread dump.
Практика интервью

От вопросов — к тренировке интервью

Прочитайте вопросы, выберите 5–7 самых сложных и пройдите пробное интервью. ИИ-интервьюер поможет структурировать ответы, проверить аргументацию и подготовиться к реальному разговору.

Открыть тренажёр для роли Java-разработчик
Зарплата

Зарплата Java-разработчик в России

По данным 79 вакансий

Полная статистика →

P25 (ниже среднего)

60 000 ₽

Медиана

128 000 ₽

50% вакансий

P75 (выше среднего)

200 000 ₽

Медиана по уровню опыта

Без опыта

60 000 ₽

1–3 года

128 000 ₽

3–6 лет

250 000 ₽

6+ лет

179 000 ₽

Навыки

Востребованные навыки Java-разработчика

Частота упоминания в вакансиях работодателей

Все навыки →
1
Java11%
2
PostgreSQL8%
3
Git8%
4
Spring6%
5
Kubernetes6%
6
Kafka6%
7
Spring Boot5%
8
Jenkins5%

Вы готовитесь к собеседованию. А работодатели уже ищут Java-разработчика.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Работодатели уже ищут: Java-разработчик · от 128 000 ₽

Создать анонимный профиль — бесплатно

Пройдите мини-собеседование, добавьте резюме на экране результата — профиль создадим за минуту, с вашего согласия.

Вы нанимаете Java-разработчика? Профили кандидатов и подбор для работодателей →

Вакансии

Свежие вакансии Java-разработчика: 794

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →