Встречается на собеседованиях • сегодня
Применял ли в работе принцип SOLID
SOLID — это набор принципов объектно-ориентированного проектирования, которые помогают создавать гибкий и поддерживаемый код.
1. **Single Responsibility** — компонент должен делать одну вещь. Например, разделяю логику и UI:
```jsx
// Плохо: компонент и логика вместе
function UserProfile() {
const [user, setUser] = useState(null);
useEffect(() => fetchUser().then(setUser), []);
return
{user?.name}
;
}
// Лучше: логика в хуке, компонент — только отрисовка
function useUser() { /* логика */ }
function UserProfile() {
const user = useUser();
return {user?.name}
;
}
```
2. **Open-Closed** — расширяемость без модификации. Использую композицию (HOC, render props).
3. **Liskov Substitution** — наследники должны заменять родителей. Актуально для TypeScript-интерфейсов.
4. **Interface Segregation** — узкие интерфейсы (например, пропсы компонента).
5. **Dependency Inversion** — зависимости через props/context, а не жесткие связи.
Во фронтенде чаще применяю SRP и DI, остальные — реже, т.к. JS/TS не чистый ООП.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы