Как проектировать discriminated union?
Коротко
Нужен общий discriminant field и отдельный shape для каждого варианта состояния.
Нужен общий discriminant field и отдельный shape для каждого варианта состояния.
Сильный ответ должен раскрыть: discriminant; exhaustive checks; impossible states; читаемость.
Важно не допустить типичные ошибки: делать все поля optional; не проверять exhaustive case; смешивать несовместимые состояния.
Что хочет услышать интервьюер
discriminant
exhaustive checks
impossible states
читаемость
Пример: TypeScript example
type State = { status: 'loading' } | { status: 'success'; data: User };
Типичные ошибки
делать все поля optional
не проверять exhaustive case
смешивать несовместимые состояния


