Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 137новых вакансий за сутки·64 958вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании5 953
РезюмеAIПодготовкаСтатьи
ТарифыТарифы
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 394 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python13 555
  • Облачные технологии9 649
  • QA вакансии2 810
  • Android1 650
  • Инженер данных1 068
  • Продакт-менеджер414

Разработка

  • Backend вакансии1 534
  • iOS1 533
  • AI вакансии749
  • Fullstack вакансии623
  • Frontend вакансии536
  • Mobile вакансии28

По стеку

  • Go7 558
  • Java4 778
  • Node.js1 528
  • Kotlin1 348
  • Rust1 252
  • .NET1 154
  • PHP506
  • C++327
  • C#314

DevOps и инфраструктура

  • Kubernetes5 503
  • Linux-инфраструктура4 223
  • DevOps вакансии4 089
  • Terraform / IaC3 059
  • Мониторинг и Observability1 414
  • CI/CD1 240
  • SRE411
  • Кибербезопасность61

Аналитика и данные

  • Аналитик данных612
  • Бизнес-аналитик572
  • Data Scientist528
  • Системный аналитик69

Другие направления

  • Проджект-менеджер147
  • UI/UX дизайн80
  • Ручное тестирование14

По регионам

  • Вакансии в США30 650
  • Вакансии в Европе12 551
  • Работа в России3 510
  • Вакансии в Канаде2 658

По формату

  • Удалённые вакансии48 186
  • Релокация в США30 650
  • Гибридная работа7 410
  • Офисная работа5 407

По уровню

  • Senior вакансии26 826
  • Middle вакансии12 754
  • Junior вакансии4 519

Сейчас нанимают

Все компании
  • Rakuten189 вакансий
  • Wise189 вакансий
  • ASML163 вакансии
  • Grab134 вакансии
  • Celonis47 вакансий
  • Spotify37 вакансий
  • Infobip28 вакансий
  • Adyen27 вакансий
  • Darktrace17 вакансий
  • Monzo17 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме scikit-learnВсе вопросы
scikit-learnSeniorОпыт

Какие ошибки делают команды, когда переносят notebook/prototype-подход на production data/AI pipeline?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Главные ошибки переноса notebook в production: preprocessing вне Pipeline (leakage), hardcoded пути и данные без версионирования, LabelEncoder без обработки unseen categories и отсутствие мониторинга drift после деплоя.

2. Preprocessing и pipeline

# Типичная ошибка из notebook:
import pandas as pd
from sklearn.preprocessing import LabelEncoder

df = pd.read_csv('data.csv')
le = LabelEncoder()
df['category_encoded'] = le.fit_transform(df['category'])  # fit на всём датасете

# В production появляется новая категория — KeyError или silent garbage output

# Правильно для production:
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OrdinalEncoder
import numpy as np

pipeline = Pipeline([
    ('encoder', OrdinalEncoder(
        handle_unknown='use_encoded_value',
        unknown_value=-1  # явная обработка новых категорий
    )),
])

Ошибки при переносе notebook/prototype в production pipeline

1. Данные и reproducibility

  • Нет версионирования данных: notebook работает с CSV из локальной папки. В production непонятно, на каких данных обучена модель. Решение: DVC или MLflow Datasets для трекинга входных данных.
  • Hardcoded paths: /Users/analyst/data/train.csv в коде. Решение: параметризация через конфигурационные файлы (Hydra, dynaconf) или переменные окружения.
  • Отсутствие data validation: notebook предполагает определённую схему данных. В production схема меняется — нужен Great Expectations или pandera для валидации входных данных.

3. Leakage, которого не видно в notebook

  • Feature engineering использует агрегаты по всему датасету (mean, std target encoding) — в production это будущие данные.
  • Удаление выбросов по статистике всего датасета до split.
  • Imputation missing values на полном датасете.

4. Модель как скрипт вместо сервиса

# Notebook-подход: скрипт, запускаемый вручную
model = pickle.load(open('model.pkl', 'rb'))
prediction = model.predict(X_test)
print(prediction)

# Production-подход: REST API через FastAPI
from fastapi import FastAPI
import joblib
import pandas as pd

app = FastAPI()
model = joblib.load('model.joblib')  # joblib лучше pickle для numpy arrays

@app.post('/predict')
def predict(features: dict):
    df = pd.DataFrame([features])
    prediction = model.predict(df)
    return {'prediction': int(prediction[0])}

5. Нет мониторинга и observability

  • В notebook смотрим на accuracy на test set — в production модель деградирует незаметно.
  • Нужны: логирование входных данных и предсказаний, PSI (Population Stability Index) для feature drift, мониторинг prediction distribution.

6. Зависимости и окружение

  • Notebook работает в Jupyter с conda install без фиксации версий. В production нужен requirements.txt с точными версиями или Poetry/pip-tools.
  • Разные версии scikit-learn в notebook и production — другие результаты predict.

Подводные камни

  • Переносить notebook cell-by-cell в Python скрипт без рефакторинга — глобальные переменные, отсутствие функций, no error handling.
  • Не тестировать pipeline на новых категориях / NaN / out-of-range значениях — notebook обычно работал с «чистыми» данными.
  • Использовать LabelEncoder для категориальных признаков в production — не обрабатывает unseen categories.
  • Не логировать версию модели вместе с предсказаниями — при инциденте невозможно понять, какая модель дала плохой результат.
  • Деплоить модель без A/B теста — резкий переход на новую модель без сравнения с production baseline.
  • Не настроить retraining pipeline — через 3 месяца данные дрейфуют, модель деградирует без обновления.
  • Хранить модель в git как бинарный файл — репозиторий раздувается, используйте MLflow Model Registry или S3.
  • Игнорировать inference time на production объёмах — то, что работало за 1 секунду в notebook на 1000 строк, занимает 5 минут на 1M строк.

Частые вопросы на собеседовании

  • В чём разница между train_test_split() и кросс-валидацией (cross_val_score)? Когда применять каждый из них?
  • Как работает Pipeline в scikit-learn и какие проблемы он решает (утечка данных — data leakage)?
  • Какие метрики применять для задачи классификации с несбалансированными классами и как их вычислить в scikit-learn?
  • Как обнаружить и предотвратить утечку данных (data leakage) при построении пайплайна в scikit-learn?

Что портит ответ

  • Говорить только о запуске scikit-learn, но не об эксплуатации
  • Не упоминать observability, обновления, безопасность и rollback
  • Описывать риски абстрактно, без способов их снижать

Что слушает интервьюер

  • Видит production-риски scikit-learn
  • Говорит про monitoring, rollout, rollback и безопасность
  • Умеет ранжировать риски по вероятности и влиянию

Как вы знаете этот вопрос?

Проверить себя по теме scikit-learn →
←Предыдущий вопросКак сравнить scikit-learn с альтернативами по качеству, скорости экспериментов, масштабированию, воспроизводимости и production-интеграции?Следующий вопрос→Объясните, как работает классификатор Random Forest и что контролируют параметры `n_estimators` и `max_depth`.

Связанные темы

scikit-learnproduction-readinesstechnical-communicationtechnology-selectiontrade-off-analysis