Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Как архитектура FSD соотносится с принципами SOLID?

FSD (Feature-Sliced Design) и SOLID решают схожие задачи – создание понятного и масштабируемого кода. Основные параллели:

  1. Принцип единственной ответственности (SRP): Каждый слайс (фича) в FSD отвечает за одну область.
  2. Открытость/закрытость (OCP): FSD позволяет расширять функциональность без изменения существующего кода.
  3. Инверсия зависимостей (DIP): Слои FSD (shared, entities, features) зависят от абстракций, а не друг от друга.


 

Подробнее

Что такое FSD-архитектура? Какие слои использовали?

FSD делит проект на слои по бизнес-логике:

  1. App — инициализация, роутинг.

  2. Pages — страницы.

  3. Features — фичи (например, авторизация).

  4. Entities — бизнес-сущности (User, Product).

  5. Shared — UI-кит, утилиты.

Подробнее

Какие методологии организации проекта (FSD, Atomic Design) ты использовал? В чём их отличия?

Atomic Design — это методология дизайна, которая делит интерфейс на иерархические уровни: атомы (кнопка, инпут), молекулы (поисковая строка = инпут + кнопка), организмы (шапка сайта), шаблоны и страницы. FSD (Feature-Sliced Design) — это архитектурная методология для frontend-проектов, которая фокусируется на организации папок по бизнес-логике: она делит код на слои (app, pages, features, entities, shared). Ключевое отличие: Atomic Design — это про компоненты, а FSD — про всю структуру проекта, включая логику, состояния и API.

Подробнее

Как избежать циклических зависимостей в FSD?

Циклические зависимости в FSD возникают, когда модули из разных слоев или слайсов ссылаются друг на друга напрямую или косвенно, создавая замкнутый круг. Чтобы их избежать, нужно строго соблюдать направление зависимостей: от верхних слоев (shared, entities) к нижним (features, widgets, pages). Используйте инверсию зависимостей через абстракции (интерфейсы) или публичные API каждого слайса. Регулярно проверяйте проект с помощью линтеров (например, madge) для выявления циклов на ранних этапах.
Подробнее

Можно ли переиспользовать компоненты внутри одного слоя в FSD?

В FSD компоненты внутри одного слоя можно и нужно переиспользовать. Это одна из основных целей архитектуры — избегать дублирования кода. Например, кнопка из shared/ui может использоваться в нескольких виджетах. Однако переиспользование должно быть осмысленным и не нарушать границы слоёв. Компоненты не должны знать о деталях реализации других слоёв.
Подробнее

Какие архитектурные подходы используются во frontend-разработке и в чем суть Feature-Sliced Design?

Какие основные слои существуют в Feature-Sliced Design и за что они отвечают?

Как организована ответственность слоев в FSD?

Какие проблемы возникают при использовании FSD?

  • Рейтинг:

    4

  • Сложность:

    6

Во frontend-разработке используются различные архитектурные подходы, такие как MVC, MVVM, Flux (и его реализация Redux), а также модульные и компонентно-ориентированные архитектуры. Feature-Sliced Design (FSD) — это методология структурирования проекта, которая группирует код по бизнес-возможностям (фичам), а не по техническим слоям. Её суть в разделении приложения на изолированные, слабосвязанные модули (слои), такие как shared, entities, features, widgets, pages и app. Это улучшает переиспользование кода, упрощает навигацию по кодовой базе и снижает риск непреднамеренных зависимостей между несвязанными частями приложения.
Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Feature-Sliced Design делит приложение на несколько горизонтальных слоёв, каждый из которых имеет строго определённую зону ответственности. Основные слои: 'app' (инициализация приложения и глобальные настройки), 'pages' (композиция сущностей и фич для формирования страниц), 'features' (интерактивная логика, привязанная к предметной области), 'entities' (базовые бизнес-сущности, такие как User или Product), 'shared' (переиспользуемые технические компоненты и утилиты). Такое разделение позволяет управлять зависимостями (слои могут зависеть только от нижележащих) и упрощает навигацию по кодовой базе.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

В FSD каждый слой имеет строгую зону ответственности: shared содержит переиспользуемые утилиты, entities — бизнес-сущности, features — пользовательские сценарии, widgets — композиционные блоки, pages — страницы, app — глобальную конфигурацию. Слои могут импортировать только нижележащие, что обеспечивает单向 направление зависимостей и упрощает поддержку кода.
Подробнее
  • Рейтинг:

    3

  • Сложность:

    5

Feature-Sliced Design (FSD) — это методология организации фронтенд-архитектуры, которая делит проект на слои (app, pages, widgets, features, entities, shared). Основные проблемы: избыточная сложность для маленьких проектов, жесткая структура, которая может мешать быстрой разработке, и риск создания слишком большого количества абстракций. Также FSD требует строгой дисциплины в команде и может быть трудно внедрить в существующий проект.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    10

  • Рейтинг:

    2

  • Сложность:

    6

  • Рейтинг:

    2

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    5

  • Рейтинг:

    3

  • Сложность:

    4