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

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2018-04-27 12:00

it новости

Data Science – область очень перспективная. За прошлый год мы в ЕРАМ получили 210 резюме от людей, которые хотят заниматься Data Science. Из них на техническое интервью мы пригласили 43 человека, а предложили работу семи. Если спрос большой, почему так? Мы поговорили с техническими интервьюерами и выяснили: проблема многих кандидатов в том, что они плохо представляют, чем занимаются аналитики данных. Поэтому их знания и навыки не всегда релевантны для работы. Кто-то считает, что опыта работы с Big Data достаточно, чтобы работать в Data Science, кто-то уверен, что хватит просмотра нескольких курсов по машинному обучению, некоторые думают, что хорошо разбираться в алгоритмах необязательно.

Дмитрий Никитко и Михаил Камалов – аналитики данных и технические интервьюеры из ЕРАМ – рассказали, чего ждут на собеседованиях от кандидатов, какие вопросы задают, что ценится в резюме и как подготовиться к собеседованию.

В разных компаниях понимание того, что делают аналитики данных, разное. Кто-то понимает это понятие шире, кто-то – уже. Вот что делают такие специалисты в ЕРАМ:
  • Занимаются предобработкой данных
  • Ищут закономерности в данных и проверяют гипотезы
  • Создают предсказательные модели, используя алгоритмы машинного обучения
  • Оценивают качество полученных моделей
  • Визуализируют данные
  • Помогают интегрировать решение

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

В ЕРАМ сделали тест, который рекрутеры присылают кандидатам до собеседования. Часть, где нужно выбрать верный вариант, проверяется автоматически. Часть, в которой содержатся развернутые ответы на вопросы, читают технические интервьюеры.

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

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

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

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

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

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

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

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

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

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

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

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

Нейросети

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

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

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

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


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

— Как оценивают качество в задачах object detection?
— Какие архитектуры нейронных сетей для семантической сегментации вы знаете?
— Как и зачем использовать 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 • Курс «Алгоритмы и структуры данных» Максима Бабенко


Источник: habrahabr.ru

Комментарии: