Перейти к содержанию

Интервью Meta ML Engineer

~5 минут чтения

Предварительно: System Design паттерны, Поведенческие вопросы

Meta (ex-Facebook) нанимает 2000+ ML-инженеров ежегодно с acceptance rate около 5%. Процесс длится до 4 месяцев и включает 6 этапов, причем system design весит вдвое больше coding (2 раунда против 2). Ключевая особенность: все решения должны масштабироваться до 3.9 млрд пользователей (Facebook + Instagram + WhatsApp). По данным Glassdoor, средняя оценка сложности интервью -- 3.8/5, при этом 26+ уникальных вопросов регулярно обновляются.

URL: Glassdoor, Reddit r/cscareerquestions, interview prep sites Тип: interview guide Дата: 2025-2026 Авторы: Aggregate from candidate experiences

Ключевые идеи

Процесс (6 stages, до 4 месяцев)

  1. Initial recruiter screen -- базовый скрининг
  2. 2 coding interviews -- LeetCode medium (40 min)
  3. 2 system design rounds -- ML system design
  4. 1 behavioral interview -- STAR method
  5. Иногда product sense -- design thinking

Coding (LeetCode Medium)

Примеры задач: - BFS binary tree traversal - Weighted nested list sum - Standard DSA: Arrays, Trees, Graphs, Hashing, DP

Паттерны: - 40 минут на задачу - Medium difficulty (не easy, не hard) - Tree/graph traversal часто встречаются

System Design (2 раунда!)

Темы: - Scaling recommendation systems - Trade-offs между ML подходами - Architecture design для ML systems - Real-time inference optimization - Feature store integration - A/B testing infrastructure

Ключевые вопросы: - "Design a recommendation system for Instagram" - "How to scale ML inference to millions of requests" - "Trade-offs: online vs batch learning"

Behavioral

Вопросы: - "Tell me about yourself" - "Why Meta?" - "Tell me about your current project" - "Conflict resolution in teams"

Meta values (готовить истории по этим): - Move Fast (быстрые итерации) - Be Open (прозрачность) - Built for Long Term (масштабируемость) - Focus on Impact (метрики)

Формулы и математика

Capacity Planning

\[ \text{Total Capacity} = \frac{\text{Requests}}{\text{Time}} \times \text{Service Factor} \]
\[ \text{Storage} = \text{Model Size} \times \text{Replicas} \times \text{Redundancy Factor} \]

QPS estimation

\[ \text{QPS} = \text{DAU} \times \text{Requests per User} / 86400 \]

Связанные работы

Мои заметки

Critical для Meta: 1. System design важнее coding -- 2 раунда vs 2 coding 2. Scale thinking -- все решения должны масштабироваться до миллиардов пользователей 3. Trade-offs awareness -- знать pros/cons каждого подхода 4. Product sense -- понимать Meta products (Instagram, WhatsApp, Facebook)

Готовиться к: - Recommendation system design (priority #1) - Ads targeting system - Content moderation pipeline - Real-time vs batch processing trade-offs - Feature engineering at scale

Resources: - Glassdoor: 26+ Meta ML Engineer questions - Reddit r/cscareerquestions -- свежие отчеты (июнь 2025) - LeetCode tags: #meta, #facebook

Gap remaining: - [ ] Конкретные system design case studies от Meta - [ ] Instagram/WhatsApp architecture specifics - [ ] Meta-specific ML infrastructure (Pelican, PyTorch extensions)

Заблуждение: Meta = только LeetCode Hard

На coding-раундах Meta задает LeetCode Medium (не Hard). 40 минут на задачу. Кандидаты, которые решали только Hard, часто проваливаются на чистоте кода и edge cases в Medium-задачах. Meta оценивает не сложность, а скорость + чистоту.

Заблуждение: system design = нарисовать архитектуру

В Meta 2 раунда system design из 5 -- это 40% оценки. Интервьюеры ожидают back-of-the-envelope расчеты (QPS = DAU * RPU / 86400), конкретные числа (p99 latency < 100ms), и обоснование каждого выбора технологии. «Redis для кэша» без объяснения TTL-стратегии и cache invalidation -- красный флаг.

Заблуждение: behavioral -- формальность, можно не готовить

Meta отсеивает 15-20% кандидатов на behavioral. Нужны конкретные истории по STAR, привязанные к 4 ценностям Meta (Move Fast, Be Open, Built for Long Term, Focus on Impact). Абстрактное «я умею работать в команде» -- провал.

Интервью

"Design a recommendation system for Instagram Explore"

❌ «Берем collaborative filtering, делаем матрицу user-item, считаем SVD.»

✅ «Clarification: Instagram Explore обслуживает 500M+ MAU, нужен recall > 0.3 при latency < 200ms. Pipeline: (1) Candidate generation -- ANN поиск через FAISS по user embedding из 1M+ items, сужаем до 1000 кандидатов за <50ms. (2) Scoring -- двухбашенная модель (user tower + item tower) с features: user history, item metadata, context (time, device). (3) Ranking -- LambdaMART оптимизирует NDCG с учетом engagement signals (likes, saves, shares). (4) Re-ranking -- diversity constraint (не более 3 постов от одного автора), freshness boost. A/B testing: shadow mode 1%, потом 5%, потом 50% split. Monitoring: CTR, time-spent, bounce rate с alerting на drift > 2 sigma.»

"Why Meta? Расскажите о проекте, где вы показали impact"

❌ «Meta -- крутая компания, хочу работать с ML на масштабе. В прошлом проекте сделал модель с accuracy 95%.»

✅ «(STAR) Situation: В [компания], рекомендательная система показывала CTR 2.1% при бенчмарке 3%. Task: Увеличить engagement без роста latency. Action: Провел анализ -- проблема в cold start для новых пользователей. Внедрил hybrid approach: content-based для новых (первые 10 сессий) + collaborative filtering для established. Запустил A/B test на 15% трафика. Result: CTR вырос до 3.4% (+62%), latency увеличился только на 12ms (с 45 до 57ms). Это резонирует с Meta Move Fast -- итерация за 3 недели, и Focus on Impact -- метрика, а не технология.»

"Trade-offs: online vs batch inference для Ads ranking"

❌ «Online лучше, потому что более точный. Batch -- устаревший подход.»

✅ «Зависит от latency SLO и freshness requirements. Ads ranking в Meta обрабатывает 10M+ QPS -- чистый online inference на таком масштабе дорог. Hybrid: batch pre-compute embeddings и coarse ranking (обновление каждые 15 min), online -- final ranking с fresh features (last click, session context). Trade-off: batch снижает cost на 70%, но fresher features дают +5% revenue. Решение: tiered approach -- top-1000 advertisers получают full online, остальные batch+online reranking. Monitoring: compare online vs batch predictions, alert если divergence > 10%.»