Разборы задач

Проектирование Google Docs

Постановка задачи

📄 Что такое Google Docs?

Google Docs - это онлайн-редактор документов для совместной работы. Пользователи могут создавать документы и редактировать их совместно, в режиме реального времени.

В этой статье мы разработаем систему, поддерживающую основные функции Google Docs, погрузимся в веб-сокеты и системы совместного редактирования. Мы начнем с определения требований (как на настоящем собеседовании), а затем перейдем к проектированию в соответствии с нашей структурой интервью

Функциональные требования

Основные требования

  1. Пользователи могут создавать новые документы.
  2. Несколько пользователей могут одновременно редактировать один и тот же документ.
  3. Пользователи могут видеть изменения, вносимые друг другом, в режиме реального времени.
  4. Пользователи могут видеть положение курсора и статус присутствия других пользователей.

За рамками задачи

  • Сложная структура документа. Будем считать, что используется простой текстовый редактор.
  • Уровни прав доступа и роли.
  • История изменений и версионирование.

Нефункциональные требования

Перейдите на Premium, чтобы продолжить

Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium

Перейти на Premium