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

Какие знаешь паттерны проектирования

В Data Science часто используются следующие паттерны:

  1. Фабрика (Factory) - создание объектов без указания точного класса. Например, создание разных моделей ML:
python
class ModelFactory:
    def get_model(self, model_type):
        if model_type == "random_forest":
            return RandomForestClassifier()
        elif model_type == "svm":
            return SVC()
  1. Стратегия (Strategy) - инкапсуляция алгоритмов для взаимозаменяемости:
python
class PreprocessingStrategy:
    def process(self, data):
        pass

class Normalization(PreprocessingStrategy):
    def process(self, data):
        return (data - data.mean()) / data.std()
  1. Наблюдатель (Observer) - для мониторинга обучения моделей:
python
class TrainingObserver:
    def update(self, epoch, loss):
        print(f"Epoch {epoch}, Loss: {loss}")
  1. Декоратор - добавление функциональности (логирование, тайминг):
python
def log_time(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        print(f"Time: {time.time() - start}s")
        return result
    return wrapper

Также полезны: Адаптер (для интеграции разных библиотек), Фасад (упрощение сложных API), Одиночка (для глобальных конфигов).

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

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

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

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