Data Science — сложная сфера, которая вызывает у новичков и студентов много вопросов. Собрали их в социальных сетях Skillfactory и задали эксперту по Data Science Марии Жаровой. Она пояснила сложные моменты, поделилась опытом и дала советы.
Как новичку правильно подготовиться к собеседованию на дата-сайентиста?
Наиболее популярный тип проверки навыков на собеседовании — ML-кейс. Перед вами ставят реальную задачу, например построить рекомендательную систему, алгоритм скоринга клиентов или классификацию в компьютерном зрении. Вы должны с нуля продумать, как реализовать проект. Сначала сформулировать задачу, а затем рассказать, как будете собирать данные, обрабатывать, создавать модель и оценивать качество ее работы. Чтобы подготовиться, почитайте заранее про компанию, внимательно изучите описание вакансии. Так вы поймете, чего от вас ожидают, что должен уметь специалист на должности. Затем открывайте Хабр, ищите, как решают подобные задачи.
Полностью расписать ML-кейс чаще просят синьоров и мидлов. Если вы проходите собеседование на стажера или джуна, у вас, скорее, спросят что-то конкретное из цикла ML-модели. Например, как вы будете делать отбор признаков или предобработаете данные, какими метриками воспользуетесь. Это задача, в которой не нужно писать код, но полезно повторить всю теорию.
Следующий тип задач — лайвкодинг. Вам предложат в реальном времени написать код. Так работодатель проверяет навык чистого написания с первого раза. Задачу дают без компиляторов и интерпретаторов, поэтому запустить код не получится. К этапу полезно повторить Pandas, SQL, для некоторых компаний — алгоритмы. Не стесняйтесь уточнять у HR, будет ли собеседование на алгоритмы или проверка базовых знаний Python и SQL. Это нормальная практика, чтобы вы знали, к чему готовиться.
Последний этап — проверка софт-скилов и мотивации. Очень важно для начинающих специалистов, потому что в категории много кандидатов с плюс-минус одинаковыми базовыми навыками. Отличиться среди конкурентов можно мотивацией. Компания думает на перспективу, потому что джуны достаточно быстро учатся. Дорасти до мидла можно как за год, так и за два — почти все зависит от мотивации. Работодатель возьмет того, с кем проще работать. Того, кто начнет быстрее приносить пользу компании, раньше вырастет. Обязательно покажите, что вы заинтересованы, что хотите попасть именно в эту команду. Будет огромным плюсом.
Дают ли на собеседованиях задания по математике? Где практиковаться?
Все зависит от компании, в которой проходите собеседование. Можно выделить три типа математических задач.
Простые школьные задачи на смекалку
Как правило, их дают либо на первичном созвоне с HR-специалистом, либо на финальном собеседовании с руководителем. Цель — проверить, как вы умеете работать в нестандартной ситуации, насколько быстро можете найти решение. Не стоит бояться таких вопросов, они не требуют особенных математических знаний. Главный совет — внимательно читайте условия. Не стесняйтесь переспрашивать, записывать, размышлять вслух. Будьте собой и решайте задачу так, как делали бы в жизни. Из математики можно повторить школьную программу, как считать проценты, логику.
Задачи по теории вероятности и математическую статистику
Это самые популярные темы на собеседованиях в Data Science. Повторите теорию по этим разделам и порешайте задачи. Практику можно искать через поисковик: введите в поиск задачи по теории вероятности для школьников, а по математической статистике — поищите в учебниках для студентов университетов. В сети много подборок для дата-сайентистов. Разборы теории и задач можно найти на YouTube. Ищите, смотрите, запоминайте приемы решений, и у вас все обязательно получится.
Задачи по Machine Learning
Наиболее распространенные — упражнения на подумать, рассчитать метрики для задач классификации. Обязательно досконально изучите тему: что такое precision, recall, как их считать. Если вы разберетесь с определениями и смыслом метрик, то проблем на собеседовании не возникнет.
На каком уровне необходимо знать Python?
Python достаточно знать на хорошем базовом уровне. Писать основные конструкции, условия, циклы, функции. Будет плюсом, если вы знаете, что такое классы и умеете грамотно оформлять. Также хорошо, если вы можете писать код оптимально и соблюдать стандарты оформления. Не торопитесь. Лучше посидите, подумайте и найдите решение. При оформлении не забывайте про Pep 8: на это тоже обращают внимание.
В некоторых компаниях есть своя специфика. Например, на собеседованиях в Яндексе как на аналитика, так и на разработчика, дают задачи по алгоритмам и структурам данных. В большинстве компаний обращают внимание на знания конкретных библиотек. В CV, NLP, классических ML или рекомендательных системах свои библиотеки. Большим плюсом будет, если вы создавали pet-проекты, используя необходимые инструменты.
В теме ML Ops и Data Engineering от новичков тоже не ждут большого опыта. Все понимают, что такие проекты сложно реализовать технически во время обучения. Нет большого количества данных, кластеров, различных сервисов вроде Hadoop или Airflow. Они платные, работать с ними можно только в компании. Знать их полезно, но не обязательно. Можно посмотреть видео на YouTube, разобраться с интерфейсом инструментов, изучить функции, которые они исполняют. Требовать знания Hadoop на старте никто не будет. Но если интересно подготовиться к работе с инструментом, потренируйтесь писать код в PySpark. Это аналог Pandas для работы с большими данными.
Как связать карьеру с Data Science, если есть медицинское образование?
Медицина — отличная тема для развития в Data Science. Здесь огромное количество данных: и изображений, и звуков, и таблиц. Например, в медицине много изображений, которые можно анализировать компьютерным зрением. Популярная задача — определить по изображению, есть ли болезнь, и провести диагностику.
Обработка звуков часто используется в ветеринарии. Например, по голосу можно определить, болеет животное или нет.
Пример табличных данных — результаты анализов. Их тоже можно разобрать с точки зрения Data Science и построения предсказательных моделей.
Если есть образование в узкой медицинской сфере, можно и в ней применить Data Science: собрать данные и найти оптимальные решения важных вопросов. С медицинской базой выбрать занятие по душе очень легко.
Можно ли в предобученных нейронных моделях понять заранее, сколько слоев добавлять, какие характеристики указывать, и не обучать модель каждый раз?
Если вы хотите доработать предобученную модель, не нужно ничего усложнять. Чтобы получить качественный итог, достаточно двух-трех полносвязных слоев с вашими данными. Предобученные модели не нужно обучать заново: подбирать коэффициенты регуляризации, менять число слоев, нейронов, составлять сложные архитектуры. Все уже готово, параметры подобраны заранее. Вы используете их для решения задачи с минимальными изменениями. Если хотите с нуля обучить модель, то, действительно, можно подумать и про архитектуру, и про число слоев, количество нейронов, другие параметры. При использовании предобученных моделей это не требуется.
Что делать, чтобы войти в профессию? Кажется, что конкуренция просто огромная
Востребованная профессия такой и считается, потому что многие хотят ее освоить. Не стоит расстраиваться: с количеством специалистов растет и число вакансий. Всемирный экономический форум в прогнозе самых востребованных профессий до 2025 года поставил аналитиков данных и дата-сайентистов на первое место рейтинга. За последние три года в России число вакансий в этой сфере выросло в 4 раза. Все зависит от вас как специалистов.
Новичкам я советую обратить внимание на три составляющих успешного кандидата.
Технические навыки
Вы должны обладать базовыми знаниями машинного обучения, нейронных сетей. Будет плюсом общее понимание основных инструментов, например Hadoop, Spark, Airflow.
Мотивация и софт-скилы
Важно, чтобы у вас было желание изучать новое, понимать, как все работает. Чем быстрее вы будете учиться и приносить пользу, тем лучше для компании.
Как о хард-, так и о софт-скилах я подробнее отвечала выше. Есть еще один важный момент.
Зарплатные ожидания
Из двух одинаковых специалистов с большей вероятностью выберут того, кто попросил меньше денег. Если вы только начинаете, не просите сразу много. Лучше наберитесь опыта и потом перейдите на более престижную позицию. Это полезнее, чем долго искать первую идеальную работу с высокой зарплатой.
Почему не надо идти в Data Science?
Обычно все говорят только про плюсы: удаленной работе, хороших зарплатах, востребованности, интересных задачах. Минусы тоже есть, но они индивидуальны.
Подумайте, хочется ли вам проводить день так, как его проводит дата-сайентист? Например, вам нравится разговаривать, и вы не хотите сидеть весь день молча и писать код. У вас плохо с цифрами, вы не любите работать за компьютером, вам, может быть, ближе что-то активное.
На начальных этапах, скорее всего, действительно придется весь день писать код. Работы в бизнес-части, в построении и проверке гипотез будет мало. На стадии синьора, тимлида появятся задачи более высокого уровня, но для этого нужно как минимум три года опыта.
Дата-сайентисты много работают за компьютером. Поэтому важно помнить про активный отдых, спорт, следить за здоровьем.
Хотите спросить о других профессиях? Пишите в комментариях или в социальных сетях Skillfactory. Найдем эксперта и передадим все ваши простые, сложные, «стыдные» и «неудобные» вопросы.