Подготовка к интервью – часто непростая задача. Вне зависимости от своего опыта работы и знаний в технической области, кандидат часто бывает застигнут врасплох вопросами работодателя. Во время интервью в сфере Data Science круг вопросов, которые могут быть заданы, охватывает мат. статистику, программирование и создание сложных моделей. Также соискатель должен продемонстрировать свои коммуникативные способности. Все это значит, что к интервью нужно готовиться.
Портал Spring Board подготовил перечень вопросов, к которым должен быть готов соискатель на должность data science специалиста. Этот список поможет понять, чего следует ждать. Возможные вопросы интервью поделены на шесть тематических категорий: статистику, программирование, моделирование, прошлый опыт, культуру и решение проблем. Представляем вашему внимание адаптированную версию этого материала.
Статистические вычисления - это процесс, с помощью которого Data-специалисты анализируют данные, делают прогнозы и создают модели.
Без глубокого знания статистики сложно быть хорошим специалистом, поэтому грамотный интервьюер наверняка задаст кандидату несколько вопросов на понимание ее основ.
Вот несколько примеров элементарных вопросов по статистике:
Существует четыре основных допущения: 1. Есть линейная зависимость между зависимой переменной и регрессорами, то есть модель, которую вы создаете, соответствует имеющимся данным. 2. Ошибки или остатки данных обычно распределяются и независимы друг от друга, 3. Существует минимальная мультиколлинеарность между объясняющими переменными, 4. Гомоскедастичность. (Означает, что дисперсия вокруг линии регрессии одинакова для всех значений предикторной переменной).
- Что такое статистическое взаимодействие? Ответ
- Что такое смещение выбора?
- Какие примеры набора данных с негауссовым распределением вы можете привести?
- Что такое биномиальная формула вероятности?
В процессе интервью работодатель обязательно попросит кандидата о двух вещах: решить какую-нибудь задачу в теории, без написания кода, и потом он также предложит соискателю выполнить практическую часть: схематично изобразить на доске простой код, чтобы проиллюстрировать ход своих мыслей. Перечень всех этих вопросов можно прочитать ниже, но для более глубокого их анализа можно посетить ресурс Interview Cake.
- С какими языками программирования вам удобнее всего работать?
- Какие плюсы и минусы есть у вашего любимого статистического программного обеспечения?
- Расскажите об алгоритме, который вы создали.
- Опишите Data science проект, над которым вы работали продолжительное время. Что вы узнали из этого опыта?
- Работаете ли вы над проектами с открытым исходным кодом?
- Как бы вы очистили dataset в (язык программирования)?
- Расскажите о коде, который вы использовали во время своего последнего проекта?
- Назовите два основных компонента структуры Hadoop.
- Объясните наиболее простым способом принцип работы MapReduce. Ответ
- Как бы вы отсортировали большой массив чисел?
- Перед вами - большой набор данных. Как вы будете работать с выбросами? Как поступите с недостающими значениями? Что скажете о преобразованиях?
- Какие модули / библиотеки вы используете? Что вам нравится/ не нравится в них?
- Каковы поддерживаемые типы данных есть в Python?
- В чем разница между кортежем и списком в Python?
Чтобы разобраться с дополнительными вопросами по Python, стоит ознакомиться с этим полезным ресурсом, созданным Toptal.
- Каковы различные типы алгоритмов сортировки, доступные на языке R? Существуют алгоритмы сортировки вставкой, пузырьком и выбором_._
- Каковы различные объекты данных в R?
- Какие пакеты вы используете? Что вам нравится/не нравится в них?
- Как получить доступ к элементу во втором столбце и четвертой строке матрицы с именем M?
- Какая команда используется для хранения объектов R в файле?
- Каков наилучший способ совместного использования Handoop и R для анализа?
- Как вы разделите непрерывную переменную на разные группы/ранги в R?
- Напишите функцию на R-языке, чтобы заменить отсутствующее значение в векторе средним значением этого вектора.
Часто вопросы по SQL ориентированы на решение конкретных задач.То есть работодатель попросит кандидата решить определенную проблему, чтобы сделать выводы о его практических знаниях.
Например, соискателя могут попросить отфильтровать/сжать/систематизировать данные из таблицы, а потом сделать выводы. При наличии неуверенности в данном вопросе есть смысл воспользоваться информацией ресурса Mode Analytics с отличным введением в SQL.
- Какова цель групповых функций в SQL? Приведите примеры групповых функций.
- Групповые функции необходимы для получения суммарной статистики данных. COUNT, MAX, MIN, AVG, SUM и DISTINCT - это все групповые функции.
- Объясните разницу между внутренним джоином, джоином слева / справа и UNION. Ответ
- Что делает UNION? В чем заключается разница между UNION и UNION ALL?
- В чем заключается разница между SQL, MySQL и SQL Server?
- Если таблица содержит повторяющиеся строки, возвращает ли результат запроса двойные значения по умолчанию? Как вы можете удалить повторяющиеся строки из результата запроса?
Для дополнительной информации по SQL ознакомьтесь с этим ресурсом, созданным Toptal.
Превращать данные в прогнозы и действительно актуальную информацию так же непросто, как и говорить о моделировании с работодателем. Вопросы, представленные ниже, задаются кандидатам, чтобы те могли описать свой предыдущий опыт, возникшие сложности и их преодоление. Если соискатель не сможет ответить на теоретические вопросы и сделать выводы из своего прошлого опыта, то это вряд ли произведет положительное впечатление на работодателя. Не все приведенные ниже вопросы обязательно встретятся в ходе интервью, их основная цель - освежить в памяти кандидата его прошлый опыт моделирования.
- Расскажите о том, как вы разработали модель для прошлого работодателя или клиента.
- Каковы ваши любимые методы визуализации данных?
- Как бы вы могли наиболее эффективно представить данные с пятью измерениями?
- Чем kNN отличается от кластеризации k-средних?
kNN, или k-ближайших соседей - это алгоритм классификации, где k является целым числом, которое описывает количество соседних точек данных, которые влияют на представленную классификацию. K-средство - это алгоритм кластеризации, где k - это целое число, описывающее количество кластеров, возникающих из представленных данных. Все они выполняют разные задачи.
- Как бы выглядела ваша модель логистической регрессии?
- Вы использовали модель временного ряда? Вы понимаете кросс-корреляцию с временными задержками?
- Объясните правило 80/20 и расскажите мне о его важности при проверке модели.
- Объясните, что такое точность и отзыв. Как они относятся к ROC-кривой?
Отзыв описывает, какой процент истинных положительных определен описан в качестве положительных моделью. Точность описывает, какой процент положительных прогнозов был правильным. Кривая ROC показывает взаимосвязь между отзывом модели и её спецификой. Отзыв, точность и ROC являются мерами, определяющими эффективность представленной классификационной модели.
- Объясните разницу между методами регуляризации L1 и L2.
- Что такое анализ основных причин?
- Что такое коллизия хеш-таблиц?
- Что такое точный тест?
- На ваш взгляд, что более важно при разработке модели машинного обучения: производительность модели или её точность? Один из подходов к данному вопросу
- Как вы будете обрабатывать несбалансированные данные, использованные для генерирования прогнозов? (отрицательных классов больше, чем положительных).
- Как бы вы провели валидацию модели, созданной для количественного анализа при помощи множественной регрессии? Есть две модели сопоставимой точности и вычислительной производительности. Какую лучше выбрать для прода почему?
- Как вы действуете с разреженностью?
- Лучше потратить 5 дней на разработку на 90% точного решения или же 10 дней на 100% точность?
- В каких ситуациях общая линейная модель неудачна?
- Как вы думаете, что 50 маленьких деревьев принятия решений лучше одного большого или нет? Почему?
- Изменяя алгоритм, как вы понимаете, что предпринимаемые действия лучше других?
- Какие ошибки предпочтительней: первого или второго рода?
Работодатели любят вопросы о прошлом опыте кандидатов, а также информацию, которая помогает раскрыть личностные качества потенциального члена их команды. Из подобного рода вопросов можно узнать, как кандидат справлялся с трудностями в прошлом, чему он научился из этого опыта.
Соискатель может услышать вопросы, касающиеся следующих тем:
- Работа в команде
- Руководство
- Управление конфликтами
- Решение проблем
- Неудачи
Перед интервью стоит записать примеры, связанные с этими темами. Когда кандидата спрашивают о предыдущем опыте, лучше обязательно рассказать историю и в то же время быть кратким и логичным.
Примеры таких вопросов:
- Расскажите о том рабочем периоде, когда вы взяли инициативу в свои руки.
- Расскажите об опыте, в рамках которого вы столкнулись с серьезной дилеммой.
- Расскажите о том, когда вы разрешили конфликт.
- Расскажите о своем провале и о выводах, сделанных впоследствии.
- Расскажите о вашем прошлом опыте работы. Почему вы решили заниматься именно этим?
- Расскажи о трудностях, которые вы преодолели, будучи задействованным в групповом проекте.
- Сталкиваясь с утомительной, скучной задачей, как вы справляетесь с ней и мотивируете себя на ее завершение?
- Что вы делали в прошлом, чтобы ваш клиент был удовлетворен результатами работы?
- Какими своими достижениями на своей предыдущей работе вы гордитесь?
- Каким образом вам удается поддерживать баланс между работой и личной жизнью?
В ходе интервью работодатель также хочет понять, насколько кандидат «соответствует» духу компании, почему он заинтересовался data science в целом, и предложенной вакансией - в частности. Следующие вопросы помогут кандидату не оказаться застигнутым врасплох, но самое главное при ответе на них - это честность. Правильного ответа не существует, однако лучший ответ - это тот, который сказан с уверенностью и улыбкой.
- Какими data-специалистами вы больше всего восхищаетесь? Какими стартапами?
- Как вы думаете, что характеризует хорошего data-специалиста?
- Как вы заинтересовались data science?
- Приведите несколько примеров «лучших практик» в data science.
- Какую последнюю книгу о работе с данными вы прочитали? В каких мероприятиях по изучению данных вы в последний раз участвовали? Если вы давно ничего не читали ничего стоящего по data science, то у Springboard есть отличная подборка книг, которые заслуживают внимания!
- Над каким проектом вы бы хотели поработать в нашей компании?
- Какие уникальные навыки вы бы принесли команде?
- Какой областью данных вы бы хотели заниматься при отсутствии ограничений?
- Вы когда-нибудь задумывались о создании стартапа? Какая концепция/идея вас интересует?
- О каких ваших хобби нет ни слова в резюме?
- Каковы ваши прогнозы на следующие 20 лет?
- Что вы делали сегодня/на этой неделе/на прошлой неделе?
- Как бы вы поступили, если бы выиграли миллион долларов в лотерее?
- Во что верите вы, в отличие от большинства людей?
- Какие “пробивные” черты характера у вас есть?
- Чем вы увлекаетесь?
В какой-то момент работодатель захочет протестировать способности кандидата в решении нестандартных задач. Например, соискателя в Yelp могут спросить, как о будет создать систему, обнаруживающую поддельные отчеты Yelp. Главное - не бояться задавать вопросы.
Работодатель хочет оценить способности кандидата к критическому мышлению, именно поэтому спрашивать и уточнять - это отличная возможность продемонстрировать умение задавать правильные вопросы. Если для ответа на вопрос нужно создать схематичную диаграмму или написать что-то на доске, соискателю стоит воспользоваться этой возможностью.
- Какие решения вы можете предложить для выявления плагиата?
- Сколько «полезных» голосов получит отчет Yelp?
- Как вы обнаруживаете, что индивидуальным аккаунтом пользуется несколько пользователей?
- Вы собираетесь отправить миллион электронных писем. Как оптимизировать доставку? Как вы оптимизируете ответ?
- У вас есть набор данных, содержащий 100 тысяч строк и 100 столбцов, причем один из этих столбцов является нашей зависимой переменной для решаемой проблемы. Как быстро определить, какие столбцы будут нужны для прогноза? Определите два метода и объясните их как пятилетнему ребенку.
- Как вы обнаружите фиктивные отзывы или фиктивные аккаунты на Facebook?
Это возможность продемонстрировать свои знания алгоритмов машинного обучения; особенно, сентиментального анализа и алгоритмов анализа текста. Продемонстрируйте свои знания о “мошенническом” поведении: что его характеризует?
- Как бы вы выполняли кластеризацию на миллион уникальных ключевых слов, при том, что у вас есть 10 миллионов точек данных - каждая из двух ключевых слов, и метрика, оценивающая, насколько похожи два этих ключевых слова? Как бы вы создали эту таблицу из 10 миллионов таблиц данных на первом месте?
- Как бы вы оптимизировали поисковик для более быстрой работы, получения более качественной информации и лучшего суммирования данных?
Идеальной методике по подготовке к data science собеседованию не существует, однако с помощью данного руководства почувствовать себя уверенно станет гораздо проще.