Собеседование по Data Science: чего от вас ждут

Data Science – область очень перспективная. Ещё в 2016 году на Всемирном экономическом форуме отметили, что в ближайшие годы потребность в Data Science-специалистах взлетит во всех отраслях. В докладе Glassdoor 2018 года «Best Jobs in America» говорится, что дата-сайентисты возглавляют рейтинг самых перспективных профессий 2019 года для технических специалистов – с точки зрения заработка и интересных задач.

На российском рынке потребность в Data Science-специалистах за последние годы выросла в десятки раз: стоит только посмотреть на число вакансий. Но не все работодатели указывают, в чем именно заключается пресловутое «умение работать с данными». Из-за этого многие кандидаты не понимают, какие навыки им нужны и что предстоит делать.

Кто-то считает, для работы в Data Science достаточно знать технологии Big Data; кто-то уверен, что хватит просмотра нескольких курсов по машинному обучению, а разбираться в алгоритмах не нужно. На вакансии дата-сайентистов часто откликаются академики, которые отлично разбираются в математике и статистике, но не знают, как решать задачи бизнеса.

«Клевер» разобрался, какие знания и навыки нужны для работы в Data Science, о чем спрашивают кандидатов на технических интервью и что ценят в резюме. Помогли нам в этом дата-сайентисты  Дмитрий Никитко и Михаил Камалов.


В разных компаниях по-своему понимают задачи специалистов по Data Science. Вот что делают такие специалисты в ЕРАМ:

  • общаются с заказчиками;
  • делают разведывательный анализ данных;
  • занимаются предобработкой данных;
  • ищут закономерности в данных и проверяют гипотезы;
  • создают предсказательные модели, используя алгоритмы машинного обучения;
  • оценивают качество полученных моделей;
  • визуализируют данные;
  • помогают интегрировать решение.

Задач, с которыми работают аналитики данных, много. Например, ранжирование можно применять не только к поисковой выдаче, но и к созданию рекомендательных систем, поиску похожих картинок, музыки и даже 3D-модели лица. В каждом их этих случаев нужно найти релевантный ответ по запросу. Но типы данных различны, и нужно знать, какую стратегию применить в том или ином случае.

Что нужно уметь

Если коротко, дата-сайентист – это человек, который умеет программировать (в большинстве случаев на Python), умеет строить пайплайны обработки данных, разбирается в алгоритмах машинного обучения и владеет английским.

Английский нужен не только для того, чтобы читать специализированную литературу и разбираться с документацией. Многие аналитики напрямую общаются с иностранными заказчиками. Кстати, здесь пригодится еще и умение переводить с языка Data Science-специалистов на тот, что понятен бизнесу.

Обязательно ли профильное образование?

Важно хорошо знать математику, и высшее техническое образование – большой плюс. Большинство дата-сайентистов в ЕРАМ по образованию математики, программисты или физики. Но это не жесткое требование – в компании есть сотрудник-лингвист, а недавно взяли и социолога, который после окончания университета обрабатывал результаты социологических исследований, создавал модели, занимался прогнозированием и анализом социальных графов. Такой опыт – релевантный для работы в Data Science, поэтому кандидат был интересен.

В общем, нельзя сказать, что человек с техническим образованием подойдет, а с гуманитарным – нет. Всё зависит от навыков и опыта. Например, компьютерный лингвист, который научился писать код, – более интересный кандидат, чем Big Data-инженер, который работал с MapReduce и Hadoop, но не разбирается в алгоритмах. Или чем обладатель научной степени по статистике без опыта работы.

Что ценится в резюме

Больше всего ценится опыт работы. Если вы уже работали в Data Science, подробно напишите, что делали, какие алгоритмы использовали и какие навыки у вас есть. Если у вас нет опыта работы, большим плюсом в резюме станет:

• Краткий рассказ о пет-проектах. Важно, чтобы кандидат не только знал теорию, но и успел попрактиковаться.

• Участие в хакатонах. Это говорит как минимум о том, что вы работали в команде и, скорее всего, создали работающее решение в ограниченный срок.

• Участие в соревнованиях по машинному обучению (например, Kaggle). Если кандидат участвовал или даже побеждал в соревнованиях по машинному обучению, вероятно, он сможет быстрее и качественнее решать задачи на проектах. Но построение самих моделей – только малая часть работы дата-сайентиста. Нужно уметь общаться с заказчиком, диагностировать проблемы, выбирать метрики, доводить модели до продакшена. На соревновании такой опыт получить невозможно.

Что спрашивают на собеседовании

Цель собеседования по Data Science, как и везде, – понять, насколько хорошо человек разбирается в своей предметной области. Сначала интервьюер задает вопросы по основам машинного обучения и статистики. По ответам можно понять глубину и ширину базовых знаний кандидата. После этого спрашивают что-нибудь специфическое, например, об обработке естественного языка, работе с временными рядами или рекомендательными системами. Если кандидат говорит, что умеет работать с графами, изображениями или другими данными, его глубже расспросят и об этом.

Универсальные солдаты встречаются крайне редко, и вопросы на собеседовании зависят от опыта кандидатов. Обычно спрашивают о прошлых проектах, о том, какие технологии они использовали и почему. После этого могут попросить порассуждать. И конечно зададут несколько теоретических вопросов.

Читайте также

13 частых ошибок на техническом интервью

Вот что могут спросить на собеседовании:

Нейросети

— Какие методы предотвращения переобучения (регуляризации) для нейронных сетей вы знаете? Как они работают? Куда вставлять batch normalization?

— Чем отличается нейронная сеть с одним выходом и сигмоидальной функции активации и такая же нейронная сеть, но с двумя выходами и softmax?

— Представим, что у нас есть многослойная полносвязанная сеть с нелинейной функцией активации. Что будет с нейронной сетью, если мы уберём нелинейность?

— Для чего используют global pooling?

Распознавание изображений

— Как оценивают качество в задачах object detection? Чем отличается instance от semantic  segmentation ?
— Как и зачем использовать
transfer learning?

Временные ряды

— Как правильно тестировать качество моделей в работе с временными рядами?
— Что мы должны делать с сезонностью в данных?
— Как искать аномалии во временных рядах?

Обработка естественного языка

— Что лежит в основе моделирования тематик? Как работает этот алгоритм? Как вы выберете число тематик, которые будут обучаться этим алгоритмом?

— У вас есть текст отзывов и рейтинг, пользователи используют 5-балльную шкалу. Как бы вы построили систему, которая сможет предсказывать оценку по тексту отзыва? Как оценивать качество этой системы?

В ходе рассуждений интервьюеры задают много уточняющих вопросов и пытаются поместить кандидата в «боевые условия». Например, кандидат предлагает решение, а интервьюер добавляет новые условия к задаче.

«Что вы будете делать, если дата-сет несбалансированный?»
«Как вы будете решать проблему, если есть пропуски в данных?»
«Как поступите, если будут выбросы в данных?»

Еще могут спросить, как кандидат организует свое рабочее время, как логирует эксперименты, следит ли за их воспроизводимостью, как обрабатывает большие объемы данных и строит пайплайны обработки данных.

Типичные ошибки на собеседованиях

• Кандидат не понимает, как работают алгоритмы, которые он использовал

Интервьюеры всегда спрашивают об алгоритмах, которые использовали кандидаты: какие параметры в них есть, как их настроить. Если ответа нет, или кандидат отвечает, что настроил алгоритм «по наитию» – это плохо. Если вы берете алгоритм, стоит потратить время, чтобы понять, как его настроить.

• Кандидат не понимает, как применять свои знания в «боевых условиях»

Бывает так: человек хорошо знает теорию, но не представляет, как справляться с проблемами на проектах. Важно не только уметь находить инсайты в данных, делать фича-инжинеринг, строить модели, но и понимать, как поместить все это в продакшен или сделать решение, которое будет работать быстрее.

Кандидат не может рассуждать самостоятельно

Если человек слишком часто отвечает на вопрос: «Я погуглю» – это нехороший знак. Конечно, дата-сайентисты гуглят, но уметь рассуждать самостоятельно тоже важно: иногда встречаются проблемы, для которых нет готового решения, и нужно придумать что-то свое.

Кандидат выдумывает, как работает система

Иногда люди не  знают, как работает та или иная система, и начинают придумывать, надеясь угадать верный ответ. Так делать не стоит. Лучше честно сказать: «Я не знаю», тогда останется больше времени на другие вопросы. Вероятность, что вас спросят о том, в чем разбираетесь, вырастет.

Что читать и смотреть

Всем, кто хочет заниматься Data Science, советуем обратить внимание на эти источники:

• Курс «Программирование на Python» на Stepik;
• Курс «Введение в машинное обучение» на Coursera;
• Курс «Машинное обучение и анализ данных» на Coursera;
• Курс «Машинное обучение» Константина Воронцова;
Курсы по deep learning на Coursera;
• Курс «Нейронные сети» на Stepik;
• Книгу Deep Learning Book;
«Глубокое обучение: погружение в мир нейронных сетей» – книгу о глубоком обучении на русском языке;
• Книгу по NLP Speech and Language Processing;
• Книгу по информационному поиску и NLP «Introduction to Information Retrieval»;
• Статьи на opendatascience;
• Курс «Алгоритмы и структуры данных» Максима Бабенко.

Комментарии