Вернуться в видеотеку🎧 Публичное собеседование #3: TypeScript, schema, state, MobX, fp, patterns
Публичное собеседование по TypeScript и frontend-архитектуре: типы, схемы валидации, динамические классы, MobX, BLoC и функциональный подход к состоянию.
- Направление
- Frontend
- Формат
- Техническое собеседование
- Длительность
- 24 мин
Коротко о видео
Публичное техническое собеседование с разработчиком с коммерческим опытом менее года, который говорит о TypeScript, React и мобильной разработке. Основная часть посвящена сужению типов через type guards и дискриминирующие поля, контрактам для динамически созданных классов, а также валидации данных после JSON-сериализации через схемы. В конце обсуждают BLoC, MobX, неизменяемое состояние, чистые функции и изоляцию side effects.
Затронутые темы
Что взять на заметку
- Для данных, пришедших после JSON-сериализации, одних TypeScript-типов недостаточно: на принимающей стороне нужна runtime-валидация через type guards, схемы или аналогичный механизм.
- Дискриминирующее поле с литеральным значением позволяет сузить union-тип по данным объекта; это не то же самое, что JavaScript property descriptor.
- Если фабрика динамически возвращает класс, с ним следует взаимодействовать через заранее описанный контракт/интерфейс; известные свойства можно выразить generic-параметрами.
- Схемы могут стать единым источником для runtime-валидации, API-контрактов, клиентской и серверной проверки и, по словам участника, даже структуры базы данных.
- Кандидат использует BLoC-подобную архитектуру в React и выбирает MobX за независимые store и автоматическое отслеживание изменений; это его практический опыт, а не универсальная рекомендация.
- Неизменяемые обновления состояния помогают избегать неконсистентных промежуточных состояний и подталкивают код к чистым функциям; сетевые запросы и доступ к БД остаются контролируемыми side effects.