Спроектируй систему, аналогичную GitHub/GitLab (хранение кода, push/pull, 50 000 активных пользователей).

Разделите Git-операции, метаданные продукта и фоновые задачи. Для 50 000 пользователей сначала уточните активность, размер репозиториев и требования к доступности.

Короткий ответ

Что ответить на собеседовании

Разделите Git-операции, метаданные продукта и фоновые задачи. Для 50 000 пользователей сначала уточните активность, размер репозиториев и требования к доступности.

Подробный разбор

Ответ с пояснениями

Разделите Git-операции, метаданные продукта и фоновые задачи. Для 50 000 пользователей сначала уточните активность, размер репозиториев и требования к доступности.

SSH/HTTPS-шлюзы аутентифицируют push/pull и направляют их к хранилищу репозитория. Git-объекты и refs хранятся отдельно от SQL-метаданных пользователей, прав, issues и merge requests; бинарные файлы можно вынести в LFS/object storage. Конкурентное обновление refs требует проверки ожидаемой версии. Репликация, резервные копии и восстановление защищают данные, очереди обслуживают hooks и индексацию. CI-исполнители изолируют от хранилища и секретов. Не рассчитывайте RPS только из числа пользователей.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее