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

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

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

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

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

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

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

Каталог

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

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

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

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

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

Как обеспечить потокобезопасность in-memory репозитория без потери производительности?

многопоточность, защита данных выбирать lock-free структуры данных, например ConcurrentHashMap заменять блокировки на атомарные операции (atomic variables), где это возможно сводить критические секции к минимально…

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

Как обрабатывать ошибки, если внешний сервис недоступен?

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

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

Как объединить результаты двух параллельных запросов A и B без использования Promise.all?

Как объединить результаты параллельных запросов без Promise.all В JavaScript асинхронные операции выполняются с помощью Promise и колбеков Запустите оба запроса параллельно — вызовите их без await Поскольку каждый…

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

Как объяснить микросервисную архитектуру на собеседовании?

архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…

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

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

Как ограничить частоту запросов к серверу в поиске с автокомплитом Контекст: оптимизация запросов на frontend Применить дебаунсинг: отправлять запрос только после паузы во вводе, например через 300-500 мс Добавить…

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

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

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

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

Как организовать авторизацию с помощью JWT и имперсонализации?

Авторизация через JWT и имперсонализацию JWT представляет собой токен доступа, содержащий закодированные данные пользователя Сервер подписывает токен, что гарантирует его целостность и безопасность Имперсонализация…

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

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

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

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

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

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

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

Как остановить несколько воркеров с помощью общего контекста?

Как остановить несколько воркеров с помощью общего контекста? многопоточность и управление жизненным циклом создать единый контекст отмены (например, context.WithCancel в Go) передать этот контекст всем воркерам…

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

Как отменить fetch-запрос в браузере?

Для работы с асинхронными HTTP-запросами через fetch API применяется AbortController, позволяющий отменять операции Сначала создаётся контроллер: const controller = new AbortController() Затем его сигнал передаётся…

Читать ответ