Встречается на собеседованиях • сегодня
Работал ли с паттернами проектирования
Да, работал. В 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!")Также применял Наблюдатель, Стратегию, Адаптер в зависимости от задачи. Паттерны помогают писать более поддерживаемый и расширяемый код.

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