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

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

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

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

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

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

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

Каталог

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

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

Где появился outbox в вашей схеме — вы сначала писали в outbox из Kafka, а потом уже публиковали из outbox?

Outbox обычно появляется в той БД, где вместе с бизнес-изменением нужно надёжно сохранить исходящее событие. Если вход пришёл из Kafka, consumer может записать результат и outbox одной транзакцией.

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

Знаете аналог у нас — систему «Сбермок», платформу для эмуляции исполнения интеграций (REST, MQ, Kafka) для банка?

Если не работали со «Сбермоком», так и скажите и уточните его роль. По описанию это платформа эмуляции интеграций; знакомство с WireMock или тестовыми брокерами может быть релевантным, но не тождественным.

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

Для биллинговой системы со 100 тысячами одновременно активных пользователей, которые могут совершать платежи: сколько партиций Kafka потребуется?

По числу 100 тысяч активных пользователей количество Kafka partition определить нельзя. Нужны частота платежей, событий на операцию, размер сообщений, скорость consumer и пиковая нагрузка.

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

Спроектируйте масштабируемый сервис ежедневных SMS-напоминаний о платеже по кредиту: данные о клиентах и кредитах находятся в БД, отправка SMS выполняется через Kafka. Учтите отказоустойчивость, дублирование, нагрузку и граничные случаи.

Планировщик порциями создаёт уникальные задания и outbox в БД, publisher отправляет их в Kafka, consumer вызывает SMS-провайдера. Ключ кредита, даты и типа напоминания подавляет повторное планирование.

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

Почему нельзя было просто масштабировать синхронные API, добавить экземпляры приложения или мощности БД вместо Kafka?

Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.

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

Можно ли освободить поток Kafka consumer, переложив сообщение в очередь в памяти и обрабатывая его в другом потоке?

Можно разделить poll и обработку, но очередь в памяти не является подтверждением надёжного результата. Offset фиксируют только после завершения обработки, а доступ к KafkaConsumer остаётся у одного управляющего потока.

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

Как пошагово сделать идемпотентное приложение при обработке сообщений из Kafka?

Определите стабильный event_id, заведите inbox с уникальным ключом и сохраняйте факт обработки вместе с бизнес-изменением в одной транзакции. Kafka offset подтверждайте после успешного commit.

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

Расскажите про кэш, который вы упоминали: как он был реализован, была ли проблема при работе в нескольких инстансах, и как решали её (в т.ч. через Kafka)?

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

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

Почему вы не отдадите junior-разработчику задачу с Kafka и event-driven-подходом, если это может быть задачей «на вырост»?

Джуну можно дать задачу с Kafka, если ограничить риск, обеспечить наставника и понятную проверку. Причина отказа должна быть в критичности и отсутствии поддержки, а не в названии технологии.

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

Зачем вы использовали Kafka вместо того, чтобы просто принять запрос и обработать его синхронно? Почему не масштабировать инстансы?

Kafka полезна для отделения приёма от обработки, сглаживания пиков и независимых подписчиков. Масштабирование синхронных экземпляров не устраняет медленную зависимость и не создаёт долговечную очередь само по себе.

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

Почему именно Transactional Outbox — ведь можно было сделать иначе, например коммитить в Kafka только после успешной отправки?

Outbox решает разрыв между commit бизнес-данных в БД и публикацией события: оба намерения сохраняются одной локальной транзакцией. Поздний commit Kafka offset решает другую часть задачи и не закрывает этот разрыв.

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

Как partition влияет на порядок сообщений и масштабирование Kafka?

Partition — единица порядка и назначения работы: внутри неё Kafka хранит упорядоченный журнал, а одна обычная consumer group назначает её одному consumer за раз. Больше partition допускает больше параллельных читателей.

Читать ответ