Загрузка…
Загрузка…
data / middle / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Brainteaser
Мы подбрасываем кубик, видим количество очков и либо забираем выигрыш, либо подбрасываем второй раз (тогда выигрыш уже зафиксирован). Предложите стратегию: при выпадении какого количества очков в первый раз нужно перебрасывать кубик, чтобы максимизировать выигрыш?
Ответ: перебрасывать при 1, 2 или 3 (мат. ожидание второго броска 3.5 > 3).
02
Теория
Что такое декоратор в Python?
Ожидаемый ответ: обёртка над функцией.
03
Теория
Что такое итератор в Python?
Объект, который может итерироваться по какому-то набору чего-либо.
04
Теория
Чем отличается итератор от генератора в Python?
Заметки
Транскрипт видео о собеседовании в Сбер на позицию data scientist. До этого был звонок с HR (не записан, «самые стандартные вопросы»). Структура интервью: теоретические вопросы (Python + ML) → лайвкодинг (2 задачи) → дизайн и кодинг бейзлайнов рекомендательной системы → вопросы про метрики рексистем. Последние ~10 минут интервьюер задавал вопросы про рекомендательные системы, на которые кандидат не знал ответов. Итог: этап пройден, кандидата пригласили на финальный этап.
Подготовка
Вопросы на собеседованиях часто повторяются. Обязательно изучить: отличие градиентного бустинга от случайного леса (самый частый вопрос), декораторы/итераторы/генераторы в Python, методы отбора признаков, виды регуляризации (L1 vs L2). Spark считается стандартным инструментом — отвечать «не знаю» нельзя. Знать оффлайн-метрики рекомендательных систем шире, чем просто precision.
Стиль интервьюера
Интервьюер помогал по ходу лайвкодинга (подсказывал pandas-команды), с пониманием отнёсся к отказу кандидата выполнять последнее задание из-за усталости и переключился на ответы на вопросы кандидата.
Автор отмечает, что этот вопрос задают очень часто; генератор — особый вид итератора.
05
Теория
Какие алгоритмы классификации знаешь / использовал?
Кандидат перечислил: kNN, регрессия, деревья, бустинг, случайный лес, нейронки.
06
Теория
В чём главное отличие градиентного бустинга от случайного леса?
По словам автора — самый распространённый вопрос, обязательно изучить.
07
Кейс
Ситуация: ты строишь модель бинарной классификации и у тебя очень много признаков (порядка 20 тысяч). Какая твоя стратегия, что будешь с этим делать?
Ответ кандидата: понижение размерности либо отбор признаков.
08
Теория
Какие методы отбора признаков знаешь?
Follow-up после ответа про отбор признаков.
09
Теория
Какие методы борьбы с переобучением знаешь?
Кандидат назвал регуляризацию (дропаут счёл неуместным, т.к. речь не про нейронки).
10
Теория
Какие виды регуляризации знаешь?
Ответ: L1 и L2 — обычно этого хватает.
11
Теория
Чем L1-регуляризация отличается от L2-регуляризации?
Стандартный ответ: L1 (lasso) отбирает признаки (зануляет веса). Почему это так — спрашивают очень редко.
12
Код
Первая задача на лайвкодинг (формулировка в транскрипте не озвучена).
Кандидат решил быстро: «ничего сложного, любой человек справится».
13
Код
Вторая задача на лайвкодинг, посложнее первой (формулировка в транскрипте не озвучена).
Кандидат идейно понял, как решается, но не успел написать алгоритм — перешли дальше.
14
Теория
Какой твой любимый инструмент для работы с табличками в Python?
Ответ кандидата: pandas.
15
Теория
Знаешь ли Spark (pandas vs Spark)?
Автор: отвечать «нет» нельзя — Spark считается стандартным инструментом, который должны знать все.
16
System design
Хотим построить рекомендательную систему: есть данные (цена, канал продажи и т.п.), нужно прогнозировать топ-20 айтемов, которые человек просмотрит/купит завтра. С каких бейзлайнов ты бы начал решать задачу?
Ожидаемый ответ: бейзлайн — рекомендовать самые популярные товары.
17
Код
Реализуй этот бейзлайн (топ популярных товаров, взять топ-20) кодом.
Кандидат реализовал на pandas; интервьюер помогал, подсказывал про pandas-команду, которая сразу вернёт топ-20.
18
Код
Выведи для каждого юзера его последние пять айтемов (артиклов).
Кандидат сделал с циклом; интервьюер попросил способ без цикла.
19
Код
Как сделать то же самое (последние 5 айтемов для каждого юзера) без цикла, средствами pandas?
Follow-up к предыдущей задаче.
20
Теория
Как ты бы оценивал качество рекомендательной системы? Какие метрики для рекомендательных систем знаешь (замер на отложенном дне, спрогнозировали топ-20 айтемов)?
Кандидат разделил метрики на онлайновые и оффлайновые; из оффлайн-метрик назвал только precision — интервьюер отметил, что их гораздо больше.
21
Код
Сконвертируй данные в спарс-матрицу, обучи TF-IDF и посчитай его.
Кандидат отказался выполнять из-за усталости, интервьюер отнёсся с пониманием.