Выбор ответа Middle Мобильный system design обновлено
Загрузка большого видео
Вопрос
Как надёжно загрузить видео на 500 МБ с телефона в мобильной сети?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Возобновляемая загрузка частями в фоновой сессии, с повтором отдельных частей и сжатием. При обрыве на 90% одиночный запрос начнётся заново.
Варианты ответа
- Один POST с телом на 500 МБ и долгим таймаутом, а при обрыве повторить запрос целиком
- Base64 в JSON-запросе, чтобы файл проходил через любые прокси и API-шлюзы без ошибок
- Отправка только по Wi-Fi одним запросом без возможности продолжить: в сотовой сети не загружать
- Возобновляемая загрузка частями в фоновой сессии, с повтором отдельных частей и сжатиемправильный ответ
Разбор
При обрыве на 90% одиночный запрос начнётся заново. Загрузка частями (протокол tus, S3 multipart upload) позволяет повторять только неудачные части и продолжать после перезапуска. Фоновая сессия (URLSession background, WorkManager) не зависит от того, открыт ли экран. Base64 увеличивает объём на треть. Перед загрузкой видео обычно перекодируют в разумный битрейт.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Мобильный system design»
- Мобильный system design: SDK аналитики событий
- Мобильный system design: перевод денег в банковском приложении
- Мобильный system design: каталог и корзина маркетплейса
- Мобильный system design: лента новостей с картинками и видео
- Мобильный system design: загрузка фото и видео
- Мобильный system design: мессенджер
- Мобильный system design: заметки с синхронизацией между устройствами
- Мобильный system design: истории (stories)