Подготовка к интервью

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

332 вопроса по Java с технических собеседований

332 вопроса 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.

Основные темы и навыки

backend 185 database 133 optimization 101 performance 69 concurrency 64 architecture 53 android 53 livecoding 47

Форматы вопросов

  • Поведенческие вопросы263
  • Технические вопросы29
  • Лайвкодинг25
  • System Design15

Ориентировочная сложность

  • Продвинутые177
  • Практические143
  • Базовые12

С чего начать подготовку

  1. Начните с раздела «Поведенческие вопросы» и проверьте, можете ли дать короткий ответ своими словами.
  2. Затем разберите вопросы по теме «backend» и свяжите ответы с собственным опытом.
  3. Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Сбросить

Каталог

Результаты поиска

Найдено: 332
Поведенческий

Как объяснить различия JOIN на уровне множеств?

Как различаются JOIN на уровне множеств JOIN — объединение таблиц по ключевым значениям INNER JOIN — пересечение множеств: возвращаются только общие строки LEFT JOIN — сохраняет все строки слева и дополняет их данными…

Читать ответ
Поведенческий

Как определить TTL (Time To Live) для кэшируемых данных?

Сопоставление требований к свежести данных с допустимым периодом их устаревания Определение того, насколько часто источник выполняет обновление данных Поиск компромисса между нагрузкой на базу и эффективностью кэша:…

Читать ответ
Поведенческий

Как определить, какие индексы нужны для оптимизации базы данных?

Как определить индексы, необходимые для оптимизации? Анализирую нагрузку: начинаю с наиболее часто выполняемых запросов и изучаю их планы выполнения с помощью EXPLAIN/ANALYZE Выявляю столбцы, используемые для…

Читать ответ
Поведенческий

Как оптимизировать SQL-запрос для выборки всех постов пользователей с более чем 500 подписчиками с помощью JOIN и проверкой NULL?

Оптимизация SQL-запроса для постов пользователей с >500 подписчиками контекст: оптимизация запросов с использованием join и фильтрацией NULL создать индексы для колонок, участвующих в фильтрации и соединении, например…

Читать ответ
Поведенческий

Как организовать кэширование в распределённой среде с помощью Redis?

распределённое кэширование общих данных, доступных нескольким сервисам Redis — in-memory хранилище с низкой задержкой для изоляции доменов применяем ключи с префиксами для автоматического удаления устаревших данных…

Читать ответ
Поведенческий

Как очередь сообщений, например Redis, предотвращает дублирование алертов при сбое транзакций?

Асинхронная передача сообщений через очередь Обработка с гарантией доставки один раз (at-least-once / exactly-once — в зависимости от реализации) Централизованное хранение событий с уникальными метками Разделение…

Читать ответ
Поведенческий

Как передавать Dispatcher в классы — через DI или напрямую?

Как лучше передавать Dispatcher в классы: через DI или напрямую? Контекст: архитектура приложения и инверсия зависимостей DI-передача делает зависимости явными и управляемыми упрощает подмену зависимостей и…

Читать ответ
Лайвкодинг

Как получить уникальные записи в выборке без DISTINCT?

Как обеспечить уникальность записей без DISTINCT? агрегатные функции с GROUP BY — объединение строк по ключам оконные функции (ROW_NUMBER(), RANK()) с последующей фильтрацией по порядковому номеру подзапросы с…

Читать ответ
Поведенческий

Как правильно документировать API микросервисов с помощью Swagger/OpenAPI?

Как документировать API микросервисов с помощью Swagger/OpenAPI? — стандарт OpenAPI для описания REST API в формате YAML/JSON — интерактивная документация, создаваемая автоматически (Swagger UI) — валидация API и…

Читать ответ
Поведенческий

Как правильно запустить Thread и почему прямой вызов run() не создаёт новый поток?

Чтобы запустить поток, вызовите у объекта Thread метод start() Метод start() создаёт новый системный поток операционной системы и запускает его Метод run() является обычным методом и выполняется в том потоке, из…

Читать ответ
Поведенческий

Как правильно маскировать чувствительные данные в логах?

защита конфиденциальности и безопасность данных на уровне логгера или middleware определить чувствительные поля: пароли, токены и ПДн заменить исходные значения шаблонами: ****, hash или partial mask применять готовые…

Читать ответ