Встречается на собеседованиях • сегодня
Придерживаешься ли паттернов проектирования
Да, паттерны проектирования помогают создавать более гибкий, поддерживаемый и масштабируемый код. В Python часто используются следующие паттерны:
- Singleton – гарантирует единственный экземпляр класса:
python
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance- Фабричный метод – делегирует создание объектов подклассам:
python
from abc import ABC, abstractmethod
class Creator(ABC):
@abstractmethod
def factory_method(self):
pass
class ConcreteCreator(Creator):
def factory_method(self):
return ConcreteProduct()
class Product(ABC):
@abstractmethod
def operation(self):
pass- Наблюдатель – реализует механизм подписки и уведомлений:
python
class Subject:
def __init__(self):
self._observers = []
def attach(self, observer):
self._observers.append(observer)
def notify(self):
for observer in self._observers:
observer.update(self)Использование паттернов зависит от контекста. Иногда простой код без паттернов предпочтительнее, чтобы избежать избыточности.

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