Data Science является одной из самых востребованных, высокооплачиваемых и перспективных профессий в современном мире. Как следствие, конкуренция за вакансии в этой области очень высока. Если вы ищете работу в качестве Data Science Junior, подготовка к собеседованию — это один из самых важных этапов. В этой статье мы рассмотрим, что нужно изучить к собеседованию на Data Science Junior и что ждут работодатели.
Что такое Data Science и кем там можно работать
Data Science — это широкий спектр компетенций, включающих в себя сбор, хранение, обработку и анализ данных с целью выявления закономерностей, прогнозирования и оптимизации бизнес‑процессов. В связи с этим в области Data Science существует множество профессий:
Data Scientist — специалист, который создаёт инструменты для решения задач бизнеса. Для этого он использует навыки анализа данных и построения моделей машинного обучения (англ. Machine Learning). Data Scientist работает на стыке трёх областей знания: статистики, машинного обучения и программирования.
Data Analyst — аналитик данных, который занимается извлечением информации из больших объёмов данных, проведением анализа и подготовкой отчетов. Он использует методы статистики и визуализации данных для того, чтобы сделать выводы и рекомендации на основе данных.
Data Engineer — специалист, который отвечает за сбор, обработку и хранение данных. В процессе работы с данными он занимается задачами, которые обозначают аббревиатурой ETL: достает данные (Extract), трансформирует и обрабатывает (Transform), загружает (Load). Его задача — организовать эти процессы в пайплайн, по которому будут двигаться потоки данных, чтобы их можно было использовать для принятия решений в компании. На заключительном этапе работы с данными дата‑инженер организует базу данных так, чтобы нужную информацию в любой момент можно было поднять и использовать снова.
Machine Learning Engineer — инженер машинного обучения, который занимается разработкой, оптимизацией и реализацией моделей машинного обучения. Его задачи носят практический характер, он учит компьютер находить взаимосвязи в большом количестве данных и на их основе принимать решения.
Хоть каждая должность и кажется уникальной, на деле их обязанности часто пересекаются. В реальной работе, в зависимости от состава команды и потребностей бизнеса, часто приходится выполнять обязанности нескольких должностей (это обычно встречается в небольших компаниях). Так же, как и в работе, подготовка к собеседованию на junior позицию во многом схожа для вышеперечисленных направлений.
Какие ожидания и реалии у работодателей
Каждый работодатель хотел бы, чтобы junior мог работать без постоянного контроля и развивался под руководством тимлида. Для этого новичок должен владеть необходимыми знаниями, инструментами для выполнения текущих задач и обладать достаточной теоретической базой, чтобы постепенно предлагать собственные решения и подступаться к более сложным задачам.
На деле у кандидатов всё довольно неплохо с инструментами: большинство из них заканчивают онлайн‑курсы, которых появилось бесчисленное множество на хайпе данной профессии. Они обладают неплохими знаниями SQL, Python, пробовали работать с несколькими библиотеками, умеют работать с Git и Linux. Могут решать задачи с чётко поставленным ТЗ и используют стандартные методы.
А вот фундаментальных теоретических знаний по алгебре, статистике, теории вероятностей и алгоритмам машинного обучения часто не хватает. Любой шаг в сторону является проблемой для большинства кандидатов. Хотя именно гибкости и нестандартного мышления ждут работодатели от кандидатов.
Что же делать?
Если вы хотите выгодно отличаться от основной массы кандидатов, следует уделить достаточно времени, чтобы прокачать и систематизировать свои знания по математике, машинному обучению, алгоритмам и в целом по данной профессии. Имея более глубокое понимание, вы сможете решать нестандартные и более сложные задачи, научитесь понимать, с чем вы работаете, а не просто использовать инструменты.
Процесс такого обучения занимает гораздо больше времени, но это того стоит. С высокой вероятностью вы сможете ответить почти на все вопросы вашего интервьюера и получите заветную работу в Data Science.
Как готовиться и что учить?
Наша статья направлена в основном на выпускников онлайн‑школ, которые уже обладают начальными знаниями профессии и способны решать несложные задачи. Как говорилось ранее, нужно систематизировать свои знания, подтянуть теорию.
В первую очередь ключ к успеху в любом деле — это самоорганизация. Чтобы хорошо подготовиться, ведите записи того, что изучаете и решаете. Для этой задачи идеально подходит notion. Перед собеседованием будет полезно пролистать свои записи и освежить материал в памяти. Ещё один совет, связанный с записями — научитесь Tex»ать задачи по математике, это позволит держать свои записи в удобном читаемом формате. Ещё одним фактором успешной подготовки является регулярность: обязательно занимайтесь каждый день.
Для начала стоит изучить основы математического анализа, линейной алгебры и теории вероятностей. Если у вас есть бэкграунд технического ВУЗа — это уже половина успеха. Вспомнить то, что вы изучали в университете, вам будет намного проще, чем изучить математику с нуля людям, которые кардинально решили сменить профессию и с математикой не были связаны.
После изучения основ можно переходить к более сложным вещам: таким, как математическая статистика и алгоритмы машинного обучения.
Математический анализ
Математический анализ является фундаментом почти всех прикладных областей математики. Например, в основе нейронных сетей лежит понятие градиента, при оптимизации нелинейной функции вам понадобится гессиан, и, наконец, чтобы исследовать и обосновывать сходимость алгоритма обучения, понятие предела абсолютно необходимо.
Какие разделы стоит изучать:
Множества.
Комплексные числа.
Пределы и производные.
Функции одной и нескольких переменных.
Интегралы (неопределённые и определённые).
Дифференциальные уравнения.
Ряды (числовые, функциональные, степенные, Тейлора, Маклорена, Фурье).
Преобразование Фурье.
Какую литературу использовать для изучения математического анализа?
Ниже приведен список учебников, который отлично подойдет для изучения и используется на математических факультетах в университетах.
1. Архипов Г.И. Лекции по математическому анализу / Г.И.Архипов, В.А.Садовничий, В.Н.Чубариков - Москва: 1999., 695 с.
2. Зорич В.А. Математический анализ Часть 1 / В.А.Зорич - Москва: 2019., 576 с.
3. Зорич В.А. Математический анализ Часть 2 / В.А.Зорич - Москва: 2019., 688 с.
4. Кудрявцев Л.Д. Курс математического анализа Том 1 / Л.Д.Кудрявцев - Москва: 2003., 703 с.
5. Кудрявцев Л.Д. Курс математического анализа Том 2 / Л.Д.Кудрявцев - Москва: 2004., 720 с.
6. Кудрявцев Л.Д. Курс математического анализа Том 3 / Л.Д.Кудрявцев - Москва: 2006., 351 с.
Внесём небольшое уточнение: не стоит хвататься за все учебники сразу и пытаться изучить тему в каждом из них. У каждого автора есть своё видение и стиль изложения, стоит выбрать одного или двух, чьё изложение вам больше по душе.
Помимо учебников нужно использовать и задачники. Два столпа, на которых держится матанализ:
1. Демидович Б.П. Сборник задач и упражнений по математическому анализу / Б.П.Демидович - Москва: 2005., 454 с.
2.Садовничий В.А. Задачи студенческих олимпиад по математике / В.А.Садовничий, А.С. Подкозлин - Москва: 1978., 208 с.
Линейная алгебра
Уже один из первых и простейших методов анализа данных — линейная регрессия — оперирует с понятиями вектора и матрицы. После освоения нижеперечисленных тем вы сможете уверенно двигаться в сторону освоения профессии аналитика данных, не делая остановок на «неизвестных» разделах алгебры. Задачи с собеседований по алгебре у вас будут производить впечатления детских ребусов.
Какие разделы стоит изучать?
Векторы и операции над ними.
Системы координат.
Матрицы, их ранги и определители.
Системы линейных уравнений.
Пространства (линейное, евклидово, аффинное) и их преобразования.
Линейные операторы.
Собственные векторы и значения.
Билинейные и квадратичные формы.
Самосопряжённые и ортогональные операторы.
Какую литературу использовать для освоения линейной алгебры?
Рекомендуем учебник Винберга «Курс алгебры», он покроет все темы и разделы.
Из задачников:
1. Кострикин А.И. Сборник задач по алгебре
2. Кряквин В.Д. ЛИНЕЙНАЯ АЛГЕБРА. Пособие к решению задач. и большая коллекция вариантов заданий
Теория вероятностей
Теория вероятностей пронизывает всю науку о данных. Вероятностные модели и конструкции присутствуют почти по всех алгоритмах машинного обучения. Функция штрафа в задаче регрессии или ошибка классификации опираются на понятие математического ожидания, закон больших чисел и центральная предельная теорема служат обоснованием сходимости и состоятельности многих алгоритмов и методов анализа данных.
Какие темы стоит изучить?
Комбинаторика.
Условная вероятность, формула полной вероятности, теорема Байеса.
Дискретные случайные величины.
Геометрические вероятности.
Случайные величины, распределение случайных величин.
Математическое ожидание непрерывных случайных величин.
Случайные векторы.
Литература для изучения теории вероятностей:
1. А. Н. Ширяев. "Вероятность". МЦНМО, 2004. Том 1.
2. В.Феллер. ВВЕДЕНИЕ В ТЕОРИЮ ВЕРОЯТНОСТЕЙ
3. Н. Я. Виленкин, А. Н. Виленкин, П. А. Виленкин. "Комбинаторика". МЦНМО, 2007
4. В. А. Малышев. "Кратчайшее введение в современные вероятностные модели"
Математическая статистика
Математическая статистика является основополагающей дисциплиной в прикладных областях, имеющих дело с обработкой и анализом данных. Часто её рассматривают как прикладную часть теории вероятностей. Анализ многих реальных данных начинается с применения методов математической статистики и затем (если в этом остаётся необходимость) продолжается методами машинного обучения.
Какие темы стоит изучить?
Выборочное пространство, выборка и выборочное распределение. Виды статистик.
Оценки и их свойства.
Метод моментов и метод максимального правдоподобия.
Эффективные оценки. Доверительные интервалы.
Визуальные методы анализа. Основы проверки гипотез.
Критерий Вальда, критерии, основанные на нормальности данных, корреляционный анализ.
Регрессионный анализ. Метод наименьших квадратов.
Проверка гипотез о параметрах регрессионной модели.
Список литературы: Отличным вариантом будет книга Гмурмана «Теория вероятностей и математическая статистика». Еще одна неплохая книга, которая идеально подойдет для введения в статистику - «Наглядная математическая статистика», Лагутин М.Б.
Что делать с таким объёмом информации?
Как вы могли заметить, объём информации для освоения огромный. Но не стоит этого бояться, надо просто начать читать учебники и разбираться в материале. Кому‑то будет проще, кому‑то — сложнее, главное — не переставать учиться и тренироваться, и тогда у вас всё получится.
Но не для всех подойдёт формат самостоятельного обучения, это может завести человека в тупик, из которого он не выйдет и забросит подготовку. В таком случае на помощь приходят всё те же онлайн‑курсы, но уже по математике. В интернете можно найти курсы по высшей математике, но их не очень много.
При выборе стоит обращать внимание на преподавательский состав (огромным плюсом будет наличие практики в университете и учёные степени), а также на программу курса. Есть отличный курс от Shad Helper, который идеально подойдёт для подготовки в Data Science. В нём сочетаются преподаватели из топовых университетов страны и программа, составленная специально под подготовку в Data Science, что уже звучит как успех. Пройдя такой курс, вы быстрее освоите математику и получите свой первый оффер.
В заключение скажем, что подготовка к собеседованию на Data Science Junior требует усилий и времени, но это вложение окупится в будущем. Изучив основы математики, статистики и алгоритмов машинного обучения, вы с легкостью пройдёте интервью и закрепитесь в профессии, где при должных усилиях вас ждёт большой рост.