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

Какие используешь принципы SOLID

**S**ingle Responsibility (единая ответственность) — класс/компонент должен решать одну задачу. Пример: ```jsx // Плохо: компонент и рендерит, и обрабатывает данные const UserProfile = ({ user }) => { const formattedData = processUserData(user); return
{formattedData}
; }; // Хорошо: разделение логики и представления const UserProfile = ({ formattedData }) =>
{formattedData}
; ``` **O**pen/Closed (открыт для расширения, закрыт для изменений) — расширяй функционал через композицию, а не правки кода. **L**iskov Substitution (подстановки Лисков) — наследники должны работать вместо родителя без сбоев. **I**nterface Segregation (разделение интерфейсов) — много специализированных интерфейсов лучше одного общего. **D**ependency Inversion (инверсия зависимостей) — зависимости от абстракций, а не конкретных реализаций. Пример: ```jsx // Плохо: жесткая привязка к API const UserService = () => fetch('/api/users'); // Хорошо: зависимость через интерфейс const UserService = (httpClient) => httpClient.get('/api/users'); ``` Во фронтенде чаще применяются **S**, **I**, **D**, особенно в компонентном подходе.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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