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

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

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

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

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

Анализ резюме
Сбросить

Каталог

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

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

В каких случаях synchronized недостаточно для предотвращения гонки потоков?

Когда synchronized недостаточно для предотвращения гонки потоков? синхронизация выполняется с помощью мониторного замка механизм действует на уровне одного объекта (монитора) недостаточен при зависимостях между…

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

В каком потоке по умолчанию выполняется Service?

контекст: Android, компоненты приложения По умолчанию Service выполняется в главном (UI) потоке приложения Отдельный поток автоматически не создаётся Тяжёлые операции могут заблокировать UI Для фоновых задач применяют…

Читать ответ
Теория

В чём разница между последовательными (serial) и конкурентными (concurrent) очередями?

Как работают последовательные и конкурентные очереди? Очередь — это структура данных, в которой элементы обрабатываются по принципу FIFO: первым обрабатывается тот, кто был добавлен первым. Последовательная (serial)…

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

Как ThreadLocal передаёт параметры, связанные с конкретным потоком?

Как ThreadLocal передаёт параметры, связанные с конкретным потоком? хранит данные отдельно для каждого потока гарантирует, что каждый поток получает собственное независимое значение позволяет обращаться к данным…

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

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

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

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

Как предотвратить deadlock и livelock при использовании блокировок?

deadlock: взаимная блокировка ресурсов livelock: бесконечное изменение состояний без продвижения исключать циклические зависимости между ресурсами задавать единый порядок захвата блокировок (lock ordering)…

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

Какие риски связаны с Executors.newCachedThreadPool() и когда его стоит использовать?

Риски и сценарии использования Executors.newCachedThreadPool() определение: пул потоков с динамически изменяемым размером проблема 1: потенциально неограниченное увеличение количества потоков → риск исчерпания…

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

Может ли ConcurrentModificationException возникнуть в однопоточном коде и почему?

ConcurrentModificationException сообщает о некорректном изменении коллекции во время итерации независимо от числа потоков; поэтому однопоточная модификация с нарушением правил итерации — частая причина.

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

Почему IO-bound задачи не блокируются GIL?

GIL (Global Interpreter Lock) — механизм блокировки на уровне интерпретатора CPython Он ограничивает одновременное выполнение CPU-bound задач только одним потоком Во время I/O поток передаёт управление, поэтому GIL…

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

Почему нельзя использовать await внутри lock и как lock работает под капотом?

Асинхронность и блокировка: конструкция await приостанавливает выполнение метода и позволяет другим задачам продолжить работу, тогда как lock синхронно блокирует общий ресурс. Риск deadlock: после await поток…

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

Чем race condition отличается от data race на собеседовании?

Отличия race condition и data race область: конкурентность, многопоточность race condition — это ситуация, в которой результат определяется порядком выполнения потоков data race — разновидность race condition,…

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

Что такое Data Race и как привести пример?

ошибка конкурентного доступа к памяти два или несколько потоков читают и изменяют общий ресурс, не используя синхронизацию это вызывает ошибки и непредсказуемое поведение, например появление некорректных данных…

Читать ответ