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

Работал ли с паттернами проектирования

Да, работал. В Python часто использую следующие паттерны:

Singleton – для создания единственного экземпляра класса:

python
class Singleton:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

Фабричный метод – для создания объектов без указания конкретного класса:

python
class Button:
    def render(self): pass

class WindowsButton(Button):
def render(self): return "Windows style"

class MacButton(Button):
def render(self): return "Mac style"

def create_button(os):
if os == "windows":
return WindowsButton()
elif os == "mac":
return MacButton()

text

**Декоратор** – для добавления функционала без изменения класса:
```python
def logger(func):
    def wrapper(*args, **kwargs):
        print(f"Calling {func.__name__}")
        return func(*args, **kwargs)
    return wrapper

@logger
def say_hello():
    print("Hello!")

Также применял Наблюдатель, Стратегию, Адаптер в зависимости от задачи. Паттерны помогают писать более поддерживаемый и расширяемый код.

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

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

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

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