Однажды я получил оффер от Deliveroo, в этой компании я должен был стать Data Science Manager. Пока я готовился к тому, чтобы приступить к выполнению своих обязанностей, оффер отозвали. У меня на тот момент не было подушки безопасности на случай продолжительного отсутствия работы. Я поделюсь с вами всем, что в итоге помогло мне получить сразу два оффера на должность Data Scientist от Facebook. Надеюсь, это поможет кому-то из вас выбраться из той сложной ситуации, в которой я оказался несколько месяцев назад.
1. Организация — ключ ко всему
Я ходил на собеседования в Google (и DeepMind), Uber, Facebook, Amazon на все, что было так либо иначе связано с должностью Data Scientist. В большинстве случаев мне задавали вопросы из таких отраслей, как
- Разработка ПО.
- Прикладная статистика.
- Машинное обучение.
- Обработка, управление и визуализация данных.
Никто не ожидает от вас уровня «суперпрофи» для всех этих отраслей. Но вы должны понимать в них достаточно, чтобы убедить интервьюера в своей компетентности и праве занять предлагаемую должность. Насколько глубоко вы должны разбираться в теме — зависит от самой вакансии, но поскольку это очень конкурентная сфера, пригодятся любые знания.
Я рекомендую использовать Notion для организации подготовки к собеседованию. Этот инструмент универсален, плюс ко всему, он дает возможность применять такие техники, как интервальное повторение и активное вспоминание. Они помогают закрепить результаты обучения и раскрыть ключевые вопросы, которые снова и снова возникают на собеседовании на должность дата сайентиста. У Али Абдала (Ali Abdaal) есть отличное руководство по ведению заметок с помощью Notion. Помогает максимально раскрыть ваш потенциал во время собеседования.
Я постоянно повторял свои записи в Notion, особенно активно — как раз перед интервью. Это позволяло быть уверенным в своих силах и в том, что ключевые темы и термины находятся в моей «рабочей памяти», так что не не придется тратить драгоценное время, многозначительно говоря «нуууууу» после некоторых вопросов.
2. Разработка ПО
Далеко не всегда вам понадобится отвечать на вопросы о временной сложности алгоритма. Но на любой должности дата-саентиста нужно писать код. Data Science, как известно, это не одна профессия, а множество, эта отрасль привлекает таланты из самых разных направлений, включая разработку ПО. Соответственно, вам придется конкурировать с программистами, которые разбираются в нюансах написания эффективного кода. Я бы рекомендовал перед собеседованием потратить 1-2 часа в день, осваивая и/или укрепляя знания и умения в таких темах:
- Массивы.
- Хэш-таблицы.
- Связные списки.
- Метод двух указателей.
- Строковые алгоритмы (работодатели ОБОЖАЮТ эту тему).
- Бинарный поиск.
- Алгоритмы разделяй и властвуй.
- Алгоритмы сортировки.
- Динамическое программирование.
- Рекурсия.
Не изучайте алгоритмы чисто формально. Это бесполезно, поскольку интервьюер может задать вопрос о нюансах какого-то алгоритма, и вы потеряетесь. Вместо этого лучше освоить базу, лежащую в основе работы каждого алгоритма. Изучите, что такое вычислительная и пространственная сложности и поймите, почему все это важно для создания качественного кода.
У интервьюеров в самом деле найдется что порасспросить об алгоритмах, поэтому стоит изучить базовые элементы и чаще всего встречающиеся кейсы, чтобы потом было проще отвечать на собеседованиях.
Попробуйте ответить на каждый из возможных вопросов, даже если на это уйдет много времени. Затем посмотрите на модель решения и попытайтесь определить оптимальную стратегию. Затем посмотрите на ответы и попытайтесь понять, почему так? Задайте себе вопросы вроде «почему средняя временная сложность Quicksort O (n²)?» или «Почему два указателя и один цикл for имеют больше смысла, чем три цикла for»?
3. Прикладная статистика
В Data Science важную роль играет прикладная статистика. Насколько важную — будет зависеть от должности, на которую вы претендуете. Где на самом деле используется прикладная статистика? Везде, где необходимо систематизировать, интерпретировать и извлекать информацию из данных.
Во время собеседований я советую внимательно изучать вот такие темы:
- Описательная статистика (какому распределению соответствуют мои данные, каковы режимы распределения, математическое ожидание, дисперсия).
- Теория вероятностей (учитывая, что мои данные соответствуют биномиальному распределению, какова вероятность наблюдения 5 лидов в 10 событиях перехода по клику).
- Проверка гипотез (основа любого вопроса по A / B-тестированию, T-тестам, дисперсионному анализу, критериям хи-квадрат и т. Д.).
- Регрессия (является ли соотношение между переменными линейным, каковы потенциальные источники смещения и ошибок в данных).
- Байесовский вывод (какие преимущества / недостатки по сравнению с частотными методами).
Если вам кажется, что это огромный объем информации для изучения, то вам не кажется. Я был поражен, сколько всего могут спросить на интервью и сколько можно найти в сети для того, чтобы помочь себе в ходе подготовки. Справиться мне помогли два ресурса:
- Introduction to Probability and Statistics — бесплатный курс, где рассказывается обо всем, что было описано выше, включая вопросы и экзамен для самопроверки.
- Machine Learning: A Bayesian and Optimization Perspective. Это, по большей части, курс по машинному обучению, чем по прикладной статистике. Но подходы линейной алгебры, описанные здесь, помогают осознать нюансы концепции регрессионного анализа.
Лучше всего осваивать это не путем заучивания. Нужно решить столько задач, сколько сумеете. Glassdoor — отличный репозиторий для вопросов по прикладной статистике, которые обычно попадаются в интервью. Наиболее сложным собеседованием, которое было у меня, стало интервью в G-Research. Но мне очень понравилось готовиться к нему, и Glassdoor помог понять, насколько я продвинулся в освоении этой темы.
4. Машинное обучение
Теперь мы пришли к самому главному — машинному обучению. Но эта тема настолько обширна, что в ней можно просто потеряться.
Ниже — ресурсы, которые дадут очень прочную основу для начала работы с машинным обучением. Вот далеко не исчерпывающий набор тем, ранжированных по темам.
Метрики — классификация
Метрики — регрессия
Компромисс отклонение-дисперсия, Over/Under-Fitting
Выбор модели
Sampling
Комментариев нет:
Отправить комментарий