Метаданные аудиокниг храните в БД, аудио — в объектном хранилище, а раздачу выполняйте через CDN. API управляет каталогом, доступом и прогрессом прослушивания.
Платформа для воспроизведения аудиокниг
Метаданные аудиокниг храните в БД, аудио — в объектном хранилище, а раздачу выполняйте через CDN. API управляет каталогом, доступом и прогрессом прослушивания.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо спроектировать и реализовать backend‑сервис, который будет обслуживать аудиокниги: хранить метаданные и аудиофайлы, обеспечивать поиск по названию, автору и жанру, а также предоставлять возможность потоковой передачи записей клиентским приложениям. Сервис должен поддерживать базовые операции CRUD, авторизацию пользователей и масштабируемую архитектуру для обработки большого количества одновременных запросов.
Ответ
Метаданные аудиокниг храните в БД, аудио — в объектном хранилище, а раздачу выполняйте через CDN. API управляет каталогом, доступом и прогрессом прослушивания.
Выделите книги, авторов, жанры, главы и доступные аудиоверсии. CRUD каталога доступен редакторам, чтение и поиск — пользователям с нужными правами. Индексы БД или отдельный поисковый движок обслуживают название, автора и жанр.
Загрузка файла создаёт фоновую задачу проверки и кодирования. Готовые главы раздаются с поддержкой HTTP Range либо сегментированного стриминга; приложение сохраняет позицию прослушивания на пользователя и книгу. Ссылки на закрытые файлы должны быть ограничены по сроку и доступу.
API остаётся stateless, масштабируется горизонтально, популярные метаданные кешируются. Обработка медиа отделена от запросов каталога. При удалении книги учитывайте аудиофайлы, кеш и незавершённые задачи; для прогресса предусмотрите конфликты между устройствами.