Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс Такси. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: data modeling, DWH, change history.
Для простой модели номер можно хранить прямо в связи driverphone вместе с driverid и типом. Отдельная сущность phone полезна, когда у номера есть собственные свойства и независимое переиспользование.
Опишите систему, пользователей и свои аналитические артефакты: требования, модели данных, контракты интеграций и критерии приёмки. Покажите, как ваша работа помогает разработке и бизнесу.
Исправление ошибочно записанного номера и реальная смена номера — разные события. В первом случае корректируют неверный факт с аудитом, во втором создают новый период действия связи.
Историю можно вести версиями строк, журналом изменений или отдельной исторической таблицей. Выбор зависит от того, нужно ли восстановить состояние на дату или только узнать, кто что изменил.
Сам номер телефона не подходит как уникальный ключ связи, если он может относиться к разным водителям и типам. Используйте отдельный ID записи и бизнес-ограничение на допустимые повторы.
Даты действия номера для конкретного водителя хранят в записи связи «водитель—телефон». Они характеризуют назначение номера, а не саму строку телефонного номера.
Уточните, какое решение должен поддерживать отчёт, кто его читает и какие показатели для этого нужны. Затем согласуйте определения метрик, детализацию, фильтры, период и частоту обновления.
Таблица фактов описывает события или состояния на определённом уровне детализации, а измерения — контекст: клиента, товар, дату и другие признаки для группировки и фильтрации.
Типовая логическая структура DWH включает приём исходных данных, их очистку и согласование, интегрированный исторический слой и витрины для конкретных аналитических задач.
Сначала уточните, какие записи и метрики расходятся, за какой период и на какой момент обновления. Затем локализуйте первый этап, где данные перестают совпадать с источником.