intermediate

ORM и доступ к данным

Проектируйте persistence boundaries через ORM patterns, query builders, migrations, loading strategies, transactions и популярные TypeScript ORM tools.

На интервью по ORM и доступу к данным проверяют умение проектировать границы персистентности — а не знание API одной библиотеки. Сильные ответы сравнивают паттерны (Active Record, Data Mapper, repository, Unit of Work), стратегии загрузки, миграции, транзакции и компромиссы инструментов до упоминания Prisma или TypeORM.

Домен охватывает общие концепции, Mongoose для документов MongoDB, Prisma, Drizzle, MikroORM и TypeORM в TypeScript backend.

На интервью: для фичи объясните, где живёт код персистентности, как предотвращаете N+1, как безопасно выкатываете изменения схемы и когда яснее hand-written SQL или тонкий query layer.

Типовые ошибки: generic repository без формы use case; транзакция на каждый запрос; слепое доверие сгенерированным миграциям; document ORM «как реляционная БД».

Компромисс — скорость разработки и type safety против видимости SQL, операционной дисциплины и ясных доменных границ.

Чеклист:

  • Начинайте с паттернов доступа и инвариантов.
  • Назовите стратегию загрузки, миграций и транзакций.
  • Сравнивайте инструменты по стилю моделирования и ops-риску.
  • Углубляйтесь через дочерние темы по стеку.