Skip to content

Вопросы на собеседовании: ML-инженер

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Senior.

Смотреть пример резюме: ML-инженер

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

neural-netsgradient-boostingchurn

Я бы начал с LightGBM, потому что это табличные данные средней ширины, а latency budget поощряет сильный и дешёвый baseline.

  • Используется time-based split, native handling пропусков и categorical encodings, обученные только на training folds; отчёт включает PR-AUC и recall при мощности retention-команды.
  • Модель из 1 000 деревьев часто выдаёт score за 1-3 мс на CPU, оставляя место для feature lookup внутри 10 мс.
  • Neural model стоит тестировать, только если error analysis показывает обучаемые high-order interactions или embeddings дают прирост PR-AUC, оправдывающий latency и tuning cost.

Зачем это спрашивают: Интервьюер проверяет, сопоставляет ли кандидат класс модели с формой данных, целью оценки и конкретным serving constraint.

designlatency

Я бы использовал два этапа: дешёво получил несколько сотен candidates, затем rerank с богатым контекстом пользователя и товара.

  • Item embeddings вычисляются заранее, а ANN index вроде ScaNN или FAISS получает около 500 candidates за 20 мс.
  • Компактная ranking model оценивает эти 500 менее чем за 45 мс, 20 мс остаётся features и 35 мс сети и tail variance.
  • Оцениваются retrieval recall@500, ranking NDCG@20, catalog coverage и online click или conversion lift, потому что хороший reranker не вернёт потерянные candidates.

Зачем это спрашивают: Сильный ответ раскладывает качество и задержку рекомендаций на измеримые retrieval и ranking stages.

architecture

Я бы начал с MobileNetV3 или EfficientNet-Lite и оптимизировал её на целевом телефоне, а не вслепую уменьшал server model.

  • Training идёт на минимальном resolution, сохраняющем нужные классы, а export содержит только operators, поддерживаемые Core ML или TensorFlow Lite.
  • INT8 quantization проверяется на representative calibration set с измерением model size, top-1 accuracy, p95 latency, memory и battery use на слабых устройствах.
  • Если INT8 теряет больше 1 пункта, применяется quantization-aware training или distillation от крупного teacher до увеличения архитектуры.

Зачем это спрашивают: Интервьюер оценивает, выбираются ли архитектура и compression по реальным ограничениям устройства, качества и размера.

Я бы сравнил TF-IDF linear model и небольшой distilled transformer до выбора полного BERT.

  • Linear baseline даёт понятные per-label errors и обрабатывает больше 1 млн tickets в день внутри 15 мс на CPU.
  • DistilBERT или MiniLM оправдан, только если macro-F1 редких intent labels растёт заметно, например с 0,71 минимум до 0,76.
  • Full BERT плох как default, если требует GPU serving ради неприменимого прироста; я сравню cost per million tickets вместе с F1.

Зачем это спрашивают: Сильный ответ не выбирает transformer по умолчанию и задаёт прирост качества, необходимый для его стоимости.

Я бы использовал global model, потому что общие сезонные и товарные сигналы дают sparse series больше статистической силы.

  • Backtest делается rolling origins за последние 12 недель с weighted quantile loss по объёму и cold-start cohort.
  • Product ID embeddings, price, promotion, calendar и stock status позволяют одному LightGBM, DeepAR или Temporal Fusion Transformer делить patterns между рядами.
  • Seasonal-naive forecasts остаются fallback, а global model отклоняется, если не превосходит их на low-history products и aggregate inventory cost.

Зачем это спрашивают: Интервьюер проверяет, определяют ли масштаб sparse series и business-weighted backtesting выбор global или local models.

design

Я бы дал быстрой модели отвечать на уверенных примерах, а медленную вызывал только для uncertain cases.

  • Fast model калибруется, а два confidence thresholds выбираются на validation data так, чтобы escalated traffic составлял около 20%.
  • Ожидаемое model time равно 2 мс плюс 0,20 умножить на 45 мс, то есть 11 мс без routing overhead.
  • Оцениваются end-to-end accuracy, escalation по cohorts, p99 latency и cost; distillation может быть проще, если slow path создаёт нестабильные хвосты.

Зачем это спрашивают: Сильный ответ превращает cascade в явный расчёт качества, route rate и latency.

ensemblesinference

Я бы выпустил ensemble, только если дополнительные 4 пункта recall покрывают стоимость, а модели действительно ошибаются по-разному.

  • Измеряются pairwise error correlation и recall при одинаковой мощности false-positive review, а не три headline AUC.
  • Parallel и sequential execution проверяются против p99 budget, а также считается стоимость каждого дополнительного предотвращённого fraud case.
  • Если ensemble полезен, но дорог, его soft outputs distill в одного student с требованием recall в пределах 1 пункта от 82%.

Зачем это спрашивают: Интервьюер оценивает, оправдывают ли ensemble diversity и marginal business value системную стоимость.

classification

Я бы протестировал shared encoder с task-specific heads, потому что малые tasks могут выиграть от задачи с 10 млн labels.

  • Tasks сэмплируются явно, чтобы крупнейший dataset не доминировал каждый update, а loss weights настраиваются по gradient scale и validation behavior.
  • Каждая task сравнивается со single-task baseline, особенно на negative transfer для labels с конфликтующим смыслом.
  • Отдельные модели сохраняются, если две tasks теряют больше согласованного guardrail 1 F1 point или требуют несовместимых serving cadences.

Зачем это спрашивают: Сильный ответ рассматривает multi-task learning как измеримый transfer с рисками sampling и negative transfer.

supervisedclassification

Я бы использовал supervised learning там, где labels покрывают нужные failure modes, а anomaly detection для новых или неразмеченных отклонений.

  • Time-based test set содержит все подтверждённые failures и representative normal operation, а отчёт показывает recall при фиксированном daily alert budget вместо accuracy.
  • Gradient-boosted trees изучают известные failure modes с cost-sensitive loss, а autoencoder или isolation forest предлагает незнакомые cases для review.
  • Hybrid route направляет на inspection высокий supervised risk или anomaly score, но thresholds калибруются под capacity команды, например 200 alerts в день.

Зачем это спрашивают: Интервьюер проверяет, определяют ли label coverage и review capacity стратегию моделирования редких failures.

probability

Я бы ранжировал по incremental treatment effect, потому что высокая purchase probability не доказывает, что покупку вызвала скидка.

  • На eligible holdout выполняется randomization, а uplift model обучается на treatment, outcome и pre-treatment features без post-offer leakage.
  • Оцениваются uplift или Qini curves и incremental profit в top 5% с учётом discount cost, а не ROC-AUC.
  • При слабом overlap или малом experiment используется сама randomized policy вместо нестабильной observational estimate, выдаваемой за causal.

Зачем это спрашивают: Сильный ответ отделяет prediction от intervention и связывает оценку с incremental profit.

batchhardware

Effective batch равен 4 096 примерам, поэтому я проверю optimization на таком batch до принятия throughput gain.

  • Расчёт: 32 GPU умножить на 64 примера и на 2 accumulated microbatches на optimizer step.
  • DDP усредняет gradients между ranks, а loss normalization, clipping и learning-rate schedule двигаются по optimizer step, не microbatch.
  • Я протестирую linear learning-rate scaling с warm-up, затем сравню time to target validation score, потому что 32x hardware редко даёт 32x полезную convergence.

Зачем это спрашивают: Интервьюер проверяет конкретную batch arithmetic и её влияние на optimization semantics.

nlp

Plain DDP недостаточно, потому что каждый rank держал бы около 208 ГБ mixed-precision parameters, gradients и AdamW state ещё до activations.

  • DDP повторяет это состояние на каждой GPU, поэтому один activation checkpointing не поместит его в 80 ГБ.
  • PyTorch FSDP FULL_SHARD или ZeRO-3 распределяет parameters, gradients и optimizer state по 64 ranks.
  • Я оберну transformer blocks, использую BF16 и сравню all-gather overhead и tokens per GPU-second, а не выберу maximum sharding без измерений.

Зачем это спрашивают: Сильный ответ выводит выбор parallelism из памяти model state и называет добавленную communication cost.

Я бы оставил communication-heavy tensor parallelism внутри каждого NVLink-узла из восьми GPU, а data или pipeline parallelism использовал между узлами.

  • 8-way tensor-parallel group не отправляет collectives каждого layer через более медленный inter-node fabric.
  • Pipeline stages добавляются, только если один узел не вмещает свою группу layers, с достаточными microbatches для pipeline bubble ниже 10%.
  • Candidate layouts сравниваются по peak memory, tokens per second, exposed collective time и validation parity при одинаковом global batch.

Зачем это спрашивают: Интервьюер оценивает, определяют ли hardware topology и частота communication схему parallelism.

batchoptimizationconfig

Я бы накопил восемь microbatches, потому что 32 умножить на 8 и на 8 равно нужному global batch 2 048.

  • Loss каждого microbatch делится на восемь перед backward или accumulated gradients усредняются ровно один раз.
  • Gradient clipping, optimizer step, EMA и learning-rate schedule выполняются после восьмого microbatch, а DDP synchronization пропускается для первых семи.
  • Я проверю BatchNorm и stochastic-layer behavior, потому что accumulation совпадает по размеру gradient, но не по всем операциям physical batch 2 048.

Зачем это спрашивают: Сильный ответ правильно считает accumulation и сохраняет optimizer и synchronization semantics.

scalingbatchoptimization

Я бы считал linear scaling стартовой гипотезой и перенастроил warm-up и число optimizer steps по validation quality.

  • Рост batch в 16 раз допускает trial learning rate до 16x для SGD, но Adam часто требует меньшего роста и явного stability sweep.
  • Epoch-based schedules теперь содержат в 16 раз меньше optimizer steps, поэтому warm-up, decay, EMA и checkpoint intervals задаются в updates или tokens.
  • Сравниваются time и GPU-hours до одинаковой validation target, потому что быстрые epochs бесполезны при потере generalization или дополнительных data passes.

Зачем это спрашивают: Интервьюер проверяет, учитывает ли batch scaling поведение optimizer и изменившееся число updates.

precisionnlp

Я бы выбрал BF16, потому что exponent range уровня FP32 устраняет большинство loss-scaling failures при сохранении tensor-core throughput.

  • Optimizer statistics, отдельные reductions и численно чувствительная normalization остаются в FP32.
  • Step time, peak memory, non-finite gradients и validation loss сравниваются минимум за полный schedule, а не на speed sample 100 steps.
  • FP16 остаётся разумным, только если dynamic loss scaling устраняет 0,4% failures без skipped updates или quality loss.

Зачем это спрашивают: Сильный ответ связывает numeric format с наблюдаемой stability, hardware support и выборочными FP32 operations.

hardware

Я бы уменьшил exposed communication и улучшил overlap до добавления GPU.

  • Профилируются gradient bucket readiness и NCCL link throughput, чтобы отличить poor overlap, tiny collectives, topology placement и slow rank.
  • Тестируются larger microbatches, gradient accumulation, BF16 collectives и bucket sizes с overlap reduction и backward.
  • Изменение принимается только при росте tokens per GPU-second и улучшении time to target quality, с целью collective time ниже 20% step.

Зачем это спрашивают: Интервьюер оценивает, управляется ли all-reduce tuning timeline evidence и полезной scaling efficiency.

Я бы изменил форму и кеширование input path, чтобы storage устойчиво давал минимум 50 ГБ/с с запасом до дальнейшего scale compute.

  • Примеры упаковываются в immutable sequential shards по 1-4 ГБ вместо миллионов small files, с достаточным числом shards для независимого sampling ranks.
  • Shards заранее читаются на node-local NVMe с parallel decoding, pinned memory и asynchronous host-to-device copy.
  • Измеряются remote throughput, cache hit rate, decode time и dataloader wait, который должен быть ниже 10% step time на финальном dataset.

Зачем это спрашивают: Сильный ответ сопоставляет file layout, cache и preprocessing capacity числовой потребности GPU во входе.

hardware

Я бы писал sharded checkpoint асинхронно и публиковал его только после надёжной записи всех обязательных shards.

  • Model, optimizer, scheduler, scaler, RNG, sampler position и completed global step сохраняются с checksums под одним generation.
  • Каждый rank пишет на local NVMe и загружает multipart objects в S3, пока training продолжается из immutable state snapshot.
  • Manifest становится видимым после завершения всех shards, а restore тестируется на supported world sizes с проверкой subsequent loss и sample order.

Зачем это спрашивают: Интервьюер проверяет, охватывает ли distributed checkpoint полное состояние, atomic publication, pause budget и tested restore.

hyperparametershardware

Я бы использовал early-stopping search с жёстким GPU-hour budget вместо полного training фиксированного числа trials.

  • Начинаются 40-80 random или Bayesian trials по conditional ranges с оценкой на сопоставимых token или step milestones.
  • Ray Tune ASHA останавливает слабые trials и продвигает лучшие, а concurrency остаётся ниже насыщения storage и dataloader.
  • Около 20% budget резервируется на repeated seeds и final retraining, затем выбор один раз проверяется на untouched test set.

Зачем это спрашивают: Сильный ответ превращает ограниченный compute в надёжный model selection, а не максимальное число trials.

Закрытые вопросы

  • 21

    Recommender обучается на 2 млрд interactions и 50 млн items. Как сэмплировать negatives без смещения evaluation?

  • 22

    У recommender embedding table 200 ГБ и 8 GPU по 80 ГБ. Как её разместить и обновлять?

    nlp
  • 23

    FP32 vision model занимает 380 МБ, работает 42 мс и даёт top-1 87,6%. Цель меньше 120 МБ и 25 мс при потере до 0,5 пункта. Что пробовать первым?

  • 24

    INT8 post-training quantization снижает latency с 28 до 16 мс, но F1 редких классов падает с 0,91 до 0,86. Что дальше?

    latencymodel-compression
  • 25

    Teacher на 1,2 млрд parameters даёт accuracy 89%, но serving требует модель меньше 150 млн parameters и 20 мс. Как distill?

    model-serving
  • 26

    Unstructured pruning удаляет 70% weights, но latency меняется с 24 до 23 мс. Почему и что делать вместо этого?

    latencymodel-compression
  • 27

    Одна PyTorch-модель должна обслуживаться на x86 CPU, NVIDIA GPU и иногда ARM. Стандартизировать ONNX Runtime или TensorRT?

    serving-runtimeshardwarepytorch
  • 28

    У transformer 24 layers, но latency нужно снизить на 35% с потерей не больше 1 F1 point. Удалять layers или уменьшать hidden width?

    nlplatency
  • 29

    Torch compilation улучшает fixed-shape throughput на 30%, но inputs имеют от 32 до 2 048 tokens. Как сохранить gain?

    tokensthroughput
  • 30

    Нужна модель в 4 раза меньше и с latency в 2 раза ниже при потере accuracy до 1 пункта. Как сочетать compression methods?

    latency
  • 31

    Edge speech model должна использовать меньше 40 МБ RAM, обрабатывать frame 20 мс в real time и работать offline. Как оптимизировать?

    optimizationconcurrency
  • 32

    Спроектируйте synchronous inference на 50 000 RPS с p99 60 мс, если feature lookup занимает 12 мс, а model execution 18 мс p99.

    designinferencelatency
  • 33

    GPU-модель должна выдерживать 8 000 predictions per second при p99 ниже 40 мс. Как настроить dynamic batching?

    latencyhardwarebatch
  • 34

    Embedding endpoint получает 100 000 RPS, а 65% normalized texts повторяются в течение часа. Как его кешировать?

    nlpendpointsnormalization
  • 35

    Search system имеет p99 80 мс для retrieval и rerank результатов из 200 млн документов. Как разделить budget?

    system-designlatency
  • 36

    Classifier работает 7 мс на CPU replica за $0,20/час и 2 мс на GPU replica за $1,80/час. Traffic 300 RPS. Что выбрать?

    replicationhardware
  • 37

    Conversational model может переиспользовать 2 ГБ session state на active user и должна поддерживать 1 000 concurrent sessions. Оставить stateful?

    sessionsconcurrency
  • 38

    Нужно обслуживать 200 малых моделей по 500 МБ на 8 GPU с 40 ГБ memory. Как управлять model residency?

    memory
  • 39

    Десяти миллионам пользователей нужны daily risk scores, но 2% требуют request-time context менее 100 мс. Использовать один serving mode?

    model-serving
  • 40

    Нужны rolling purchase features за 30 дней для 500 млн пользователей по 20 млрд events. Как их считать?

  • 41

    У categorical feature 30 млн значений, большинство встречается меньше пяти раз. Как кодировать?

  • 42

    Ranking model нужны click counts за 5 минут, 1 час и 7 дней при 60 000 RPS. Как построить features?

  • 43

    Нужно переиндексировать embeddings 200 млн документов новой моделью размерности 768, пока search остаётся live. Как version change?

  • 44

    Fraud feature использует chargebacks, приходящие через 45 дней после transaction. Как предотвратить target leakage?

    feature-engineeringtransactionsleakage
  • 45

    Fraud prevalence 0,1%, reviewers могут проверять 2 000 cases в день, а пропущенный fraud стоит в 10 раз дороже false alert. Какие metrics и threshold выбрать?

    monitoringalertingthresholding
  • 46

    Новый recommender повышает offline NDCG@20 на 4%, но catalog coverage падает с 38% до 21%. Как его оценить?

    decision-makingcoverage
  • 47

    Вы прогнозируете спрос следующей недели по двум годам данных с сильной годовой сезонностью. Как разделить train, validation и test?

    validationtest-data
  • 48

    У двух classifiers одинаковый AUROC 0,91, но Brier score 0,08 и 0,16. Какой выбрать для pricing risk?

    pricing
  • 49

    A/B test нацелен на рост conversion 2% от baseline 10%. Как спроектировать model experiment?

    ab-testingexperimentsdesign
  • 50

    Model A имеет F1 0,84, latency 8 мс и стоит $3 за миллион predictions; Model B имеет F1 0,87, 42 мс и $24. SLO 30 мс. Что выпускать?

    slolatency
  • 51

    Recall fraud-модели при 2 000 ежедневных проверках падает с 78% до 61% за три недели. Serving metrics здоровы. Что делать?

    model-servingmonitoring
  • 52

    Vision model сохраняет общую accuracy 89%, но на Android 14 accuracy падает с 87% до 63% после app release. Как реагировать?

  • 53

    Positive prediction rate классификатора растёт с 14% до 58% за два часа, но labels приходят через 30 дней. Как реагировать?

  • 54

    Parity job находит 3,8% train-serving feature mismatches после preprocessing release при лимите 0,1%. Как отлаживать?

    model-serving
  • 55

    Label pipeline меняет определение churn с 30 до 60 неактивных дней, а retrained model получает +5 AUC points. Продвигать её?

    evaluationci-cdchurn
  • 56

    У credit model AUROC остаётся 0,90, но expected calibration error растёт с 0,025 до 0,11. Что делать?

    calibration
  • 57

    Feature PSI достигает 0,32, но семидневный labeled F1 остаётся в пределах 0,3 пункта baseline. Переобучать?

    retraining
  • 58

    Fraud threshold отправляет 3 400 cases команде с capacity 2 000 в день. Ranking quality модели не изменилось. Что менять?

    thresholding
  • 59

    Training loss transformer становится NaN на шаге 18 700 после scale с 8 до 64 GPU. Как сузить причину?

    nlpscaling
  • 60

    Loss нормально падает 40 000 steps, затем взрывается в 12 раз сразу после learning-rate scheduler transition. Что проверить?

  • 61

    FP16 run пропускает 0,8% optimizer steps из-за overflow, а BF16 на 3% медленнее. Какой путь выбрать?

    optimizationprecision
  • 62

    В DDP run на 32 GPU rank 17 показывает gradient norms в 4 раза выше других до деградации validation. Что проверить?

    validationhardware
  • 63

    Training job начинает OOM после роста p95 sequence length с 900 до 3 600 tokens. Что менять первым?

    tokens
  • 64

    Модель 7B помещается на forward и backward, но OOM на первом AdamW step. Почему и как исправить?

  • 65

    GPU memory растёт на 300 МБ после каждого validation pass, и run OOM после шести epochs. Как отлаживать?

    memoryhardwarevalidation
  • 66

    Run на 64 GPU зависает на шаге 9 240 без exception, а все GPU заняты. Какова последовательность debugging?

    hardwareerror-handling
  • 67

    После перехода на 64 data-loader workers epoch содержит 0,6% duplicate examples и пропускает 0,6%. Как исправить?

  • 68

    После restore checkpoint loss прыгает с 1,8 до 4,9 и не восстанавливается. Какое state могло потеряться?

  • 69

    Replay эксперимента прошлого квартала меняет accuracy с 92,1% до 90,4%. Как найти отсутствующий источник reproducibility?

    experiments
  • 70

    Hyperparameter search сообщает validation gain 3 points, но выбранная модель теряет 2 points на untouched test set. Какой вывод?

    hyperparametersvalidation
  • 71

    При 12 000 RPS inference p99 растёт с 75 до 280 мс после release, а errors остаются ниже 0,1%. Что делать?

    inferencelatency
  • 72

    Median inference остаётся 24 мс, но p99 растёт с 90 до 410 мс для 1,5% requests. Что проверить?

    inferencelatency
  • 73

    Dynamic batching повышает throughput на 35%, но p99 растёт с 44 до 96 мс при SLO 70 мс. Оставить?

    batchslothroughput
  • 74

    После release embedding model cache hit rate остаётся 72%, но search relevance падает на 8%. Что проверить?

    nlpcaching
  • 75

    GPU endpoint уходит на CPU, и output probabilities расходятся до 0,07, меняя 6% decisions. Это допустимо?

    hardwareendpoints
  • 76

    Модель 14 ГБ загружается 95 секунд и вызывает 5% timeouts в предсказуемый peak. Что изменить на этой неделе?

    resilience
  • 77

    Cascade должен отправлять 20% requests большой модели, но production route rate растёт до 47%, а cost удваивается. Что проверить?

  • 78

    ANN recall@100 падает с 94% до 81% после rebuild vector index, а query latency улучшается на 20%. Что делать?

    indexesquerieslatency
  • 79

    Feature lookup p99 растёт с 9 до 85 мс и съедает большую часть endpoint budget 110 мс. Как защитить predictions?

    latencyendpoints
  • 80

    Slow dependency вызывает три client retries, и traffic растёт с 18 000 до 46 000 RPS за 90 секунд. Как остановить cascade?

    dependencies
  • 81

    A/B test показывает статистически значимый отрицательный revenue lift 3%, хотя offline F1 вырос с 0,81 до 0,85. Что делать?

    ab-testingsignificance
  • 82

    Model experiment сообщает lift 7%, но treatment получает 52,8% traffic вместо 50%. Как проверить result?

    experimentsvalidation
  • 83

    Recommender повышает clicks первой недели на 9%, но снижает 30-day retention на 2%. Продвигать?

    retention
  • 84

    Marketplace A/B test рандомизирует users, но sellers влияют на prices обеих variants, а conversion lift нестабилен. Как redesign?

    ab-testing
  • 85

    Default labels созревают через 90 дней, но product хочет weekly model releases. Какие promotion rules задать?

  • 86

    Deployed model теряет 4 F1 points, retrained candidate возвращает только 2 и стоит в 3 раза дороже serving. Retrain, rollback или оставить?

    deploymentrollbackretraining
  • 87

    Training set растёт с 10 до 12 млн rows каждый месяц, но последние три retrain улучшили AUC меньше чем на 0,001 и стоили по $4 000. Переобучать снова?

    train-testevaluationzero-to-one
  • 88

    Upstream service меняет distance с километров на метры, но clipping оставляет model inputs в range. Как обнаружить и ограничить?

  • 89

    Новая модель повышает monthly GPU cost с $40 000 до $95 000 ради quality gain 0,6 пункта. Что рекомендовать?

    hardware
  • 90

    INT8 снижает latency с 35 до 18 мс, но recall когорты из 7% падает с 74% до 59%. Выпускать?

    cohortslatency
  • 91

    Canary проходит latency и errors, но business-quality proxy падает на 5% на этапе 20% traffic. Что делать?

    proxydeployment-strategieslatency
  • 92

    Нужно rollback model 28, но model 27 ожидает два features, удалённые неделю назад. Как избежать downtime?

    rollback
  • 93

    В 03:00 pricing model начинает возвращать maximum price для 68% requests, но endpoint health зелёный. Вы on call. Что делать?

    pricingendpoints
  • 94

    Модель приняла 12 000 неверных eligibility decisions до rollback. Что должен дать postmortem?

    incidentsrollback
  • 95

    Middle-инженер видит NaN loss и предлагает сразу снизить learning rate в 10 раз. Как направить diagnosis?

    optimizationmentoring
  • 96

    Коллега сообщает 98% validation accuracy после random split rows повторяющихся users между train и validation. Как поступить?

    soft-skillsvalidation
  • 97

    На code review инженер выбирает accuracy для fraud prevalence 0,2% и заявляет performance 99,8%. Какой feedback дать?

    feedbackcode-reviewperformance
  • 98

    Product lead хочет launch через 48 часов, но модель не выполняет recall guardrail на 6 пунктов. Что разрешить?

    guardrails
  • 99

    Два senior-инженера спорят между neural model с F1 0,86 и 38 мс и boosted tree с F1 0,84 и 6 мс при SLO 20 мс. Как решить?

    conflictslo
  • 100

    Три команды сообщают несовместимые metrics одной модели из-за разных splits и label maturity. Какой standard ввести?

    monitoring