Собеседование на ML Engineer в F.A.C.C.T.
Содержание:
Почему F.A.C.C.T. — особенный работодатель для MLE
F.A.C.C.T. — российская cybersecurity-компания, образованная как российская часть бизнеса Group-IB в 2023 году после регуляторного разделения международного бизнеса. На рынке российской кибербезопасности — один из лидеров в anti-fraud и threat intelligence для банков, фин-сервисов, государственных предприятий. Полный продуктовый портфель: Anti-Fraud (защита банковских транзакций), Threat Intelligence (сбор и анализ киберугроз), Attack Surface Management (мониторинг внешнего периметра). Для ML-инженера это работа в продвинутом security-домене с серьёзной R&D-составляющей.
ML-системы: anti-fraud scoring транзакций (для банков-клиентов), malware classification (детекция вредоносных файлов через ML), threat detection в логах и трафике, network anomaly detection, NLP для threat intelligence (extraction IoC из dark web, форумов, отчётов). Особенность F.A.C.C.T. — продукты продаются крупным корпоративным клиентам, что обязывает к высокому качеству и низкой ложно-положительной нагрузке.
Стек: Python + Catboost для табличных задач + PyTorch для нейросетей (NLP для threat intel, CV для malware analysis) + K8s для deployment + Spark для тяжёлых ETL + ClickHouse как аналитический движок + MLflow для трекинга экспериментов.
Актуальные вакансии — на hh.ru и сайте F.A.C.C.T.
Информация основана на публичных источниках и опыте кандидатов. Команды F.A.C.C.T. используют разные процессы — уточняйте у рекрутера.
Этапы собеседования
Цикл занимает 3-4 недели и включает 5-6 этапов. F.A.C.C.T. — серьёзная security-компания с инженерной культурой. Упор на production ML, anti-fraud и adversarial устойчивость.
1. HR-скрининг (30-45 минут)
Рекрутер проверяет фон: production-опыт ML, cybersecurity / fintech anti-fraud background — большой плюс. Готовь питч на 90 секунд: проекты, бизнес-эффект, стек. Если работал в anti-fraud, security, threat intelligence — упомяни сразу.
2. ML-теория (60-90 минут)
Базовая секция с ведущим ML-инженером. Темы: градиентный бустинг (CatBoost), anti-fraud / scoring (class imbalance, calibration, threshold optimization), adversarial ML (защита моделей от targeted attacks), feature engineering для security signals. Будь готов рассказать про concept drift в security.
Подготовка: ML-теория.
3. Python live coding (60 минут)
Live-кодинг: 1-2 задачи на алгоритмы (LeetCode Medium), плюс задача на ML-pipeline — функция для расчёта precision-recall trade-off, sliding window для аномалий, отладка чужого кода. Готовиться по LeetCode минимум 3-4 недели.
Подготовка: Python для DS.
4. ML System Design (90 минут)
Кейсовая секция. Кейсы уровня «спроектируй anti-fraud scoring pipeline для банка», «malware classifier на основе static features», «threat detection в трафике». Нужно: уточнить бизнес-метрику, описать архитектуру, выбрать модели, продумать adversarial устойчивость, A/B-план.
Подготовка: MLOps, Model serving, Feature stores.
5. Production / scale (60 минут)
Секция про инфраструктуру: K8s deployment, low-latency inference (для anti-fraud — миллисекунды), мониторинг с учётом adversarial drift. Кейсы про инциденты, false positive avalanche.
Подготовка: Monitoring drift, Deployment strategies.
6. Поведенческое (45 минут)
С тимлидом. STAR-формат: конфликт с продактом, факап с моделью, спор по архитектуре. F.A.C.C.T. ценит инженерную аккуратность, security mindset, R&D-настрой.
Особенности по командам
Anti-Fraud. Anti-fraud scoring для банков-клиентов: real-time классификация transactions. Команда работает с CatBoost + sequence models, борется с adversarial условиями. Подойдёт MLE с anti-fraud background в banking.
Threat Intelligence. Сбор и обогащение IoC (Indicators of Compromise) из открытых и закрытых источников, включая dark web. NLP для extraction из отчётов и форумов, классификация malware-семейств. Подойдёт MLE с NLP и interest в threat intel.
Attack Surface Management. Мониторинг внешнего периметра клиентов: какие сервисы exposed, какие vulnerabilities. ML для priority scoring уязвимостей, классификации сервисов. Подойдёт тем, у кого опыт с DevSecOps.
Malware analysis. Детекция вредоносных файлов через ML на статических features (PE headers, strings, imports), CV-модели на binary visualizations, behavior-classification в sandbox. Подойдёт тем, у кого CV / file analysis background.
Network detection. Anomaly detection в сетевом трафике, классификация типов атак. ML на flow-данных. Подойдёт тем, у кого опыт network security.
Что F.A.C.C.T. ценит в MLE
Production ML. Базовое требование. Слабый — «делал на Kaggle»; сильный — «anti-fraud модель на live transactions, precision=0.93 при recall=0.85, deploy через K8s, p99 latency 40 мс».
Security / anti-fraud context. Понимание особенностей security ML: class imbalance, adversarial условия, importance of explainability. Если в security не работал — изучи блоги Group-IB, CrowdStrike, Cylance.
Adversarial ML. Знание о защите моделей от атак: feature poisoning, evasion attacks. Слабый — «обучил классификатор»; сильный — «использовал adversarial training, regularly retrain с feedback loop».
K8s + low-latency. Без low-latency сложно. Сильный — «использовал ONNX для inference, batching, оптимизацию через quantization».
Catboost / PyTorch / Python. Стандарт. Без свежей практики не пройдёшь.
Как готовиться: план
За 6-8 недель до собеседования:
- Неделя 1-2 — Python + ML + scoring. LeetCode Medium 30+ задач, anti-fraud scoring, class imbalance, anomaly. Параллельно прорешай вопросы по Python, ML и SQL в Карьернике: 1500+ задач с разбивкой по темам, по 10-15 минут в день закрывают пробелы перед собесом. Python для DS, ML-теория.
- Неделя 3 — K8s + Docker. Подними хотя бы 1 модель в K8s с low-latency.
- Неделя 4 — MLOps + feature stores. MLOps, Feature stores.
- Неделя 5 — System design + security ML. Кейсы anti-fraud, malware, threat detection. Model serving.
- Неделя 6 — Monitoring + deployment. Drift, canary. Monitoring drift.
- Неделя 7-8 — Mocks + behavioral. Mock-интервью, 5-7 STAR-историй.
Частые ошибки
Без security / anti-fraud domain. Кандидат говорит «у меня e-commerce» — на System Design отвалится. Сильный — «изучил security mindset, понимаю false positive cost, attack lifecycle».
Без adversarial ML. Кандидат говорит «обучил классификатор» — без защиты. Сильный — «использовал adversarial training, regularly retrain с feedback от аналитиков».
Без K8s. «Деплоил через docker-compose» — слабо. Сильный — «деплоил через K8s с low-latency requirements, использовал ONNX».
Только notebook. Кандидаты с Jupyter-only валятся. Сильный — «свои проекты переписал в виде пакетов с тестами».
Без production опыта. «У нас была модель» — не история. Сильный — «anti-fraud на 50TB логов в день, p99 < 100ms, поборол false positive avalanche через recalibration».
Связанные темы
- Собеседование на ML Engineer
- MLOps
- Feature stores
- Model serving
- Monitoring и drift
- Deployment strategies
FAQ
Удалёнка в F.A.C.C.T. для MLE?
Гибрид и удалёнка распространены. Офисы — в Москве.
Зарплатные вилки 2026?
Middle MLE: 290-440k. Senior: 440-660k.
Английский нужен?
Базовый — желательно (документация, статьи). Свободный — не обязателен для большинства команд.
Сколько этапов?
5-6 этапов, 3-4 недели.
Это официальная информация?
Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера.