Встречается на собеседованиях • сегодня
Какие применяешь принципы SOLID
**S**RP (Single Responsibility) — класс/компонент должен иметь одну причину для изменения.
**O**CP (Open-Closed) — сущности должны быть открыты для расширения, но закрыты для изменений.
**L**SP (Liskov Substitution) — подклассы должны заменять базовые классы без нарушения логики.
**I**SP (Interface Segregation) — много специализированных интерфейсов лучше одного общего.
**D**IP (Dependency Inversion) — зависимости должны быть на абстракциях, а не на конкретных реализациях.
Пример SRP в React:
```jsx
// Плохо: компонент и логика в одном месте
const UserProfile = ({ user }) => {
const formatName = () => `${user.name} (${user.age})`;
return ;
```
На фронтенде особенно важен ISP (например, разделение API-клиентов) и DIP (использование DI через контекст/провайдеры).
{formatName()}
;
};
// Хорошо: разделение ответственности
const FormattedName = ({ name, age }) => `${name} (${age})`;
const UserProfile = ({ user }) => 
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы