К обычному разбору
Тренировка по собеседованиюТехническое собеседованиеДата не указана

Dubai Tech Interview 2: ML, алгоритмы и probability

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

Шагов
14
Вопросов
14
Задач
0
1Вопрос14 мин

RL-агент для оптимизации молекул

Кандидат рассказывает про RL-проект в drug discovery. Как объяснить постановку: состояние, действие, среда, reward и метрики качества?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Состояние - текущая молекула или ее графовое представление, действие - изменение геометрии/структуры, среда считает энергию, reward связан со снижением энергии и устойчивостью состояния.

Подробный разбор

Хороший ответ начинается с простой формулировки задачи: агент должен последовательностью действий привести молекулу к более устойчивому состоянию. Состояние можно представлять графом молекулы, координатами атомов и историей предыдущих шагов. Действие зависит от среды: сдвиг координат, изменение конформации или другой допустимый шаг в непрерывном пространстве.

Среда или физический симулятор возвращает энергию и другие величины, по которым строится reward. Если энергия уменьшается и состояние становится устойчивее, reward положительный; если агент делает физически плохие или бесполезные шаги, reward штрафуется.

В интервью важно отделить ML-часть от domain simulation: RL не обязан иметь заранее размеченный датасет, если есть среда, в которой можно считать целевую функцию. Метрики - доля достигнутого оптимума, число шагов до сходимости, стабильность результата и сравнение с baseline.

Типичные ошибки

  • Говорить только "обучали GNN" без state/action/reward.
  • Не объяснить, откуда берется обратная связь, если нет классического датасета.
  • Смешивать финальную энергию, reward и бизнес-метрику.

Как сказать на собеседовании

  • Сначала проговори MDP: state, action, reward, transition.
  • Назови baseline и метрику сходимости, а не только архитектуру.
2Вопрос16 мин

Metric learning для сопоставления авто по фото

Как построить систему, которая по фотографиям объявлений понимает, что в отчете оказалась другая машина, и удаляет ошибочные совпадения?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужно нормализовать ракурсы, получить embeddings по сопоставимым фото, сравнить пары объявлений и обучить головы/классификатор на признаки визуальных отличий.

Подробный разбор

Практичная схема начинается с подготовки данных: найти пары объявлений, где известно, одна это машина или разные, нормализовать ракурсы и убрать шумные изображения. Затем модель определяет тип кадра: фронт, бок, салон и другие ракурсы. Сравнивать нужно фото одинакового типа, иначе embedding distance будет отражать ракурс, а не отличие автомобиля.

Дальше строятся embeddings и признаки различия: cosine distance, color mismatch, wheel/interior/options mismatch, агрегаты по нескольким фото. Поверх них можно обучить классификатор или несколько голов, которые отдельно отвечают за цвет, колеса, салон и другие визуальные отличия.

В production такой пайплайн часто запускается batch-скриптом: единоразово чистит исторические ошибки, затем периодически пересматривает новые кандидаты. Важны precision и ручная валидация, потому что ложное удаление полезной истории портит продукт.

Типичные ошибки

  • Сравнивать любые две фотографии без учета ракурса.
  • Оптимизировать только recall и получать опасные false positives.
  • Не объяснить, как добывать hard negatives и разметку.

Как сказать на собеседовании

  • Скажи про view normalization и hard negatives.
  • Сразу назови production risk: лучше не удалить, чем удалить неверно.
3Вопрос15 мин

Item-to-item recommender для сочетаемой одежды

Как сделать рекомендации сочетаемой одежды: embeddings, ограничения по категориям, nearest neighbors и reranker?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Сначала строим мультимодальное пространство товаров, затем по категории выбираем допустимые complementary candidates, ищем nearest neighbors и реранжируем бизнес-правилами.

Подробный разбор

Для такой задачи одного "похожего товара" мало: нужен complementary matching. Поэтому сначала фиксируются допустимые переходы между категориями, например верх -> низ или обувь -> аксессуары. Затем обучается или донастраивается модель embeddings, которая учитывает изображение, текстовые атрибуты, материалы, размеры и style labels.

Retrieval этап быстро достает кандидатов в нужной категории через vector search. Затем reranker учитывает дополнительные признаки: совместимость стиля, наличие товара, цену, бизнес-ограничения, разнообразие и персонализацию.

Разметка может приходить от стилистов, внешних fashion datasets и VLM-разметки. На интервью полезно проговорить offline metrics вроде Recall@K/nDCG по размеченным парам и online metrics вроде CTR/conversion/add-to-cart.

Типичные ошибки

  • Искать просто похожие товары вместо сочетаемых.
  • Не учитывать категорийные ограничения.
  • Не разделять retrieval и reranking.

Как сказать на собеседовании

  • Назови source of labels: стилисты, датасеты, VLM.
  • Объясни, почему нужен reranker после vector search.
4Вопрос12 мин

От модели до ML-микросервиса

Что должен сделать ML-инженер, чтобы довести модель до production-сервиса: интерфейс, артефакт, Docker, мониторинг и обновления?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужно зафиксировать API, формат модели, preprocessing/postprocessing, окружение, Docker/requirements, rollout, мониторинг качества и периодическое обновление данных или модели.

Подробный разбор

Production ownership начинается с контракта: какие поля приходят на вход, какой JSON или protobuf выходит, какие ошибки возможны и какие SLA нужны. Модель сохраняется в воспроизводимом формате, например ONNX или pickle/joblib с явной версией зависимостей, а preprocessing должен быть тем же, что на обучении.

Дальше сервис упаковывается в Docker, получает health checks, logging, метрики latency/error rate и model-specific monitoring. Если модель работает с базой или batch-обновлениями, нужно описать расписание, idempotency и контроль качества обновленных данных.

На интервью полезно показать, что ML-инженер отвечает не только за fit/predict, но и за контракт, воспроизводимость, rollback и наблюдаемость.

Типичные ошибки

  • Считать deploy последней командой, а не частью lifecycle.
  • Не версионировать preprocessing и модель вместе.
  • Не продумать rollback и мониторинг data drift.

Как сказать на собеседовании

  • Проговори API contract before model details.
  • Назови monitoring и rollback как обязательные элементы.
5Вопрос8 мин

Нули в конце 100!

На собеседовании спросили: сколько нулей в конце числа 100!, и как это аккуратно посчитать без вычисления самого факториала?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нули появляются от множителей 10 = 2 * 5. Двоек в 100! больше, поэтому считаем пятерки: floor(100/5) + floor(100/25) = 20 + 4 = 24.

Подробный разбор

В конце десятичной записи появляется ноль каждый раз, когда в факториале есть пара множителей 2 и 5. В факториале двоек всегда больше, потому что каждое второе число дает множитель 2, а пятерки встречаются реже. Поэтому задача сводится к подсчету всех множителей 5.

Для 100! числа, кратные 5, дают 20 пятерок: 5, 10, ..., 100. Но числа, кратные 25, дают дополнительную пятерку: 25, 50, 75, 100. Значит, ответ:

1005+10025=20+4=24.\left\lfloor\frac{100}{5}\right\rfloor + \left\lfloor\frac{100}{25}\right\rfloor = 20 + 4 = 24.

Обобщение для n!: складываем floor(n / 5), floor(n / 25), floor(n / 125) и так далее, пока степень 5 не превысит n.

Типичные ошибки

  • Считать только 100 / 10 и получить 10.
  • Посчитать только числа, кратные 5, и забыть дополнительные пятерки в 25, 50, 75, 100.
  • Пытаться вычислять сам факториал.

Как сказать на собеседовании

  • Сначала скажи, что ноль — это пара 2 и 5, а двоек больше.
  • Для 100! обязательно отдельно добавь кратные 25.
6Вопрос12 мин

Bagging vs boosting и переобучение

Чем bagging отличается от boosting, где применяются random forest и gradient boosting, и что сказать про склонность к переобучению?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Bagging обучает независимые модели на bootstrap-подвыборках и снижает variance; boosting строит последовательный ансамбль, исправляющий ошибки, и сильнее зависит от регуляризации.

Подробный разбор

Bagging, например random forest, обучает много базовых моделей независимо на bootstrap-подвыборках и агрегирует ответы. Это особенно полезно для unstable high-variance моделей вроде глубоких деревьев: усреднение снижает variance.

Boosting обучает модели последовательно: каждая следующая модель фокусируется на ошибках текущего ансамбля или градиенте loss. Он часто дает лучшее качество на табличных задачах, но может переобучаться при слишком большой глубине деревьев, большом числе итераций, высокой learning rate и слабой регуляризации.

Корректный ответ не должен сводиться к "boosting всегда/никогда переобучается". Нужно говорить через bias-variance, сложность базовых моделей, learning rate, early stopping и качество валидации.

Типичные ошибки

  • Говорить, что boosting не переобучается по определению.
  • Не упомянуть bootstrap в bagging.
  • Сравнивать только по популярности на Kaggle.

Как сказать на собеседовании

  • Скажи "bootstrap aggregation" полностью.
  • Про boosting сразу добавь learning rate и early stopping.
7Вопрос14 мин

P-value и формула Байеса

Как коротко объяснить p-value, где он применяется, и как вывести формулу Байеса через условную вероятность и полную вероятность?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

P-value - вероятность получить статистику не менее экстремальную при верной H0; Байес следует из P(A|B)=P(A∩B)/P(B) и разложения P(B) по гипотезам.

Подробный разбор

P-value лучше формулировать аккуратно: это вероятность при нулевой гипотезе увидеть наблюдаемое или более экстремальное значение статистики. Это не вероятность того, что H0 верна. В продуктовой практике p-value часто появляется в A/B-тестах.

Формула Байеса выводится из определения условной вероятности: P(A|B)=P(A and B)/P(B), а P(A and B)=P(B|A)P(A). Если гипотез несколько, знаменатель раскладывается по полной вероятности: сумма P(B|Ai)P(Ai).

На интервью важно не только написать формулу, но и объяснить, что является гипотезой, что наблюдением и какие prior/likelihood участвуют.

Типичные ошибки

  • Называть p-value вероятностью истинности нулевой гипотезы.
  • Забывать знаменатель в формуле Байеса.
  • Не отделять prior от likelihood.

Как сказать на собеседовании

  • Для p-value произнеси "при условии, что H0 верна".
  • Для Байеса сразу обозначь гипотезу и наблюдение.
8Вопрос12 мин

Фальшивая монета после серии орлов

Есть 1000 монет, одна из них с орлом на обеих сторонах, остальные честные. Выбрали монету случайно и получили 10 орлов подряд. Какова вероятность, что выбрана фальшивая монета?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

По Байесу: P(fake | 10 heads) = 2^10 / (2^10 + 999) = 1024 / 2023, то есть примерно 50.6%.

Подробный разбор

Обозначим F — выбрали фальшивую монету, H — увидели 10 орлов подряд.

Prior для фальшивой монеты: P(F) = 1 / 1000. Если монета фальшивая, 10 орлов выпадут с вероятностью 1. Если монета честная, 10 орлов подряд выпадут с вероятностью (1/2)^10.

По формуле Байеса:

P(FH)=P(HF)P(F)P(HF)P(F)+P(H¬F)P(¬F).P(F \mid H) = \frac{P(H \mid F)P(F)} {P(H \mid F)P(F) + P(H \mid \neg F)P(\neg F)}.

Подставляем:

111000111000+12109991000=210210+999=10242023.\frac{1 \cdot \frac{1}{1000}} {1 \cdot \frac{1}{1000} + \frac{1}{2^{10}} \cdot \frac{999}{1000}} = \frac{2^{10}}{2^{10} + 999} = \frac{1024}{2023}.

Интуитивно 10 орлов подряд сильно повышают вероятность фальшивой монеты, но не делают ее близкой к 100%, потому что честных монет очень много.

Типичные ошибки

  • Ответить 1/1000, игнорируя наблюдение.
  • Ответить почти 100%, игнорируя prior и большое число честных монет.
  • Забыть множитель 999 для честных монет в знаменателе.

Как сказать на собеседовании

  • Обозначь гипотезу и наблюдение перед формулой.
  • После формулы дай интуицию: evidence сильный, но prior маленький.
9Вопрос12 мин

Свойства хорошего embedding space

Какими свойствами должны обладать embeddings для поиска, рекомендаций или сопоставления объектов?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Близость должна соответствовать смысловой похожести, пространство должно быть устойчивым, достаточно компактным, хорошо калиброванным под метрику и пригодным для retrieval.

Подробный разбор

Хорошие embeddings сохраняют важные свойства исходного объекта: близкие объекты оказываются рядом, разные - далеко, а выбранная метрика действительно отражает целевую похожесть. Для image/recsys задач это может быть стиль, категория, визуальные детали или пользовательская совместимость.

Размерность должна быть достаточной для информации, но не чрезмерной: слишком большие embeddings дороже хранить, искать и обновлять. Еще важны нормализация, стабильность при небольших изменениях входа, отсутствие сильных collapsed clusters и качество nearest-neighbor retrieval.

Если пространство нужно для production retrieval, стоит говорить не только про качество модели, но и про ANN index, latency, memory, drift и периодический reindex.

Типичные ошибки

  • Говорить только "похожие рядом" без метрики и downstream-задачи.
  • Игнорировать размерность, latency и память.
  • Не проверять качество retrieval на размеченных парах.

Как сказать на собеседовании

  • Назови cosine/dot product и нормализацию.
  • Свяжи свойства embeddings с конкретной метрикой качества.
10Вопрос10 мин

RAG простыми словами

Как объяснить RAG простыми словами: retrieval, augmentation и generation, и почему это похоже на двухстадийные рекомендации?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

RAG сначала находит релевантные документы, затем добавляет их в контекст LLM, а модель генерирует ответ, опираясь на найденные источники.

Подробный разбор

RAG можно объяснить как retrieval plus generation. На первом этапе система по запросу ищет кандидатов в базе документов: через embeddings, keyword search или hybrid retrieval. На втором этапе найденные документы добавляются в prompt, и LLM отвечает уже не только из параметрической памяти, а с опорой на контекст.

Аналогия с рекомендациями полезна: retrieval достает top-K кандидатов, reranking или LLM выбирает и интерпретирует лучшие. В production добавляются chunking, metadata filters, reranker, citations, freshness и fallback при пустой выдаче.

Типичные ошибки

  • Считать, что LLM сама найдет документы без retrieval.
  • Игнорировать chunking и reranking.
  • Не проверять, действительно ли ответ grounded в источниках.

Как сказать на собеседовании

  • Объясни RAG в два этапа: find then answer.
  • Упомяни citations или groundedness check.
11Вопрос10 мин

Big-O и формальное верхнее ограничение

Как объяснить сложность алгоритма и формальное определение O-большого через константы и размер входа?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Big-O описывает верхнюю асимптотическую границу: f(n)=O(g(n)), если после некоторого n0 существует константа C, такая что f(n)<=C*g(n).

Подробный разбор

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

Формально f(n)=O(g(n)), если существуют C>0 и n0, такие что для всех n>=n0 выполняется f(n)<=C*g(n). Поэтому 3n+10 это O(n), а n log n обычно не O(n), потому что отношение растет.

На интервью хорошо разобрать пример: один цикл - O(n), два вложенных цикла - O(n^2), сортировка - O(n log n), два независимых входа - O(n+m).

Типичные ошибки

  • Складывать все шаги без выделения доминирующего члена.
  • Забывать про разные размеры входа n и m.
  • Называть Big-O точным временем работы.

Как сказать на собеседовании

  • Дай интуицию, а потом формальное C и n0.
  • Всегда связывай сложность с размером входа.
12Вопрос12 мин

Quantile regression и asymmetric loss

Что такое квантильная регрессия и когда полезно предсказывать не среднее, а, например, 90-й квантиль?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Quantile regression предсказывает условный квантиль распределения таргета и использует asymmetric pinball loss, чтобы по-разному штрафовать ошибки выше и ниже.

Подробный разбор

Обычная регрессия с MSE оценивает условное среднее. Но в задачах риска, сроков доставки, спроса или capacity planning часто важнее не среднее, а гарантийный уровень: например, 90-й квантиль, чтобы покрыть большинство сценариев.

Для этого обучают модель на pinball loss. Для квантили q ошибка недопрогноза и перепрогноза штрафуются асимметрично: модель получает оптимум в q-квантиле условного распределения, а не в среднем.

На интервью можно привести бизнес-пример: если недооценить спрос опаснее, чем переоценить, выбирают высокую квантиль; если перепроизводство дороже, можно выбирать другую квантиль.

Типичные ошибки

  • Путать quantile regression с quantization модели.
  • Считать, что это просто binning таргета.
  • Не связывать выбранную квантиль с ценой ошибки.

Как сказать на собеседовании

  • Скажи "pinball loss".
  • Объясни через asymmetric business cost.
13Вопрос12 мин

Linear programming, simplex и greedy

Что сказать про линейное программирование, simplex-метод и жадные алгоритмы, если спрашивают на техническом ML-интервью?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

LP оптимизирует линейную цель при линейных ограничениях; simplex ходит по вершинам допустимого многогранника; greedy делает локально лучший выбор и требует доказательства корректности.

Подробный разбор

Линейное программирование формулируется как оптимизация линейной функции при линейных ограничениях. Геометрически допустимая область - многогранник, а оптимум, если он существует, достигается в одной из его вершин. Simplex-метод использует эту структуру и переходит между вершинами, улучшая целевую функцию.

Жадный алгоритм проще по идее: на каждом шаге выбирает локально лучший вариант. Но он корректен не всегда; нужно доказывать greedy choice property или exchange argument. Примеры, где greedy работает: Dijkstra с неотрицательными весами, activity selection, Huffman coding. Пример, где наивный greedy ломается: 0/1 knapsack.

Для ML-интервью достаточно показать понимание постановки, ограничений и того, что optimization algorithms требуют условий применимости.

Типичные ошибки

  • Говорить, что greedy всегда дает оптимум.
  • Не отличать LP от произвольной нелинейной оптимизации.
  • Не уметь привести пример, где greedy ломается.

Как сказать на собеседовании

  • Для simplex скажи "vertices of feasible polytope".
  • Для greedy сразу добавь, что нужна доказуемая применимость.
14Вопрос10 мин

Честная монетка из нечестной

Есть монетка с неизвестной вероятностью орла p, 0 < p < 1. Как получить честный случайный бит 0/1, используя броски этой нечестной монетки?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Бросаем монетку парами. HT и TH имеют одинаковую вероятность p(1-p), поэтому HT можно вернуть как 0, TH как 1, а HH и TT отбрасывать и повторять.

Подробный разбор

Один бросок нечестной монетки не подходит: вероятность орла p неизвестна и не равна 1/2. Но две разные пары симметричны:

P(HT)=p(1p),P(TH)=(1p)p.P(HT) = p(1-p), \quad P(TH) = (1-p)p.

Эти вероятности равны при любом p. Поэтому алгоритм фон Неймана:

  1. Бросить монетку два раза.
  2. Если выпало HT, вернуть 0.
  3. Если выпало TH, вернуть 1.
  4. Если выпало HH или TT, отбросить пару и повторить.

Так результат 0 и 1 получается с одинаковой вероятностью. Условие 0 < p < 1 нужно, чтобы разные пары имели ненулевую вероятность и процедура могла завершиться.

Типичные ошибки

  • Пытаться корректировать p напрямую, хотя p неизвестна.
  • Использовать один бросок.
  • Не отбрасывать одинаковые пары HH и TT.

Как сказать на собеседовании

  • Сразу сравни вероятности HT и TH.
  • Проговори, что одинаковые пары не дают честного выбора и поэтому повторяются.