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

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

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

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

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

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

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

Каталог

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

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

В чем отличие Atomic-классов от synchronized?

Ключевое отличие Atomic-классов от synchronized Atomic-классы выполняют операции без блокировок В основе их работы лежит CAS (Compare-And-Swap) Они обеспечивают атомарность отдельных операций synchronized использует…

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

В чём разница между ConcurrentHashMap и Collections.synchronizedMap при параллельном доступе?

Параллелизм в ConcurrentHashMap и Collections.synchronizedMap обе структуры обеспечивают потокобезопасный доступ к Map Collections.synchronizedMap представляет собой обёртку с синхронизацией всего объекта, поэтому…

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

Как использовать Optional вместо проверок на null?

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

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

Как не перегрузить внешний сервис при синхронных вызовах из высоконагруженной системы?

область: интеграция, отказоустойчивость, масштабирование ввести ограничение пропускной способности (rate limiting), чтобы контролировать частоту обращений к сервису применить bulkhead pattern для изоляции ресурсов и…

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

Как обеспечить безопасный инкремент счётчика в многопоточной среде?

Это задача из сферы конкурентного программирования. Проблема заключается в том, что инкремент не является атомарной операцией, поэтому возможна гонка данных. Решение 1 — применить мьютексы/локи: они ограничивают…

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

Как обнаружить «тяжёлые» SQL-запросы без готовых метрик?

Как обнаружить "тяжёлые" SQL-запросы без готовых метрик? анализ журналов СУБД (slow query log, general log) исследование плана выполнения с помощью EXPLAIN и EXPLAIN ANALYZE выявление запросов с большим временем…

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

Как обойти ограничения CORS при работе с API?

CORS — браузерная политика безопасности Использовать прокси-сервер: браузер отправляет запрос на собственный сервер, а тот перенаправляет его дальше Применить JSONP для GET-запросов — это устаревший подход Настроить…

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

Как работает Flexbox и за что отвечают его свойства?

Как работает Flexbox и за что отвечают его свойства? CSS-модель для гибкой верстки Flex-контейнер и его дочерние элементы, называемые flex-элементами Основная ось (main axis) — направление размещения flex-элементов,…

Читать ответ
System Design

Как ускорить SQL-запрос, который выполняется слишком долго?

изучить план выполнения с помощью EXPLAIN/EXPLAIN ANALYZE найти узкие места: сканирование таблиц и отсутствие индексов проверить и создать индексы для часто используемых колонок переписать запрос: упростить JOIN и по…

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

Как устранить проблему N+1 при загрузке связанных сущностей?

Как устранить проблему N+1 для связанных сущностей? Проблема N+1: вместо одного выполняется множество запросов Причина: отложенная (lazy) загрузка связанных данных Базовое решение: жадная загрузка (eager loading)…

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

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

Как устранить проблемы "волшебных чисел"? область разработки и качество кода "волшебные числа" — необъяснимые статические константы, напрямую записанные в коде усложняют чтение и сопровождение программы создают риск…

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

Как устроен механизм CAS (Compare-And-Swap) внутри Atomic-классов?

Как работает CAS внутри Atomic-классов CAS — это низкоуровневый механизм атомарного обновления значения в памяти Он сопоставляет текущее значение с ожидаемым (compare) При совпадении значение заменяется новым (swap)…

Читать ответ