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

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

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

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

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

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

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

Каталог

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

Найдено: 58
System Design

Как в Go создать worker pool с ограничением concurrency?

Как в Go реализовать worker pool с ограниченным concurrency? concurrency определяет число одновременно работающих goroutine Для ограничения создают буферизированный канал размером с concurrency Перед запуском worker в…

Читать ответ
Лайвкодинг

Как в транзакциях обеспечиваются атомарность и изоляция?

Транзакция представляет собой последовательность операций, выполняемую как единое целое Атомарность (ACID) означает: либо выполняются все операции, либо не выполняется ни одна При возникновении ошибок используются…

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

Как выполнить транзакцию с помощью SQL-запросов?

Транзакция представляет собой группу операций, выполняемых как единое целое. Основные команды транзакций: BEGIN TRANSACTION — запускает транзакцию. COMMIT — сохраняет внесённые изменения. ROLLBACK — отменяет изменения…

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

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

Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…

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

Как корректно отменить горутину, выполняющую долгую операцию, например запрос к БД?

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

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

Как на собеседовании объяснить, что такое партиционирование (partitioning) таблиц в базах данных?

способ горизонтального разделения таблиц в БД данные распределяются по подмножествам (партициям) на основании ключа каждая такая часть отдельно хранится и обрабатывается повышает производительность запросов и операций…

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

Как обеспечить exactly-once обработку в Kafka и какие есть подводные камни?

Exactly-once обработка в Kafka: как реализовать и что учесть Тема: обработка сообщений, Kafka, идемпотентность В основе exactly-once находится транзакционная запись в Kafka через Transaction API Применяется…

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

Как правильно выбрать уровень изоляции транзакции?

контроль конкурентного доступа к данным доступные уровни: Read Uncommitted, Read Committed, Repeatable Read, Serializable решение определяется соотношением требований к консистентности и производительности низкие…

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

Как работает секционирование таблиц (table partitioning) в PostgreSQL?

Как работает секционирование таблиц (table partitioning) в PostgreSQL? большая таблица разделяется на отдельные части — партиции каждая партиция представляет собой таблицу с собственным условием отбора, например…

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

Как реализовать graceful shutdown в Go для сервиса с HTTP-сервером и фоновыми воркерами?

Как организовать graceful shutdown HTTP-сервиса с воркерами в Go? Контекст: управление остановкой сервиса, одновременно обрабатывающего HTTP-запросы и выполняющего фоновые задачи Для координации завершения применять…

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

Как реализовать блокирующую транзакцию при обработке событий?

область: обработка событий, транзакции блокирующая транзакция — гарантирует атомарность и изоляцию использовать механизм блокировок (например, pessimistic locking) для синхронизации применять мьютексы или сходные…

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

Как сборщик мусора в Python определяет, какие объекты можно удалить?

Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…

Читать ответ