Подборка объединяет вопросы, отмеченные на этапах интервью в Ozon. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, concurrency.
Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…
распределённая публично-подписная система потоковой обработки событий (event streaming) масштабирование выполняется за счёт партиционирования топиков каждый топик разделён на партиции, что обеспечивает параллельную…
Как обеспечить уникальность записей без DISTINCT? агрегатные функции с GROUP BY — объединение строк по ключам оконные функции (ROW_NUMBER(), RANK()) с последующей фильтрацией по порядковому номеру подзапросы с…
паттерн интеграции, обеспечивающий гарантированную доставку сообщений сохраняет события в специальной таблице (outbox) одновременно с изменениями в БД в рамках одной транзакции устраняет риск рассинхронизации данных и…
Что такое паттерн Outbox и зачем он нужен? архитектурный паттерн, который обеспечивает атомарность интеграций сохраняет события или сообщения в отдельной Outbox-таблице в рамках той же транзакции, что и…
Как в Go создать worker pool для обработки задач? параллельно выполнять функции с помощью goroutines ограничивать количество активных воркеров через канал-буфер или семафор передавать задания рабочим горутинам через…
Паттерн IDisposable в .NET предназначен для управления неуправляемыми ресурсами. Метод Dispose() позволяет пользователю явно освободить занятые ресурсы. Dispose можно вызвать вручную либо автоматически с помощью…
Варианты времени жизни объекта в DI-контейнере Контекст: управление жизненным циклом объектов в DI (Dependency Injection) Singleton: единственный экземпляр существует на протяжении всего жизненного цикла приложения…
Уровни изоляции транзакций: принцип работы область: базы данных, управление транзакциями цель: контроль конкурентного доступа и защита от аномалий уровни определены стандартом SQL ANSI: Read Uncommitted
Виды соединений (JOIN) в PostgreSQL основы SQL: объединение таблиц по заданному условию INNER JOIN: возвращает исключительно строки с совпадениями в обеих таблицах LEFT JOIN (LEFT OUTER JOIN): сохраняет все строки…
Гарантии доставки в Kafka Kafka — распределённая очередь сообщений, рассчитанная на высокую доступность. В Kafka предусмотрены три режима доставки: at most once — сообщение доставляется без подтверждения, поэтому оно…
Недостатки пагинации через LIMIT OFFSET при больших offset производительность снижается, поскольку приходится просматривать множество строк при изменении данных смещение становится нестабильным: добавленные и…