Как ты строишь модель данных
Вопрос
Расскажи, как ты проектируешь модель данных для новой функции: с чего начинаешь и что проверяешь.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
От домена: сущности и связи из требований и глоссария
Кардинальность и обязательность связей
Ключи: суррогатные PK, бизнес-ключи как UNIQUE
Жизненный цикл: статусы, история, удаление и ПДн
Объёмы и запросы: индексы, архив
Словарь данных и ревью с разработкой
Что могут спросить следом
- Как поступаешь с историей изменений сущности?
- Где хранить справочники?
Разбор
Начинаю с концептуальной модели: выписываю существительные из требований и глоссария, отделяю сущности от атрибутов, рисую связи с кардинальностью и обязательностью. Потом логическая модель: атрибуты, суррогатные первичные ключи, бизнес-ключи под UNIQUE, нормализация до третьей формы. Отдельно продумываю жизненный цикл: статусы и история изменений, что происходит при удалении, где персональные данные и как их обезличивать. Смотрю на объёмы и главные запросы, чтобы предложить индексы и архивирование. Результат оформляю ER-диаграммой и словарём данных и прохожу с разработчиком, который знает ограничения СУБД.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.