109 популярных вопросов на собеседовании в сфере Data science
Подготовка к интервью – часто непростая задача. Вне зависимости от своего опыта работы и знаний в технической области, кандидат часто бывает застигнут врасплох вопросами работодателя. Во время интервью в сфере Data Science круг вопросов, которые могут быть заданы, охватывает мат. статистику, программирование и создание сложных моделей. Также соискатель должен продемонстрировать свои коммуникативные способности. Все это значит, что к интервью нужно готовиться.
Портал Spring Board подготовил перечень вопросов, к которым должен быть готов соискатель на должность data science специалиста. Этот список поможет понять, чего следует ждать. Возможные вопросы интервью поделены на шесть тематических категорий: статистику, программирование, моделирование, прошлый опыт, культуру и решение проблем. Представляем вашему внимание адаптированную версию этого материала.
Статистика
Статистические вычисления — это процесс, с помощью которого Data-специалисты анализируют данные, делают прогнозы и создают модели.
Без глубокого знания статистики сложно быть хорошим специалистом, поэтому грамотный интервьюер наверняка задаст кандидату несколько вопросов на понимание ее основ.
Вот несколько примеров элементарных вопросов по статистике:
- Что такое центральная предельная теорема? В чем заключается ее практический смысл?
- Что такое сэмплирование? Сколько методов выборки вы знаете?
- В чем разница между ошибками типа I и типа II?
- Что такое линейная регрессия? Что означают P-значение, коэффициент, R-квадрат? Каково значение каждого из этих компонентов?
- Какие допущения применяются к линейной регрессии?
Существует четыре основных допущения: 1. Есть линейная зависимость между зависимой переменной и регрессорами, то есть модель, которую вы создаете, соответствует имеющимся данным. 2. Ошибки или остатки данных обычно распределяются и независимы друг от друга, 3. Существует минимальная мультиколлинеарность между объясняющими переменными, 4. Гомоскедастичность. (Означает, что дисперсия вокруг линии регрессии одинакова для всех значений предикторной переменной).
- Что такое статистическое взаимодействие? Ответ
- Что такое смещение выбора?
- Какие примеры набора данных с негауссовым распределением вы можете привести?
- Что такое биномиальная формула вероятности?
Программирование
В процессе интервью работодатель обязательно попросит кандидата о двух вещах: решить какую-нибудь задачу в теории, без написания кода, и потом он также предложит соискателю выполнить практическую часть: схематично изобразить на доске простой код, чтобы проиллюстрировать ход своих мыслей. Перечень всех этих вопросов можно прочитать ниже, но для более глубокого их анализа можно посетить ресурс Interview Cake.
Общие вопросы программирования
- С какими языками программирования вам удобнее всего работать?
- Какие плюсы и минусы есть у вашего любимого статистического программного обеспечения?
- Расскажите об алгоритме, который вы создали.
- Опишите Data science проект, над которым вы работали продолжительное время. Что вы узнали из этого опыта?
- Работаете ли вы над проектами с открытым исходным кодом?
- Как бы вы очистили dataset в (язык программирования)?
- Расскажите о коде, который вы использовали во время своего последнего проекта?
Вопросы по Big Data
- Назовите два основных компонента структуры Hadoop.
- Объясните наиболее простым способом принцип работы MapReduce.
- Как бы вы отсортировали большой массив чисел?
- Перед вами — большой набор данных. Как вы будете работать с выбросами? Как поступите с недостающими значениями? Что скажете о преобразованиях?
Вопросы по Python
- Какие модули / библиотеки вы используете? Что вам нравится/ не нравится в них?
- Каковы поддерживаемые типы данных есть в Python?
- В чем разница между кортежем и списком в Python?
Чтобы разобраться с дополнительными вопросами по Python, стоит ознакомиться с этим полезным ресурсом, созданным Toptal.
Вопросы по R
- Каковы различные типы алгоритмов сортировки, доступные на языке R? Существуют алгоритмы сортировки вставкой, пузырьком и выбором.
- Каковы различные объекты данных в R?
- Какие пакеты вы используете? Что вам нравится/не нравится в них?
- Как получить доступ к элементу во втором столбце и четвертой строке матрицы с именем M?
- Какая команда используется для хранения объектов R в файле?
- Каков наилучший способ совместного использования Handoop и R для анализа?
- Как вы разделите непрерывную переменную на разные группы/ранги в R?
- Напишите функцию на R-языке, чтобы заменить отсутствующее значение в векторе средним значением этого вектора.
Вопросы по SQL
Часто вопросы по 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 собеседованию не существует, однако с помощью данного руководства почувствовать себя уверенно станет гораздо проще.
Источник: amazinghiring.ru