Вопрос нетривиальный, т.к. кажется что нужно (а может и нет) делать поправку на уровень DS-а. С опытными все чуть проще, но вот как проверить уровень начинающего?
С одной стороны, для начинающего DS и не проведешь полноценный ml system design и про опыт не спросишь (его просто может не быть у человека)
С другой стороны, человека без опыта можно спросить про учебный проект и там уже копать в глубину.
В любом случае устраивать "общее" интервью, т.е. пихать в одно интервью столько разделов - кажется крайне неудачной идеей и здесь.
Сколько же техсобесов должно быть в итоге? Мне кажется, что оптимальным количеством будет 2 технических интервью:
1. ML
Здесь для middle/senior либо ml system design либо "давай обсудим задачу, которую ты решал" (похоже на первое, но на известной кандидату задаче)
Для начинающего же либо разбор какого-нибудь учебного проекта либо все тот же ml system design, но только та его часть, которая про непосредственно машинное обучение (датасет, признаки, feature selection/engineering, таргет, валидация, loss-ы и т.д.).
2. Общая секция
Вот тут можно (если требуется) и про python поговорить и про алгоритмы (хотя как умение решать алгоритмические задачи помогает в реальной работе - тема вечная и избитая)
Задачки по SQL на знание оконных функций - тоже конечно интересная тема. Но зато к этому как раз легко подготовиться, тупо потратив полчасика в одном из многочисленных SQL-симуляторов)
Я лично люблю прям ML System Design - это настолько крутой формат, в котором есть возможность как в ширину, так и в глубину общаться с человеком, как с коллегой. Впрочем, про это пост уже был)
#interview #ml #ds #long_pasta