К обычному разбору
Тренировка по собеседованиюТехническое собеседованиеRevolut2025-09-01

Revolut: Техническое собеседование

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

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

Bayes theorem для diagnostic test с base rate

Есть disease prevalence 1% и diagnostic test с 5% error rate. Если test result positive, как посчитать вероятность, что человек действительно болен, и где чаще всего ошибаются?

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

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

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

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

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

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

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

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

Нужно считать P(disease | positive) через Bayes: sensitivity * prevalence делится на все положительные результаты теста, включая false positives среди здоровых людей.

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

Обозначим D - человек болен, + - тест положительный. Если prevalence P(D)=0.01, sensitivity P(+|D)=0.95 и false positive rate P(+|not D)=0.05, то:

P(D|+) = P(+|D)P(D) / (P(+|D)P(D) + P(+|not D)P(not D)).

Подстановка дает 0.95 * 0.01 / (0.95 * 0.01 + 0.05 * 0.99), то есть около 16.1%. Интуитивно это низко из-за base-rate effect: здоровых людей намного больше, поэтому даже небольшой false positive rate создает много ложноположительных результатов.

Типовая ошибка - забыть умножить sensitivity на prevalence или принять 95% accuracy/sensitivity за P(disease|positive). В интервью важно явно проговорить, какая именно error rate дана: false positive/false negative, symmetric error или общая accuracy. Если формулировка неоднозначная, это надо уточнить.

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

  • Ответить 95%, перепутав P(+|D) и P(D|+).
  • Забыть false positives среди здорового большинства.
  • Не уточнить, что означает "5% error rate".

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

  • Сначала задай обозначения D и +, затем выпиши знаменатель как сумму true positive и false positive mass.
  • После формулы дай sanity check: болезнь редкая, поэтому posterior не может автоматически быть 95%.
2Вопрос8 мин

Precision и recall на примере diagnostic test

Как определить precision и recall для binary classifier и чему они равны для diagnostic test из задачи с rare disease?

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

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

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

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

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

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

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

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

Recall = TP / (TP + FN), precision = TP / (TP + FP). Для теста recall равен sensitivity, а precision равен posterior P(disease | positive).

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

Recall отвечает на вопрос: какую долю реально positive объектов модель нашла. Формула: TP / (TP + FN). В диагностическом тесте, если sensitivity 95%, recall по sick class равен 95%.

Precision отвечает на вопрос: какая доля predicted positive действительно positive. Формула: TP / (TP + FP). Для rare disease это не 95%, а P(disease | positive), который считается через Bayes theorem. При prevalence 1%, sensitivity 95% и false positive rate 5% precision около 16.1%.

Это хороший пример, почему accuracy/sensitivity без base rate плохо описывает качество теста. При редком positive class даже сильный recall может сочетаться с низким precision, если false positives среди majority class многочисленны.

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

  • Называть precision и recall взаимозаменяемыми.
  • Считать precision равным sensitivity.
  • Игнорировать prevalence при интерпретации positive result.

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

  • Свяжи recall с больными людьми, а precision с людьми, которым тест сказал positive.
  • Скажи, что для rare class precision часто сильно падает из-за false positives.
3Вопрос10 мин

От чего зависит sample size в A/B-тесте конверсии

В A/B-тесте сравниваем conversion rate control и treatment. От каких компонентов зависит минимальный sample size, чтобы обнаружить статистически значимый эффект?

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

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

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

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

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

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

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

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

Sample size растет при большей дисперсии метрики, более строгом alpha, большей required power и меньшем minimum detectable effect; для conversion он также зависит от baseline rate и allocation ratio.

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

Для A/B-теста conversion rate минимальный sample size зависит от нескольких вещей. Во-первых, от baseline conversion: variance у Bernoulli metric равна p(1-p), поэтому разные p требуют разных размеров выборки. Во-вторых, от minimum detectable effect: чем меньший lift хотим заметить, тем больше нужен sample.

Еще важны significance level alpha и statistical power 1-beta. Более строгий alpha снижает false positives и увеличивает sample size; более высокая power снижает false negatives и тоже увеличивает sample size. Если allocation между control/treatment не 50/50, общий sample size обычно растет.

В интервью достаточно назвать компоненты и объяснить направление влияния. Формулу можно дать через two-proportion z-test approximation: sample size масштабируется примерно как variance * (z_alpha + z_beta)^2 / MDE^2.

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

  • Говорить только "зависит от confidence interval" без MDE и power.
  • Не учитывать baseline conversion для binary metric.
  • Путать alpha и power.

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

  • Всегда называй MDE: без него "минимальный sample size" не определен.
  • Проговори inverse-square: эффект в два раза меньше требует примерно в четыре раза больше samples.
4Вопрос10 мин

Maximum likelihood для biased coin

Дана серия бросков монеты с H heads и T tails. Как через maximum likelihood оценить probability of heads p и как проверить, что найден maximum?

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

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

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

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

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

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

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

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

Likelihood равен p^H(1-p)^T; log-likelihood равен H log p + T log(1-p). Из нулевой производной получаем p_hat = H/(H+T), а concavity подтверждает maximum.

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

Для Bernoulli trials likelihood равен L(p)=p^H(1-p)^T. Удобнее максимизировать log-likelihood: l(p)=H log p + T log(1-p). Производная: H/p - T/(1-p). Приравниваем к нулю:

H/p = T/(1-p) => H(1-p)=Tp => H = p(H+T) => p_hat = H/(H+T).

Чтобы убедиться, что это maximum, можно посмотреть вторую производную: -H/p^2 - T/(1-p)^2, она отрицательна для p in (0,1). Значит log-likelihood concave, а stationary point является global maximum. Также интуитивно likelihood на границах плохой, если есть и heads, и tails.

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

  • Максимизировать raw likelihood и запутаться в степенях вместо log-likelihood.
  • Найти stationary point, но не проверить maximum.
  • Забыть boundary cases H=0 или T=0.

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

  • Сразу переходи к log-likelihood: это стандартный и устойчивый ход.
  • После derivative обязательно скажи про concavity или вторую производную.
5Вопрос14 мин

OLS, MLE и assumptions linear regression

Что такое linear regression, как получить аналитическое OLS-решение, когда оно не существует и при каких assumptions MLE дает тот же оптимум?

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

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

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

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

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

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

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

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

OLS минимизирует squared residuals и дает решение (X^T X)^-1 X^T y, если X^T X обратима. При iid Gaussian zero-mean errors MLE совпадает с OLS.

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

Linear regression задает y_hat = Xw + b; обычно intercept включают как столбец единиц в X. OLS выбирает параметры, минимизирующие ||y - Xw||^2. Берем производную и приравниваем к нулю: получаем normal equations X^T X w = X^T y. Если X^T X обратима, то w = (X^T X)^-1 X^T y.

Аналитическое обратное решение недоступно или нестабильно, когда признаки линейно зависимы, X^T X singular или задача ill-conditioned. На практике используют pseudo-inverse, QR/SVD solvers, regularization вроде ridge или iterative optimization.

MLE дает тот же objective, когда residuals независимы, одинаково распределены, имеют Gaussian noise с нулевым средним и постоянной дисперсией, независимой от признаков: y_i = x_i^T w + eps_i, eps_i ~ N(0, sigma^2). Максимизация произведения Gaussian densities эквивалентна минимизации суммы квадратов residuals. Если ошибки heteroscedastic, correlated или non-Gaussian, OLS все еще можно использовать, но MLE objective и uncertainty estimates изменятся.

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

  • Говорить, что у linear regression всегда есть inverse solution.
  • Игнорировать multicollinearity и singular X^T X.
  • Утверждать, что MLE всегда равно OLS без Gaussian residual assumptions.

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

  • Используй normal equations и сразу упомяни invertibility.
  • Для MLE говори "likelihood of residuals under Gaussian noise", а не likelihood of coefficients.
6Вопрос10 мин

Вопрос

Как объяснить bias-variance tradeoff, почему это не только синоним underfitting/overfitting и как интерпретировать high/low bias and variance cases?

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

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

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

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

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

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

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

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

Bias - систематическая ошибка из-за ограничительных предположений модели; variance - чувствительность к обучающей выборке. Under/overfitting - симптомы, а decomposition объясняет устойчивость модели и expected error.

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

Bias измеряет, насколько среднее предсказание модели далеко от истинной функции из-за слишком ограниченного класса моделей или предположений. Variance измеряет, насколько сильно обученная модель меняется при изменении обучающей выборки. Irreducible noise - часть ошибки, которую никакая модель не уберет.

Underfitting часто означает high bias; overfitting часто означает high variance. Но bias-variance шире: модель может иметь и high bias, и high variance, если она одновременно misspecified и unstable. Хорошая модель должна иметь приемлемо низкие bias и variance для конкретного режима данных. Низкая training error сама по себе не доказывает low variance.

Примеры: очень мелкое дерево может иметь high bias и low variance; одно глубокое дерево - low bias и high variance. Bagging/random forest снижает variance, усредняя нестабильные деревья. Boosting часто стартует от weak high-bias learners и снижает bias, последовательно исправляя residuals; regularization, pruning и больше данных помогают контролировать variance.

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

  • Приравнивать bias строго к underfitting, а variance строго к overfitting.
  • Говорить, что random forest сам по себе high variance, потому что отдельные деревья high variance.
  • Игнорировать irreducible noise и режим данных.

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

  • Перед примерами дай по одному предложению определения bias и variance.
  • Используй shallow tree, deep tree, bagging и boosting, чтобы приземлить ответ.