Вопросы на собеседовании: Data Scientist
100 реальных вопросов с образцовыми ответами и пояснениями для уровня Senior.
Смотреть пример резюме: Data Scientist →Тренировка флешкарточками
Интервальное повторение · Hunter Pass
Вопросы
Я бы оптимизировал прирост чистой прибыли при лимите 40 000 клиентов, а не accuracy или обобщенный F1.
- При постоянном эффекте воздействия 25% связываемся, когда p(оттока) × 0,25 × $90 больше $12, поэтому безубыточная вероятность оттока равна 53,3%.
- Поскольку лимит в 40 000 контактов может сработать раньше, я ранжирую клиентов по ожидаемому приросту прибыли и беру клиентов с положительной ценностью до лимита.
- Я показываю profit@40k, uplift@40k и AUUC на рандомизированной контрольной выборке; ROC AUC вторичен, потому что не учитывает эффект воздействия и экономику кампании.
- Если эффект воздействия неоднороден, я заменяю ранжирование по оттоку моделью CATE, например causal forest, и сохраняю группу без воздействия для проверки фактического прироста маржи.
Зачем это спрашивают: Вопрос проверяет, умеет ли кандидат превратить вероятности оттока, эффект воздействия, экономику единицы и лимит мощности в правило решения.
Я бы ранжировал по ожидаемому предотвращенному убытку и оптимизировал recall при фиксированном бюджете в 5 000 проверок.
- Для калиброванной вероятности фрода p проверка имеет положительную валовую ценность, когда p × $900 больше $6, поэтому порог без учета лимита равен 0,67%.
- Лимит строже, поэтому рабочим порогом становится скор 5 000-й транзакции среди случаев выше 0,67%; я пересчитываю его ежедневно при изменении распределения скоров.
- Я использую recall@5k, precision@5k и сэкономленные доллары на 1 000 проверок; PR AUC служит диагностикой, а ROC AUC может выглядеть отлично при базовой частоте 0,15%.
- Я валидирую на временной выборке с полностью созревшими метками чарджбэков и строю bootstrap-интервалы для чистой экономии и recall.
Зачем это спрашивают: Вопрос проверяет оценку редких событий, порог с учетом стоимости и влияние жесткого лимита ручной проверки.
Я бы выбрал порог с максимальной чувствительностью, который укладывается в 300 еженедельных направлений и проходит заранее заданный порог безопасности.
- Чистый расчет ожидаемой стоимости дает p > $400 / ($25 000 + $400) = 1,57%, но я не стал бы использовать это число отдельно для клинического решения.
- На выборке из 20 000 пациентов я потребую чувствительность не ниже 95% с односторонней нижней 95% bootstrap-границей, затем проверю, что доля положительных прогнозов не превышает 6%.
- Я показываю чувствительность, NPV, число направлений на 1 000 человек и чувствительность по возрасту, полу и клинике; accuracy вводит в заблуждение при распространенности 2%.
- Если ни один порог не удовлетворяет и безопасности, и лимиту 300 случаев, я явно поднимаю конфликт мощности, а не молча увеличиваю число пропущенных случаев.
Зачем это спрашивают: Вопрос проверяет, как кандидат учитывает экономику в медицинском пороге, не подменяя ею безопасность, неопределенность и проверки подгрупп.
Я бы сделал NDCG@10 с поправкой на склонность основной офлайн-метрикой и потребовал рост бизнес-результата без нарушения лимита задержки.
- NDCG@10 вознаграждает высокие позиции для градуированных исходов, таких как покупка, добавление в корзину и клик; MRR переоценивает только первый релевантный результат.
- Я требую рост NDCG@10 минимум на 1,5% с 95% парным bootstrap-интервалом выше нуля, падение покрытия запросов не более 0,2% и p95 задержки ниже 80 мс.
- Редкие покупки получают наибольший gain, но я устраняю смещение кликовых меток через inverse propensity weighting и отдельно проверяю NDCG для частых и редких запросов.
- Онлайн-критерий требует положительного прироста маржи на запрос с 95% интервалом выше нуля; NDCG является прокси и сам по себе не разрешает запуск.
Зачем это спрашивают: Вопрос оценивает выбор метрики для ранжированных списков, редкие исходы, смещение позиции и явные ограничения запуска.
Я бы использовал NDCG@20 для релевантности, а концентрацию и задержку сделал жесткими ограничителями.
- NDCG@20 учитывает и позицию, и градуированную ценность, а Recall@20 проверяет, попали ли отложенные релевантные товары пользователя в выдачу.
- На временной пользовательской контрольной выборке я требую рост NDCG@20 минимум на 2% без ухудшения Recall@20 и использую парные bootstrap-интервалы, а не считаю взаимодействия независимыми строками.
- Я отклоняю модель, если верхний 1% получает больше 35% показов, и также показываю покрытие каталога, внутрисписочное разнообразие и новизну, чтобы обнаружить схлопывание в популярные товары.
- Онлайн-решение требует прирост маржи на пользователя минимум на 0,3% с 95% интервалом выше нуля и p95 скоринга ниже 50 мс, потому что офлайн-релевантность неточно оценивает каждый плохой слот.
Зачем это спрашивают: Вопрос проверяет баланс качества ранжирования, пользовательской неопределенности, разнообразия, бизнес-ценности и ограничений скоринга.
Сначала я бы откалибровал вероятности, а затем минимизировал ожидаемую стоимость при ограничении на 50% одобрений.
- Для калиброванной вероятности дефолта p отказываем, когда p × $8 000 больше (1 - p) × $900, что дает порог только по стоимости 10,1%.
- Я обучаю Platt scaling и isotonic regression на отдельных временных калибровочных фолдах, выбираю по out-of-fold Brier score и оставляю isotonic только при стабильности дополнительной гибкости.
- Я проверяю reliability curve и компоненты reliability, resolution и uncertainty метрики Brier в целом и по диапазонам скора; ROC AUC не показывает смещение вероятностей.
- Если порог 10,1% дает меньше 50% одобрений, я оцениваю дополнительный ожидаемый убыток при пороге, заданном политикой, а не выдаю его за оптимум модели.
Зачем это спрашивают: Вопрос проверяет калибровку, разложение Brier, классификацию по стоимости и прозрачную обработку ограничения политики.
Я бы перекалибровал pCTR и назначал ставки по ожидаемой ценности, потому что качество ранжирования не делает ставки экономически верными.
- Я обучаю Platt scaling или beta calibration на свежем временном срезе, выбираю по Brier score и log loss, затем проверяю равные по числу наблюдений reliability bins по устройствам и плейсментам.
- Для показа с ценой c безубыточное правило имеет вид: калиброванный pCTR > c / $1,20; поэтому показ за $0,012 требует pCTR выше 1,0%.
- Я ранжирую подходящие показы по ожидаемому излишку pCTR × $1,20 - c и повышаю минимальный порог излишка или масштабирую ставки вниз, пока прогноз расходов не уложится в $100 000.
- До онлайн-теста выручки я требую снижения Brier score, ошибки reliability меньше 0,2 процентного пункта в значимых бинах и отсутствия падения value-weighted PR AUC.
Зачем это спрашивают: Вопрос проверяет связь калиброванных вероятностей с аукционной ценой, распределением бюджета и надежностью по сегментам.
Я бы минимизировал ожидаемый вред при лимите 12 000 проверок, используя recall при фиксированной мощности как основную рабочую метрику.
- При калиброванных вероятностях отправляем на проверку, когда p × $200 больше (1 - p) × $8, что дает порог только по стоимости 3,85%.
- Если порог 3,85% проходят более 12 000 материалов, я беру верхние 12 000 по ожидаемому вреду; если меньше, не заполняю очередь случаями с отрицательной ценностью.
- Я показываю recall@12k, precision@12k, PR AUC и ожидаемый вред на 10 000 загрузок; accuracy 99,6% у модели, всегда предсказывающей безопасность, бесполезен.
- Я строю bootstrap по авторам, а не материалам, и требую минимальный recall для категорий высокой тяжести, чтобы сильный общий скор не скрывал опасную подгруппу.
Зачем это спрашивают: Вопрос проверяет работу с дисбалансом классов, несимметричной стоимостью, кластерными данными и порогом с учетом мощности.
Я бы оптимизировал 80-й квантиль спроса по взвешенной бизнес-стоимостью pinball loss, а не минимизировал RMSE.
- Оптимальный по стоимости квантиль равен $6 / ($6 + $1,50) = 0,80, поэтому прогноз намеренно держит больший запас, чем медиана.
- Я показываю фактический денежный убыток, q80 pinball loss, знаковое смещение в единицах и уровень обслуживания по диапазонам спроса; один общий WAPE может скрыть провал на товарах с прерывистым спросом.
- Восьминедельный backtest использует скользящие ежедневные даты прогноза и только остатки, акции и календарные данные, известные до каждого момента пополнения.
- Я сравниваю градиентный бустинг с сезонным наивным и Croston-style бейзлайнами и оставляю простой метод там, где денежный убыток статистически неотличим.
Зачем это спрашивают: Вопрос проверяет, умеет ли кандидат превратить несимметричную стоимость запасов в квантильную цель и проверить ее на реалистичных датах прогноза.
Для этой кампании я бы выбрал модель B, если разница прибыли статистически устойчива и сохраняется во времени.
- Безубыточная вероятность оттока равна $10 / (0,20 × $120) = 41,7%, после чего лимит 8 000 контактов отбирает подходящих клиентов с наибольшей ожидаемой прибылью.
- B выигрывает по метрике решения profit@8k на $13 000 и точнее оценивает вероятности, несмотря на меньший ROC AUC; более сильное глобальное ранжирование A не является бизнес-целью.
- Я строю парные bootstrap-интервалы по клиентам для разницы $13 000 и проверяю reliability curve в диапазоне от 30% до 60%, где меняются решения о контакте.
- Я также сравню isotonic recalibration модели A на отдельном фолде, но запущу A только если после калибровки ее валидированная profit@8k превысит B без нестабильных бинов.
Зачем это спрашивают: Вопрос проверяет, предпочтет ли кандидат калиброванную ценность решения при рабочем лимите более высокой метрике дискриминации.
Я бы использовал хронологические когорты по моменту одобрения и восстановил каждый признак в том виде, в котором он существовал при принятии кредитного решения.
- Для train я бы взял одобрения с 2021-01-01 по 2023-12-31, для validation с 2024-01-01 по 2024-06-30, а период с 2024-07-01 по 2025-06-30 зафиксировал бы как test после созревания всех 90-дневных исходов.
- Я бы удалил collections_status, current_days_past_due, суммы погашений, признаки списания долга и обновления кредитного бюро после одобрения, не полагаясь на названия столбцов.
- Для каждого признака я бы потребовал временную метку не позже одобрения и воспроизвел join по неизменяемой истории источника; признак без доказанной исторической доступности не попал бы в модель.
- Настройку я бы выполнял только на validation, test открыл бы один раз и показал общие метрики и результаты по каждому кредитору, чтобы смена их долей не скрыла утечку или слабое обобщение.
Зачем это спрашивают: Интервьюер проверяет, умеет ли кандидат превратить явный риск утечки в точное хронологическое разбиение и исполнимый аудит доступности признаков.
Я бы валидировал вперед по времени с 30-дневными разрывами, потому что случайное разбиение строк смешает сезоны и пересекающиеся окна исходов.
- Для train я бы взял даты признаков с 2022-01-01 по 2024-05-31, исключил июнь 2024 года и использовал период с 2024-07-01 по 2024-11-30 как validation.
- Я бы исключил декабрь 2024 года и зафиксировал период с 2025-01-01 по 2025-11-30 как test; строки декабря 2025 года не вошли бы в оценку, потому что на 2026-01-31 не все их 30-дневные метки созрели.
- Препроцессинг я бы обучил только на train и скорил каждую строку по снимку признаков на ее дату, не перенося назад будущие частоты категорий или значения для заполнения пропусков.
- Я бы показал результаты отдельно по каждому месяцу и каждому из шести рынков, а затем взвесил их по ожидаемой структуре трафика января и февраля 2026 года вместо доверия одной общей метрике.
Зачем это спрашивают: Сильный ответ использует календарные когорты, разделяет пересекающиеся горизонты меток и приближает оценку к месяцам будущего применения модели.
Я бы провел пятикратную стратифицированную групповую кросс-валидацию, используя patient_id как неделимую группу.
- Все снимки одного пациента я бы назначил ровно в один фолд, чтобы первичное и повторное исследования никогда не оказались по разные стороны разбиения.
- Я бы построил пять фолдов примерно по 20% пациентов с seed 20250630, максимально выровняв долю положительных пациентов и представленность больниц с учетом группового ограничения.
- В каждом запуске модель обучалась бы на четырех фолдах и предсказывала пятый, что дало бы одно out-of-fold предсказание для каждого пациента в пределах пяти запусков.
- Метрики я бы агрегировал на уровне пациента и показал по каждой больнице и в целом, потому что доверительные интервалы на уровне снимков завысили бы эффективный размер выборки.
Зачем это спрашивают: Интервьюер проверяет, распознает ли кандидат пациента как независимую единицу и умеет ли сохранить баланс классов и больниц при жестком ограничении вычислений.
Я бы оставил один неприкосновенный test и применил повторную стратифицированную кросс-валидацию к остальным заявителям, чтобы измерить чувствительность к разбиению.
- Детерминированные 20% заявителей я бы поместил в зафиксированный test с балансом по дефолту и восьми каналам привлечения, а остальные 80% оставил бы для разработки.
- На выборке разработки я бы четыре раза провел пятикратную стратифицированную кросс-валидацию с seed 11, 29, 47 и 83, получив 20 обучений с разными назначениями фолдов.
- Фиксированные варианты настройки я бы сравнивал по среднему PR-AUC, разбросу на 20 фолдах и recall по каналам, а не выбирал лучший единичный фолд.
- После выбора настройки я бы один раз переобучил модель на всей выборке разработки и один раз оценил на зафиксированном test, использовав 22 из 25 доступных полных обучений.
Зачем это спрашивают: Интервьюер оценивает, умеет ли кандидат повторениями измерить вариативность разбиения и при этом не обращаться многократно к финальному test.
Я бы использовал вложенную кросс-валидацию с группировкой по пациенту, чтобы выбор модели и оценка качества никогда не опирались на одних и тех же отложенных пациентов.
- Внешним циклом стала бы пятикратная StratifiedGroupKFold по patient_id с балансом метки и лаборатории между пятью фолдами примерно по 20% пациентов.
- Внутри каждой внешней обучающей части четырехкратная StratifiedGroupKFold ранжировала бы все 60 конфигураций по PR-AUC на уровне пациента, сохраняя все слайды пациента вместе.
- Победителя внутреннего цикла я бы переобучил на всей внешней обучающей части и оценил на неприкосновенном внешнем фолде, потратив 1 200 внутренних обучений и пять внешних переобучений.
- Я бы показал распределение пяти внешних результатов, включая sensitivity критического подтипа, затем выбрал конфигурацию по рангам внутренних циклов и один раз обучил ее на всех 15 600 пациентах.
Зачем это спрашивают: Интервьюер проверяет, умеет ли кандидат отделить подбор гиперпараметров от несмещенной оценки с учетом зависимости слайдов и точного бюджета обучений.
Я бы разделил данные по моменту скоринга и восстановил каждый признак только из записей, реально доступных к этому моменту.
- Для train я бы взял даты срезов с 2022-01-31 по 2023-12-31, для validation с 2024-01-31 по 2024-06-30, а для test с 2024-07-31 по 2025-04-30; май и июнь 2025 года не вошли бы из-за незрелых 60-дневных меток.
- Каждый join требовал бы event_time не позже момента среза, valid_from не позже среза и valid_to позже него, используя дописываемую историю вместо текущей исправленной строки.
- Я бы исключил признак, если его исторические версии нельзя восстановить, а скользящие агрегаты строил бы по окнам, заканчивающимся в момент среза, а не в момент выгрузки.
- Кодировщики и заполнение пропусков я бы обучил только на train, затем воспроизвел бы весь четырехчасовой расчет конца месяца для validation и test и показал результаты по кредиторам.
Зачем это спрашивают: Сильный ответ объединяет временной holdout со зрелыми метками и воспроизводимые point-in-time join в условиях реального срока расчета.
Я бы оценивал модель только на окончательно созревших когортах, но в каждом недельном срезе обучения воспроизводил бы доступное семидневное состояние меток.
- Для train я бы взял показы с 2024-01-01 по 2025-06-30, для validation с 2025-07-01 по 2025-09-30, а период с 2025-10-01 по 2025-12-31 зафиксировал бы как test, чьи 30-дневные исходы созрели к 2026-01-31.
- При каждом имитируемом недельном обучении показы возрастом от 7 до 29 дней оставались бы цензурированными, а не получали метку отсутствия покупки; полные метки давали бы строки возрастом не менее 30 дней.
- Если свежие строки необходимы, я бы оценил вероятности задержки конверсии на зрелых train-когортах и применил фиксированную поправку на цензурирование без использования исходов validation или test.
- Validation и test я бы оценивал по окончательным 30-дневным меткам отдельно по странам и неделям показов, чтобы различия в задержке отчетности или долях стран не создали искусственный прирост.
Зачем это спрашивают: Интервьюер оценивает, отличает ли кандидат еще не наблюдавшуюся будущую конверсию от отрицательной метки и проверяет ли поправку на полностью созревших исходах.
Я бы отложил продавцов по дате подключения и оценивал только их первые 14 дней, потому что случайное разбиение взаимодействий раскроет идентификатор продавца и его прежнюю вовлеченность.
- Train содержал бы взаимодействия до 2025-06-30 от продавцов, подключенных до 2025-07-01, а все словари, априорные оценки популярности и препроцессинг обучались бы на этой популяции.
- Validation содержал бы первые 14 дней продавцов, впервые подключенных с 2025-07-01 по 2025-09-30, и только он влиял бы на выбор признаков и порогов.
- Test содержал бы первые 14 дней продавцов, впервые подключенных с 2025-10-01 по 2025-12-17, что оставляет время для исходов до 2025-12-31 и позволяет проверить минимум в 10 000 покупок до фиксации разбиения.
- Идентификаторы продавцов, история взаимодействий товаров и агрегаты после подключения для продавцов validation и test были бы недоступны, а контент карточки и категория, известные при подключении, остались бы разрешены.
Зачем это спрашивают: Интервьюер проверяет, соответствует ли holdout заявленному сценарию нового продавца, а не измеряет более простую задачу warm start.
Я бы сделал R16-R18 зафиксированным пространственным test, а настройку провел бы на четырех непрерывных региональных фолдах внутри R01-R15.
- Ни одна строка из R16, R17 или R18 не участвовала бы в обучении, препроцессинге или выборе порога, а из train я бы удалил ячейки в пределах 25 км от их границ, чтобы ограничить пространственное перетекание.
- Четырьмя validation-фолдами стали бы непрерывные блоки R01-R04, R05-R08, R09-R12 и R13-R15, причем каждый запуск обучался бы на остальных трех блоках за весь период 2010-2024 годов.
- Нормализация погоды, правила заполнения пропусков и пространственные агрегаты обучались бы внутри train каждого запуска, а признаки соседей не могли бы пересекать границу отложенного блока.
- Я бы выбрал фиксированную настройку по четырем результатам validation, переобучил модель на допустимых ячейках R01-R15 и показал R16, R17 и R18 отдельно и вместе.
Зачем это спрашивают: Сильный ответ явно обеспечивает географическую независимость, добавляет буфер корреляции и оценивает именно те невиданные регионы, которые указаны в требовании запуска.
Я бы провел шесть backtest-срезов с расширяющимся train и сохранил в каждом только информацию, доступную на момент прогноза.
- Датами срезов стали бы 2024-07-01, 2024-10-01, 2025-01-01, 2025-04-01, 2025-07-01 и 2025-10-01, а оценка каждого охватывала бы следующие 28 календарных дней.
- В каждом срезе train начинался бы с 2019-01-01 и включал только примеры, чье полное 28-дневное целевое окно завершилось до даты прогноза, исключая пересечение меток с прогнозным окном.
- Значения промоакций использовались бы как известные для дней с 1-го по 14-й, а для дней с 15-го по 28-й маскировались бы или заменялись доступным на момент планирования значением, но никогда не заполнялись бы фактически проведенными акциями.
- Первые пять срезов я бы использовал для окончательного выбора настройки, а срез октября 2025 года открыл бы один раз как финальный результат с ошибкой отдельно по магазинам, товарам и когорте нулевого спроса.
Зачем это спрашивают: Интервьюер оценивает, умеет ли кандидат задать воспроизводимые даты прогноза, соблюсти доступность целей и признаков и оставить самый свежий период для финального решения.
Закрытые вопросы
- 21
В RideNow есть 2 миллиарда событий поездок и приложения, а для модели отмены нужны признаки пассажира за 7 и 30 дней на 120 миллионах заказов. Как в Spark выбрать между оконными функциями, диапазонными соединениями и предварительными агрегатами, сохранив корректность на момент времени?
joinswindow-functionsaggregation - 22
В ShopGrid есть 80 миллионов обучающих строк, 12 миллионов ID продавцов и целевая конверсия с задержкой обратной связи 21 день. Выберете ли вы one-hot, hashing, частотное или target encoding для ID продавца и как исключите утечку на 6 месячных валидационных фолдах?
feedbackvalidation - 23
SupportFlow должна классифицировать 600 миллионов сообщений поддержки с помощью энкодера размерности 384, но хранение float32-эмбеддингов займёт около 922 ГБ без учёта реплик. Будете ли вы заранее считать эмбеддинги, вычислять их в каждом обучении или оставите разреженные текстовые признаки?
nlpreplication - 24
AdAtlas обучает модель кликов на 3 миллиардах примеров с 8 миллионами возможных токенов запросов и 250 плотными числовыми признаками. Плотная матрица не помещается в Spark-кластер на 1,5 ТБ, поэтому какое разреженное представление и путь моделирования вы выберете?
queriestokens - 25
CarePath предсказывает повторную госпитализацию за 30 дней по 90 лабораторным признакам на 45 миллионах визитов; 38 процентов значений пропущены, а одна больница назначает ключевой тест 82 процентам тяжёлых пациентов и лишь 24 процентам остальных. Как представить пропуски без утечки решений после поступления?
- 26
В FinCredit есть 40 миллионов заявок и 50 000 признаков от вендоров, агрегатов и текстовых пайплайнов, но недельный бюджет обучения равен 6 часам. Как сократить набор примерно до 2 000 признаков, не выполняя отбор на финальном тестовом периоде?
procurementaggregationci-cd - 27
StreamBox нужны агрегаты просмотров за 1 час, 1 день, 7 и 28 дней для 140 миллионов пользователей из 2 миллиардов ежедневных событий. Будете ли вы читать сырую историю в каждом Spark-запуске или поддерживать составные таблицы агрегатов и с какой гранулярностью?
aggregation - 28
У FreshCart есть 200 базовых признаков и гипотеза, что взаимодействия пользователь-магазин, пользователь-категория и цена-промоакция определяют замены в 70 миллионах корзин. Полный перебор пар создаёт 19 900 кандидатов ещё до расширения категорий; какие взаимодействия вы материализуете?
- 29
LakeCart ежедневно строит 300 признаков для 100 миллионов клиентов из 4 ТБ новых событий; пересчёт 30 дней читает около 120 ТБ за запуск, а материализация всех дневных клиентских признаков добавляет 18 ТБ в месяц. Как решить, что считать один раз, временно кешировать или хранить постоянно?
caching - 30
MegaPlay агрегирует 2 миллиарда ежедневных событий в Spark, но 6 процентов используют единый ID анонимного пользователя, а на крупнейший реальный аккаунт приходится 14 миллионов событий. Как построить пользовательские агрегаты, чтобы эти ключи не доминировали в перемешивании на 4 000 задач?
aggregationdesign - 31
Вы моделируете дефолт в течение 90 дней по 1,2 млн заявок на кредит с долей дефолтов 6%. Логистическая регрессия с регуляризацией дает PR-AUC 0,41, а XGBoost дает 0,44, при этом политика требует стабильных кодов причин, p95 скоринга ниже 20 мс и месячного бюджета на обучение $2 000. Какую модель вы запустите?
boostingevaluationregression - 32
В модели возврата товаров есть 8 млн размеченных заказов, 3% положительных примеров, 220 табличных признаков и нет изображений или текста. XGBoost дает PR-AUC 0,36, а четырехслойная нейросеть после 48 GPU-часов дает 0,365; p95 при обработке запроса должен быть ниже 10 мс, а месячные расходы на GPU не должны превышать $3 000. Какое семейство моделей вы выберете для следующего релиза?
boostingneural-netsevaluation - 33
Для 250 000 записей скрининга рака с долей положительных случаев 1,5% логистическая регрессия дает AUROC 0,86, а XGBoost дает 0,90, но обе модели должны обеспечивать чувствительность не ниже 92%. Пропущенный случай оценивается в $20 000, проверка специалистом стоит $80, регулятор требует проверяемого обоснования, а p95 задержки должен оставаться ниже 50 мс. Как вы разрешите противоречие между интерпретируемостью и точностью?
boostingregressionlatency - 34
XGBoost для выявления мошенничества обучен на 600 000 транзакций с долей мошенничества 0,7% и после 800 деревьев показывает PR-AUC 0,92 на обучении и 0,48 на валидации; предыдущая модель достигала PR-AUC 0,51 на валидации. Бюджет переобучения ограничен $300 в неделю, а p95 инференса составляет 25 мс. Как вы диагностируете и исправите переобучение?
overfittingboostingevaluation - 35
У вас есть 10 млн карточных транзакций с долей мошенничества 0,08%, целевой полнотой не ниже 70% при точности 20%, стоимостью $900 за пропущенное мошенничество, стоимостью $3 за проверку сигнала и ограничением p95 скоринга в 15 мс. Как вы учтете дисбаланс при обучении модели?
transactionsalerting - 36
Разреженная логистическая модель захвата аккаунтов использует 4 млн сессий, 120 млн хешированных признаков и долю положительных примеров 0,25%. Обучение на всех данных помещается в 32 ГБ, целевой PR-AUC равен 0,30, ложноотрицательная ошибка стоит $500, ложноположительная стоит $1, а p95 инференса должен быть ниже 8 мс. Вы выберете веса классов или сокращение отрицательных примеров?
evaluationsessions - 37
Нейросеть для оттока с 3 млн параметров обучается на 180 000 клиентах с долей оттока 12%. Log loss на обучении падает до 0,18, а на валидации после 12-й эпохи растет с 0,31 до 0,44; целевой AUROC на валидации равен 0,82, GPU-время ограничено 12 часами в неделю, а p95 скоринга должен быть ниже 5 мс. Какой план регуляризации вы проверите?
regularizationvalidationchurn - 38
Вам нужно настроить XGBoost для прогноза конверсии на 3 млн сессий с долей положительных примеров 2%. Критерий приемки равен как минимум 0,24 PR-AUC на валидации, бюджет поиска составляет 120 CPU-часов, ложноположительная ошибка стоит $0,20, ложноотрицательная стоит $8, а итоговая модель должна выдавать прогноз не медленнее 12 мс p95. Как вы выберете гиперпараметры?
boostingevaluationhyperparameters - 39
Модель XGBoost для страхования обучена на 900 000 полисах с долей страховых случаев 4% и достигает AUROC 0,89, но среди полисов с прогнозом вероятности страхового случая 10% реальная доля составляет только 6%. Ее Brier score равен 0,061 против 0,054 у логистической регрессии, смещение вероятности на один процентный пункт приводит примерно к $150 000 годовой ошибки в тарифах, калибровка может добавить не более 2 мс к бюджету p95 в 20 мс, и доступно 120 000 свежих меток. Как вы ее откалибруете?
boostingregressionprobability - 40
Модель безопасности контента оценили на 2 млн размеченных публикаций с долей нарушений 0,4%, а обслуживает она 5 млн публикаций в день. Оценки откалиброваны, пропущенное нарушение стоит $40, ложное удаление стоит $2, ручная проверка ограничена 60 000 публикаций в день, целевая ожидаемая стоимость ниже $0,12 на публикацию при полноте не менее 85%, а скоринг модели занимает 18 мс из бюджета p95 в 25 мс. Как вы выберете пороги решений?
decision-making - 41
В эксперименте с регистрацией базовая конверсия равна 10%, а минимально полезный рост составляет 1 процентный пункт. Какой размер выборки и длительность вы выберете при мощности 80%, двустороннем уровне значимости 5%, 4 000 подходящих пользователей в день и ожидаемой потере 10% наблюдений до анализа?
experimentsconversion - 42
Вы тестируете среднюю стоимость заказа, которая сейчас равна $48 при стандартном отклонении $30, и считаете важным рост на $2. Сколько наблюдений нужно при мощности 80% и двустороннем уровне значимости 5% и что вы сделаете с тяжёлым хвостом метрики?
dispersionmonitoringtesting - 43
Обучение сотрудников магазина нужно назначать целиком на магазин, поскольку сотрудники используют общий новый процесс. Индивидуальный расчёт дал по 2 500 покупателей на вариант, в магазине в среднем 120 покупателей, а внутрикластерная корреляция равна 0,04. Как вы рассчитаете размер и проведёте рандомизацию?
experimentsconcurrencycorrelation - 44
Тест цен в доставке создаёт интерференцию на маркетплейсе, поэтому водителей и заказы нельзя рандомизировать независимо. У вас есть 12 городов и 28 дней. Спроектируйте switchback-тест с конкретными временными блоками, периодом вымывания и единицей анализа.
designpricing - 45
Эксперимент с фиксированным горизонтом по выручке требует по 20 000 пользователей на вариант, но корреляция предэкспериментальной выручки с результатом равна 0,60. Какой выигрыш вы ожидаете от CUPED и какие условия должны выполняться до уменьшения выборки?
variance-reductionexperimentscorrelation - 46
Вы хотите сравнить три варианта оформления заказа с одним контролем. Базовая конверсия равна 8%, MDE составляет 0,8 процентного пункта, мощность равна 80%, а семейный уровень значимости равен 5%. Как вы распределите трафик и учтёте множественные проверки?
- 47
Команда планирует максимальную выборку 60 000 пользователей, но хочет каждый день смотреть на значимость и останавливаться при p меньше 0,05. Замените этот план конкретным последовательным дизайном.
design - 48
Эксперимент с заявленным распределением 50/50 назначил 51 200 пользователей в тест и 48 800 в контроль из 100 000. Рассчитайте проверку SRM и решите, будете ли вы оценивать эффект.
experiments - 49
Редизайн рекомендаций повышает клики на 4% в дни 1-3, но только на 0,8% в дни 4-14, а тест начался за пять дней до Чёрной пятницы. Вы запустите вариант, продлите тест или остановите его и какой анализ обоснует решение?
- 50
У продукта 12 000 подходящих пользователей в неделю, базовая конверсия равна 3%, а эксперимент можно проводить не более шести недель. Какой MDE достижим при равном распределении, мощности 80% и двустороннем уровне значимости 5% и что делать, если бизнес ценит рост всего на 0,2 процентного пункта?
experiments - 51
Через 30 минут после выпуска рекомендательной модели CTR падает на 14%, а трафик и p95 задержки остаются в пределах 2% от базового уровня. Какое решение по инциденту вы примете и как ограничите ущерб?
incidentslatency - 52
PSI признака дохода в кредитной модели достигает 0,34 при пороге оповещения 0,20, но на последней зрелой семидневной когорте AUC составляет 0,81 против базовых 0,812, а ошибка калибровки остается равной 0,03. Новые метки приходят с задержкой 21 день. Вы откатываете модель, переобучаете ее или продолжаете наблюдение, и какие ограничения вводите?
monitoringrollbackalerting - 53
Антифрод-модель одобряет на 18% больше транзакций, чем обычно, но метки по возвратным платежам приходят через 14 дней; при этом доля отказов после ручной проверки выросла с 6% до 15%. Как ограничить инцидент, не ожидая две недели?
incidentstransactions - 54
Оператор снижает порог антифрод-модели с 0,72 до 0,58, число заблокированных платежей растет на 31%, а число пойманных подтвержденных мошеннических операций за шесть часов увеличивается только на 4%. Что вы измените сначала и как решите, нужно ли вмешиваться в саму модель?
- 55
Доля пропусков в признаке дохода кредитной модели прыгает с 2% до 27%, число одобрений падает на 16%, а метки по дефолтам появятся только через 30 дней. Как вы ограничите инцидент в первый час?
fundamentals - 56
Модель-претендент показывает на 7% более высокий офлайн PR-AUC, но на 10% производственного трафика за три дня снижает конверсию на 4,5% и увеличивает число жалоб на 22%. Вы продвигаете ее, настраиваете или останавливаете?
evaluation - 57
После обновления классификации погоды PSI соответствующего признака в модели времени доставки достигает 0,29, но MAE меняется только с 6,2 до 6,3 минуты, а ошибка p95 остается равной 18 минутам на 1,5 млн доставок. Как вы решите, безвреден ли этот дрейф?
iac - 58
Глобальный AUC модели риска продавцов падает только на 1%, но полнота для новых продавцов снижается на 18%, а они составляют 12% трафика. Какие ограничения и решение по модели вы примените?
evaluation - 59
Во время общенациональной транспортной забастовки MAPE прогноза спроса растет с 11% до 23%; воспроизведение показывает, что предыдущий чемпион получил бы 22% на тех же часах. Вы откатываете или переобучаете модель и как сегодня ограничите ошибки планирования?
rollback - 60
Переобученная модель риска имеет офлайн AUC выше на 9%, но на канарейке с 20% трафика ошибка калибровки ухудшается с 0,04 до 0,13, а доля одобрений падает на 11%; метки результатов созревают 30 дней. Вы откатываете, калибруете или переобучаете модель?
evaluationrollbackdeployment-strategies - 61
В 09:20 признак purchase_count_30d стал равен нулю для 93% запросов вместо 4%, а ранжирующая модель обслуживает 38% трафика. Как вы поведете этот инцидент?
incidents - 62
У новой модели offline AUC равен 0,86, но precision в продакшене падает на 19%, а выборочная проверка паритета находит разные признаки в 7,8% запросов. Что вы сделаете?
evaluation - 63
Через три дня после запуска модели чарджбэков вы обнаружили, что dispute_status обновлялся в течение 14 дней после момента прогноза и помог получить offline AUC 0,94. Как вы отреагируете?
evaluation - 64
Join в feature store использовал последний customer tier вместо значения на момент решения, что затронуло 11,6% из 2,3 миллиона решений за шесть дней. Как вы поступите?
soft-skillsjoins - 65
После релиза источника 41% значений merchant_category попадают в unknown вместо 2%, доля авторизаций падает на 9%, а модель маршрутизации платежей уже оценила 68 000 транзакций. Каков ваш план инцидента?
incidentstransactionsauth - 66
После релиза поставщика package_weight меняется с килограммов на граммы, и медиана растет с 1,8 до 1 800 для 18% трафика. Как вы локализуете и исправите проблему?
- 67
Релиз рекомендаций подает query embeddings из encoder v8 в индекс каталога, построенный на v7, и recall@20 падает на 31%. Что вы сделаете?
indexesqueriesnlp - 68
Обучение использует tokenizer v3 с Unicode-нормализацией, а сервинг все еще использует v2; 14% запросов с не-ASCII символами дают другие тензоры, и moderation F1 падает на 12 пунктов. Как вы возглавите исправление?
normalizationtokens - 69
Повторная попытка ETL дублирует 6,4 миллиона событий, увеличивая 8,7% обучающих строк и live-признак order_count для 180 000 пользователей. Как вы отреагируете?
resilienceetl - 70
Три из 12 шардов пайплайна признаков перестали продвигаться, поэтому данные 27% сущностей устарели в медиане на 47 минут, хотя prediction endpoint продолжает отвечать 200. Как вы управляете частичным отказом?
shardingendpointsci-cd - 71
Эксперимент с оформлением заказа охватил 240 000 пользователей и показал относительный lift завершенных покупок -3,8% при p = 0,012; доля ошибок оплаты также выросла с 1,6% до 2,1%. Как вы интерпретируете результат и какое решение примете сегодня?
experiments - 72
Тест страницы тарифов увеличивает заранее зарегистрированную основную метрику, начало платной подписки, на 2,4% при p = 0,018, но доля возвратов за 14 дней растет с 4,9% до 5,8%, то есть на 18,4% при p = 0,031, а маржа на посетителя падает на 1,2%. Как вы интерпретируете результат и решаете вопрос запуска?
pricingmonitoringcss - 73
Тест рекомендаций заканчивается раньше срока после остановки партнерской кампании, набрав 90 000 из запланированных 200 000 пользователей. Выручка на пользователя выросла на 1,1% при p = 0,28 и 95% доверительном интервале от -0,9% до +3,1%, а все защитные метрики нейтральны. Как вы интерпретируете нулевой результат и решаете, что будет работать дальше?
confidence-intervalsfundamentalsguardrails - 74
Новый формат уведомлений дает lift кликов +8,5% в дни 1-3, +1,2% в дни 4-14 и +2,6% в целом при p = 0,040; p-value взаимодействия варианта со временем равно 0,009. Отписки не изменились. Как вы интерпретируете эту картину и решаете вопрос раскатки?
- 75
Через три дня после запуска эксперимент с ожидаемым делением 50/50 содержит 518 400 пользователей в варианте и 481 600 в контроле, что дает p-value SRM ниже 0,00000001; основная метрика показывает +4,1% при p = 0,020. Какой вывод вы делаете и что предпринимаете?
experimentsmonitoringhypothesis-testing - 76
Тест онбординга показывает рост активации на 1,6% в целом при p = 0,040, но у новичков в категории рост составляет 6,4% при p = 0,003, а у опытных пользователей падение равно 2,8% при p = 0,010; p-value взаимодействия варианта с сегментом равно 0,002. Как вы интерпретируете результат и решаете вопрос релиза?
activationonboarding - 77
Мобильный тест оформления заказа сообщает lift покупок +12,0% при p < 0,001, но аудит обнаруживает, что путь повторной попытки создает дубли событий покупки для 7,4% заказов варианта против 0,3% в контроле. Финансы не видят соответствующего роста списаний. Как вы интерпретируете и исправляете ситуацию?
resilience - 78
Тест поискового ранжирования повышает CTR результатов на 7,8% при p = 0,001 и добавления в корзину на 3,2% при p = 0,020, но покупки падают на 2,4% при p = 0,043, а маржа на поиск падает на 3,0% при p = 0,028. Задержка не изменилась. Как вы согласуете метрики и примете решение?
csslatencymonitoring - 79
Эксперимент с промо идет с 20 декабря по 10 января и показывает рост выручки на посетителя +4,8% в целом при p = 0,030. Lift равен +12,0% с 20 по 26 декабря при p = 0,004, но -3,1% со 2 по 10 января при p = 0,040, причем 70% наблюдений пришлись на праздничную неделю. Какой вывод вы делаете и что запускаете?
experiments - 80
Тест удержания не достигает заранее зарегистрированной основной метрики: -1,7% при p = 0,21. Среди 20 сегментов по стране и платформе, изученных после результата, пользователи iOS в Канаде показывают +14,0% при p = 0,030, и стейкхолдер просит показать только этот сегмент и запустить вариант для него. Что вы ответите и решите?
retentioncommunicationmonitoring - 81
После 12 400 решений по фроду VIP-клиенты составляют 3% объема, но дают 28% ложноположительных решений, и стейкхолдер заявляет, что модель ошибается. Как вы отреагируете?
stakeholder-managementcommunication - 82
Порог 0,42 находит 89% фрода, но создает 1 600 проверок в день при мощности операционной команды 900, поэтому команда отвергает вашу рекомендацию. Что вы сделаете?
capacity - 83
Среди 20 000 кандидатов модель найма выбирает 18% мужчин и 11% женщин, а recall квалифицированных кандидатов равен 82% против 61%, хотя общая accuracy совпадает с текущим процессом. Что вы сделаете?
- 84
Кредитная модель одобряет 79% городских заявителей и только 54% сельских. Как вы решите, нужно ли вмешательство?
- 85
Модель удержания отправляет предложения 32% клиентов младше 55 лет и только 14% клиентов в возрасте 55 лет и старше. Как вы отреагируете?
retention - 86
У медицинской модели триажа общая доля ложноотрицательных решений 6%, но для женщин от 65 лет она равна 19%. Что вы предпримете?
- 87
На 60 000 кредитных заявок почтовый индекс, расстояние до отделения и стоимость недвижимости предсказывают аудируемую защищенную группу с AUC 0,88, а у сопоставимых заявителей сохраняется разрыв одобрений 12 пунктов. Как вы исследуете и исправите proxy discrimination?
evaluationproxy - 88
В 8,2 млн строк датчиков объяснения модели показывают рост риска при низкой температуре, но 74% предупреждений высокого риска приходят от firmware v3, а инженеры по надежности говорят, что направление противоречит физике. Что вы сделаете?
alerting - 89
Руководитель просит одно число для запуска после 21-дневного теста рекомендаций на 18 млн показов: прирост валовой прибыли равен $1,24 на 1 000 показов с 95% интервалом от $0,40 до $2,05, а жалобы выросли на 0,3 пункта. Что вы представите?
- 90
Фрод-модель улучшила offline AUC с 0,86 до 0,94, но возвращенные потери не изменились, а аналитики отменяют 64% ее предупреждений. Как вы отреагируете?
evaluationalerting - 91
Младший дата-сайентист обучил модель оттока на 1,8 млн строк по подпискам и за два дня до ревью сообщил AUC 0,99 на валидации. Вы замечаете, что среди признаков есть cancellation_date и refund_status, хотя модель должна оценивать пользователей за 14 дней до отмены. От этого результата зависит запуск шестинедельного пилота по удержанию. Что вы сделаете?
retentionchurnvalidation - 92
Дата-сайентист уровня middle строит классификатор мошенничества на 420 000 транзакций, среди которых только 1 900 подтвержденных случаев. После 60 запусков Optuna PR AUC на обучении вырос с 0,71 до 0,94, но на временной валидации упал с 0,69 до 0,61, а ревью модели состоится через три дня. Что вы сделаете?
evaluationtransactionsvalidation - 93
Коллега предлагает заменить логистическую модель кредитного риска ансамблем со стекингом на 3,2 млн кредитных записей. AUC обнаружения дефолта офлайн растет с 0,842 до 0,845, но p95 задержки скоринга увеличивается с 18 до 140 мс, а ежемесячная стоимость инфраструктуры вырастет примерно на 11 000 долларов; архитектурное решение нужно принять к пятнице. Что вы сделаете?
evaluationensemblesarchitecture - 94
Во вторник в 10:00 продуктовая команда просит проанализировать редизайн оформления заказа по 12 млн событий и дать рекомендацию к встрече о запуске в среду в 15:00. Данные о попадании в эксперимент надежны, но в таблице выручки отсутствует около 8% мобильных покупок, а полное исправление займет четыре дня; запуск затрагивает примерно 600 000 долларов недельной выручки. Что вы сделаете?
- 95
Команду просят за две недели запустить модель риска неявки, обученную на 900 000 визитов в больницу. Аудит показывает, что на предложенном пороге она отмечает 34% пациентов из одного района с низкими доходами против 12% в среднем, а отмеченные пациенты могут потерять доступ к удобным слотам; измеренный прирост полноты составляет 6 процентных пунктов. Что вы сделаете?
- 96
Во время ревью презентации для совета директоров, которую нужно отправить завтра, вы видите утверждение, что рекомендательная модель повысила удержание на 30-й день на 9%. Анализ охватывает 46 000 пользователей, но распределение зависело от поддержки устройства, а не от рандомизации, базовое удержание различалось на 7 пунктов, и указанный p-value не учитывает этот дисбаланс. Что вы сделаете?
hypothesis-testingretention - 97
Сильному дата-сайентисту уровня middle нужен пример самостоятельного владения для повышения через шесть месяцев. У команды есть устаревший пайплайн прогноза спроса для 1 200 магазинов с недельным MAPE 18%, примерно 2 млн долларов ежегодных потерь из-за отсутствия товара и без назначенного владельца; два инженера могут выделять по одному дню в неделю. Как вы будете менторить этот проект?
mentoringownershipci-cd - 98
За шесть часов до запуска праздничной кампании на 4 млн клиентов маркетинг хочет снизить порог склонности с 0,62 до 0,48, чтобы заполнить все 700 000 слотов для сообщений. Вы не согласны, потому что контрольная группа прошлого месяца показывает отрицательную ожидаемую маржу у дополнительных 180 000 получателей после учета стоимости отправки 0,09 доллара, но владелец кампании говорит, что инвентарь уже оплачен. Что вы сделаете?
designconflictcss - 99
Через четыре месяца пилот модели времени доставки, обученной на 28 млн заказов, провалился: медианная ошибка улучшилась на 6%, но ошибка p95 ухудшилась на 22%, жалобы клиентов выросли на 4%, и операционная команда не хочет расширять охват свыше 5% трафика. Вы руководили проектом, а квартальное ревью состоится на следующей неделе. Что вы сделаете?
- 100
Младший дата-сайентист отвечает за мониторинг ETA-модели с 9 млн прогнозов в день. В понедельник он замечает рост p95 абсолютной ошибки на 11% после пятничного релиза, но сообщает только через семь часов, потому что средний MAE оставался зеленым; следующее окно релиза закроется через 24 часа. Что вы сделаете?
mlopsmonitoring