Сбербанк · октябрь 2025

System Design собес на senior Data Инженер в Сбербанк

senior System design 1 задача
1

Этап: System Design

Задача 1

Спроектировать хранилище для одной модальности (картинки)

Требования пользователей:

  1. Пользователи системы хотят делать выгрузки картинок по метаданным, например, по теме — природа, машины, мотоциклы, спорт.
  2. Пользователи хотят делать выгрузки по параметрам самих картинок (например, ищем больше определенной ширины).
  3. Для пользователей важна скорость работы.

Что хочется увидеть в итоге:

  1. Прописать функциональные и нефункциональные требования.
  2. Какие слои данных выделены и почему. Какие подходы проектирования будут использоваться на каждом слое и почему.
  3. Какая технология используется на каждом слое и почему.
  4. Как будут идти потоки данных, что использоваться для хранения (форматы).
  5. Как пользователи будут решать свою задачу с помощью платформы (например, через Jupyter Notebook).

Опционально: 6.1. Мониторинг ошибок. 6.2. Сбор статистики по данным (количество картинок на слоях). 6.3. Аналитика над данными (количество картинок по определенным темам). 6.4. Качество данных (валидность картинки, дубли).

Что есть в распоряжении:

  • Cloud.

Дополнение по хранению данных:

  • Текущий размер файлов — 1 Пб.
  • Данные — zip архивы (внутри много file.jpeg + 1 meta.csv с метаданными: тема, ширина, высота). Местоположение — S3.
  • На текущий момент четкой структуры нет — в одном zip архиве рандомно лежат разные темы, разные размеры, мы не знаем, какие.
  • Возможны дубликаты, возможны битые картинки.
  • Предположим, что каждая тема — примерно 100 Gb.

Дополнение по процессингу:

  • Нагрузка на систему примерно 1 Тб в сутки (синхронизация бакетов — примерно 2 часа).

Follow Up:

  • Ожидаем рост данных до 10 Тб в сутки.
  • Модальности будут добавляться (аудио, видео, тексты).

Дополнительно

Задача по системному дизайну на проектирование хранилища изображений объемом 1 Пб с ростом до 10 Тб в сутки и возможностью добавления новых модальностей (аудио, видео, тексты).

2

Вложения