Такая система состоит из серверной платформы и клиентских SDK: одна библиотека не заменяет серверные авторизацию, хранение и доставку событий. Сначала определите минимальный набор сервисов и модель арендаторов.
Создание библиотеки, аналогичной Firebase
Такая система состоит из серверной платформы и клиентских SDK: одна библиотека не заменяет серверные авторизацию, хранение и доставку событий. Сначала определите минимальный набор сервисов и модель арендаторов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Разработать библиотеку, воспроизводящую функциональность Firebase, предназначенную для интеграции и использования компаниями. Оформить решение в виде готового пакета, который можно распространять клиентам.
Требования:
- Спроектировать архитектуру, обеспечивающую масштабируемость и надёжность.
- Реализовать основные сервисы (аутентификация, база данных в реальном времени, хранилище файлов, push‑уведомления).
- Предусмотреть механизм конфигурации и инициализации библиотеки.
- Обеспечить возможность простого подключения к проекту компании и дальнейшего расширения функционала.
- Оформить библиотеку в виде публичного артефакта (npm/ Maven/ NuGet и т.п.) с полной документацией и примерами использования.
Ответ
Такая система состоит из серверной платформы и клиентских SDK: одна библиотека не заменяет серверные авторизацию, хранение и доставку событий. Сначала определите минимальный набор сервисов и модель арендаторов.
Разделите identity, realtime API, объектное хранилище и адаптер push-провайдера. На сервере нужны изоляция tenants, проверки прав для каждого ресурса, квоты, журналирование и резервное восстановление. SDK предоставляет инициализацию, управление токенами, переподключение с курсором и понятные ошибки; административные ключи в него не встраивают. Начните с одного согласованного вертикального сценария и версионированного API, затем публикуйте подписанный пакет с примерами и политикой совместимости.