Встречается на собеседованиях • сегодня

Какие принципы SOLID применял

1. **Single Responsibility (SRP)** Каждый компонент/класс должен решать одну задачу. Например, `Button` только рендерит кнопку, а логику клика выносим в проп `onClick`. 2. **Open-Closed (OCP)** Компоненты должны быть открыты для расширения, но закрыты для модификации. Используем композицию: ```jsx const withTooltip = (Component) => (props) => ( ); ``` 3. **Liskov Substitution (LSP)** Дочерние компоненты должны работать вместо родительских. Например, `PrimaryButton` и `SecondaryButton` оба расширяют базовый `Button`. 4. **Interface Segregation (ISP)** Не заставляем компоненты зависеть от ненужных пропсов. Разбиваем интерфейсы: ```ts interface BaseInputProps { value: string; } interface DateInputProps extends BaseInputProps { minDate?: Date; } ``` 5. **Dependency Inversion (DIP)** Зависим от абстракций (интерфейсов), а не конкретных реализаций. Например, `useApi` принимает общий клиент `HttpClient`, а не `Axios` напрямую. Примеры: React-компоненты, хуки, сервисы.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы