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

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

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

424 вопроса 1634 компании 353 технологии

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

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

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

Каталог

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

Найдено: 424
Теория

Как обеспечить идемпотентность при работе с Kafka?

Kafka — распределённый брокер потоковых событий Идемпотентность предотвращает появление дубликатов при повторной отправке На стороне продюсера включают идемпотентный режим (enable.idempotence=true) Для сообщений в…

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

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

Горизонтальное масштабирование за счёт добавления новых инстансов сервиса Применение балансировщиков нагрузки (load balancers) Автоматическое масштабирование (auto-scaling), настроенное по метрикам нагрузки…

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

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

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

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

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

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

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

Как определить порядок полей при проектировании составного индекса?

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

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

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

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

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

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

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

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

Как организуют взаимодействие между микросервисами?

HTTP/REST: синхронный и простой способ с широкой поддержкой gRPC: высокопроизводительный бинарный протокол для быстрых вызовов Message Broker (RabbitMQ, Kafka): асинхронный обмен через очереди, повышающий устойчивость…

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

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

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

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

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

Распределённые системы, микросервисы Для поддержания согласованности применяются паттерны Event Sourcing и CQRS Применение асинхронного взаимодействия на основе событий (event-driven architecture) Использование…

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

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

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

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

Как правильно настроить CI/CD?

CI/CD автоматизирует сборку, тестирование и доставку приложения настроить Git и определить триггеры запуска pipeline подключить CI-сервер: Jenkins, GitLab CI или GitHub Actions запускать сборку и юнит-тесты…

Читать ответ