Подборка объединяет вопросы, отмеченные на этапах интервью в Мвидео. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: go, database, backend.
Сначала стоит проверить, нельзя ли решить проблему планом запроса, индексами, статистикой, агрегациями или репликой. Миграция в ClickHouse оправдана характером аналитической нагрузки.
Go обычно используют в императивном, процедурном стиле с поддержкой композиции и конкурентности. Классический SQL преимущественно декларативен: описывает нужный результат.
Реплики партиции размещаются на выбранных брокерах, а лидер выбирается из допустимых реплик. Распределением можно управлять через reassignment и preferred leader election.
Объясните назначение баллов, правила начисления и списания, срок действия и источник истины. Конкретные условия системы нельзя восстановить по одному заголовку.
Подписчики Pub/Sub получают события по подписке и не требуют прямого знания отправителем каждого получателя. Доставка и порядок определяются конкретным брокером и настройками.
Утечку горутин в consumer ищут по росту их числа и повторяющимся стекам ожидания. Типичные причины — забытая отмена, заблокированный канал или незавершённый worker.
В PostgreSQL доступны Read Uncommitted, Read Committed, Repeatable Read и Serializable; первые два фактически одинаковы. Конкуренция за запись существует уже на Read Committed.