Команда Antifraud в VK Рекламе отвечает за устойчивость и качество рекламной экосистемы. Мы разрабатываем системы, которые в реальном времени выявляют фрод, аномалии и недобросовестное поведение на всех этапах рекламного цикла.
Ищем backend-инженера для развития платформы real-time антифрода. Предстоит строить высоконагруженные сервисы, обрабатывающие сотни тысяч запросов в секунду, с жёсткими требованиями ко времени ответа и доступности. В основе задач — обработка рекламных событий, вычисление поведенческих сигналов и применение правил и ML-моделей для принятия решений.
Задачи
- Проектировать и развивать backend-сервисы антифрод-платформы: от приёма событий до принятия решений в реальном времени
- Обеспечивать высокую пропускную способность и низкую задержку: находить узкие места, проводить нагрузочное тестирование, оптимизировать использование CPU, памяти и сетевых ресурсов
- Разрабатывать механизмы вычисления и хранения оперативных признаков, счётчиков и агрегатов на больших потоках событий
- Интегрировать ML-модели и антифрод-правила в обработку рекламных запросов, обеспечивать управляемое обновление и версионирование логики
- Проектировать отказоустойчивую обработку данных: учитывать повторные и запоздавшие события, перегрузки и недоступность зависимостей
- Развивать наблюдаемость сервисов: метрики, логи, трассировки и алерты; участвовать в разборе инцидентов
- Совместно с ML-инженерами и аналитиками внедрять новые механизмы выявления фрода и оценивать их влияние на рекламную систему
Требования
- Уверенное владение Go (Golang) и Python, опыт создания и эксплуатации высоконагруженных сервисов
- Опыт самостоятельного проектирования сервисов и API, понимание компромиссов между производительностью, надёжностью и сложностью сопровождения
- Хорошее понимание конкурентной обработки, многопоточности, сетевого взаимодействия и управления ресурсами
- Знание принципов распределённых систем: партиционирование, репликация, согласованность данных, идемпотентность и гарантии доставки событий
- Опыт работы с базами данных и кэшами, умение выбирать хранилище под профиль нагрузки и требования к задержкам
- Практический опыт работы с Kafka: проектирование топиков и партиций, настройка producers и consumers, понимание consumer groups и гарантий доставки событий
- Опыт работы с Redis для кэширования, хранения оперативных данных и счётчиков; понимание TTL, политик вытеснения и атомарных операций
- Практический опыт профилирования, нагрузочного тестирования и диагностики проблем в продакшене
- Опыт работы с Linux, Docker, Git, автоматизированным тестированием и CI/CD
Будет плюсом
- Опыт разработки систем с нагрузкой в сотни тысяч RPS и строгими требованиями к p95/p99 задержкам
- Опыт разработки на C++
- Опыт работы с YTsaurus для хранения и обработки больших объёмов данных
- Практика эксплуатации сервисов в Kubernetes
- Опыт интеграции ML-инференса и работы с MLOps-инфраструктурой
- Опыт разработки антифрод-систем, рекламных платформ, RTB-сервисов или систем принятия решений в реальном времени