Подборка объединяет вопросы, отмеченные на этапах интервью в фарма. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: kafka, java, database.
Денормализация полезна, когда измеренная стоимость joins или вычислений мешает целевым чтениям. Она хранит производные или дублируемые данные ради быстрого доступа.
volatile обеспечивает видимость и порядок доступа к полю между потоками. Это полезно для флага остановки или публикации состояния, но не делает составные операции атомарными.
Сопоставьте сложность задачи с опытом каждого junior: знание области, самостоятельность, риски и доступность помощи. Хорошая задача немного растягивает навыки, но имеет понятные границы.
Saga разбивает общий бизнес-процесс на локальные транзакции сервисов. При ошибке выполняются предусмотренные компенсации, а не общий rollback всех баз данных.
Опишите, какие решения обсуждали до написания кода и как влияли на выбор. Важно разделить собственный вклад, коллективное решение и окончательное согласование.
По числу 100 тысяч активных пользователей количество Kafka partition определить нельзя. Нужны частота платежей, событий на операцию, размер сообщений, скорость consumer и пиковая нагрузка.
Подготовьте вопросы о задачах, ожиданиях от роли, команде, процессе релизов и условиях. Выберите то, что действительно влияет на ваше решение, а не спрашивайте ради формальности.
Джуну можно дать задачу с Kafka, если ограничить риск, обеспечить наставника и понятную проверку. Причина отказа должна быть в критичности и отсутствии поддержки, а не в названии технологии.
Задача «на вырост» может быть реальной рабочей задачей, если её сложность немного выше текущего уровня и есть поддержка. Учебный вариант полезен там, где ошибка в production слишком рискованна.
Один consumer может обрабатывать все пять partition. Для максимального параллелизма по partition в одной обычной группе достаточно до пяти consumer; шестой не получит работу из этого топика.
В classic protocol Range, RoundRobin и Sticky используют eager-перераспределение, а CooperativeSticky старается сохранить назначения и отзывать только перемещаемые partition. Это уменьшает остановку полезной обработки.
Кратко свяжите текущую специализацию, один-два значимых проекта, личный вклад и причину поиска. Завершите тем, какие задачи хотите решать на новой позиции.