Встречается на собеседованиях • сегодня
Какими принципами SOLID пользовался
SOLID — это 5 принципов ООП, которые помогают писать поддерживаемый и масштабируемый код:
-
Single Responsibility (SRP) — класс должен решать только одну задачу.
java// Плохо: класс и логирует, и сохраняет class UserManager { void saveUser(User user) { /*...*/ } void logSave(User user) { /*...*/ } } -
Open-Closed (OCP) — классы должны быть открыты для расширения, но закрыты для изменений.
javainterface Shape { double area(); } class Circle implements Shape { /*...*/ } // Новые фигуры добавляются без изменения кода
-
Liskov Substitution (LSP) — наследники должны заменять родительские классы без ошибок.
javaclass Bird { void fly() {} } class Penguin extends Bird {} // Нарушение LSP, т.к. пингвины не летают -
Interface Segregation (ISP) — много специализированных интерфейсов лучше одного общего.
javainterface Printer { void print(); } interface Scanner { void scan(); } // Разделяем вместо одного "MultiFunctionDevice" -
Dependency Inversion (DIP) — зависимости на абстракциях, а не на конкретных классах.
javaclass OrderService { private final PaymentGateway gateway; // Зависим от интерфейса OrderService(PaymentGateway gateway) { this.gateway = gateway; } }

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы