Вернуться в видеотеку

🎧 Публичное собеседование #3: TypeScript, schema, state, MobX, fp, patterns

Публичное собеседование по TypeScript и frontend-архитектуре: типы, схемы валидации, динамические классы, MobX, BLoC и функциональный подход к состоянию.

Источник: Timur Shemsedinov

Открыть на YouTube

Таймлайн

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

Публичное техническое собеседование с разработчиком с коммерческим опытом менее года, который говорит о 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.

Рекомендуем посмотреть