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

Используешь ли SOLID

Да, SOLID — это важные принципы проектирования в ООП, которые помогают писать поддерживаемый и масштабируемый код.

S (SRP) — класс должен иметь одну ответственность.

python
class User:
    def __init__(self, name):
        self.name = name

class UserDB:
    def save(self, user):
        print(f"Saving {user.name} to DB")

O (OCP) — код открыт для расширения, но закрыт для изменений. Используем абстракции.

python
from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):
        pass

class Circle(Shape):
    def area(self):
        return 3.14 * self.radius ** 2

L (LSP) — подклассы должны заменять родительские классы без ошибок.

I (ISP) — клиенты не должны зависеть от интерфейсов, которые они не используют.

D (DIP) — зависимости на абстракциях, а не на конкретных реализациях.

Применяю их там, где это оправдано, чтобы избежать жесткой связности и упростить тестирование.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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