Серия интервью по машинному обучению / DataScience - Техническое интервью

Я пишу эту серию сообщений в блоге, чтобы поделиться тем, что я узнал, когда подал заявку на должность специалиста по данным / инженера по машинному обучению и прохождения собеседований на должности в разных компаниях. Я подал заявление о приеме на работу почти 5 лет назад, и с тех пор, как я дал свое последнее собеседование, все кардинально изменилось. В отрасли произошли огромные изменения. Это было немного похоже на неизведанную территорию, но в конце концов я понял весь процесс. Я узнал много нового и получил массу удовольствия от общения с экспертами в различных отраслях, где применяется машинное обучение.

Я собираюсь рассказать о своем опыте Технического собеседования специально в этом посте.

Технические обсуждения в области Data Science / Machine Learning иногда бывает сложно «предсказать» 😉. Технические собеседования будут в основном зависеть от должностной инструкции и необходимого опыта. Спектр вопросов, которые могут возникнуть, может быть очень разнообразным. Однако цель работодателя на большинстве должностей - всегда узнать, что кандидат знает основы конкретной теории или приложения. Вывести / написать алгоритм с нуля никто не попросит! Но они хотели бы понять, где, почему и когда использовать конкретный метод или алгоритм.

Общее количество раундов собеседования и продолжительность могут варьироваться в зависимости от компании. Чаще всего может быть 3–4 раунда, каждый из которых длится максимум около часа. Я думаю, что интервью, вероятно, можно разделить в основном на 3 разные категории на основе нескольких интервью, которые я дал:

  1. Изучение вашего резюме / опыта
  2. Вопросы по машинному обучению и статистике
  3. Coding Challenge

👉 I. Изучение вашего резюме / опыта:

Каждый интервьюер кратко коснется вашего резюме, может быть, не на целый час, а на 5–7 минут. Говорить о прошлой работе и опыте легко. Вам не нужно тратить много времени на подготовку, если вы не думаете, что конкретная область вашего резюме имеет слишком много внимания в работе, на которую вы претендуете. Я хотел бы поделиться различными вещами, которые я испытал и разбить на подразделы:

  1. Интервьюер может попросить рассказать о любом из ваших проектов:

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

  • Источник / сбор данных
  • Формат данных
  • Уборка
  • Исследование
  • Моделирование
  • Оценка
  • Производство

Постарайтесь быть краткими и объясните максимум за 4–5 минут. Если сделать его слишком лаконичным или слишком удлиненным, это может не произвести хорошего впечатления. Если интервьюера интересует какая-либо конкретная тема, он подробно расскажет об обязанностях в описании должности. Так что убедитесь, что вы тщательно с ней справились! Вы всегда можете спросить интервьюера, не хотите ли вы что-то подробно объяснить.

2. Проект интервьюера по интересам:

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

3. Инструменты / Технологии:

Вы могли упомянуть некоторые знакомые вам пакеты, методы, инструменты, облачные среды, такие как Azure, AWS или GCP. Будьте готовы подробно объяснить, что вам знакомо. Конечно, вы собираетесь создать такой профиль в течение определенного периода времени с большим объемом работы, но начало и попытки стать универсальным во многих вещах могут принести вам высокие баллы! Специалисты по разным данным / инженеры по машинному обучению предпочтительнее, чем кандидаты, имеющие опыт только в узкой области.

4. Переход к науке о данных:

Наука о данных / машинное обучение - это уникальная область, и люди из разных слоев общества сделали в них переход. Неудивительно, что предметные эксперты могут разбираться в данных в своих областях лучше, чем кто-либо другой. Однако у некоторых работодателей это может вызвать любопытство; Почему наука о данных? или Как вы начали свою карьеру в области науки о данных? Подготовьте для этого хороший ответ. Не говорите просто: «Это был настоящий бум, так что я увлекся этим» или «Я подумал попробовать». НЕТ! Помните, что каждый ваш ответ работодателю убеждает и приближает вас к финишу. Готово отличное решение!

Убедитесь, что вы пишете в своем резюме только то, что вы сделали или знаете. Не блефуй!

👉 II. Вопросы по ML и статистике:

Вопросы машинного обучения и статистики являются неотъемлемой частью интервью. Это широкий зонтик, и может возникнуть множество вопросов!

Алгоритмы и статистические вопросы. Вопросы, основанные на алгоритмах, могут быть самыми разными. Как я упоминал ранее, они оценят ваши теоретические и прикладные знания о проблеме. Интервьюер может спросить, как работает алгоритм, но не попросит вас разработать его с нуля. Вот некоторые из вопросов, с которыми я столкнулся:

  • В чем разница между XGBoost и LightGBM? Как работает? Какой лучше и почему?
  • Что такое регуляризация? Зачем это нужно?
  • Разница между регуляризацией L1 и L2? Какой из них лучше?
  • В чем разница между методами повышения на основе дерева и градиентного повышения?
  • Каковы предположения линейной регрессии?
  • Что такое компромисс смещения и дисперсии?
  • Что такое t-тест, нормальное распределение и т. Д.?
  • Как будет изменяться среднее значение и медиана в зависимости от новой точки данных, добавленной в набор данных?

Если вы хотите получить список вопросов, которые можно задать, существует множество ресурсов.

Метрики: важно знать и понимать часто используемые метрики в задачах регрессии, классификации или временных рядов. Например. когда дело доходит до проблем классификации, они могут спросить:

  • Что такое матрица путаницы?
  • Когда следует использовать точность, отзыв или оценку F1?
  • Какие показатели лучше использовать, когда класс набора данных сильно несбалансирован?
  • Зачем использовать конкретный тип метрики?

Это фундаментальные вопросы, и интервью обычно охватывает такие типы вопросов. Здесь я хотел бы упомянуть множество ресурсов, которые мне понравились:

  1. Https://elitedatascience.com/machine-learning-interview-questions-answers
  2. Https://www.simplilearn.com/tutorials/machine-learning-tutorial/machine-learning-interview-questions
  3. У Джея есть канал на YouTube и множество полезных советов: https://www.youtube.com/channel/UCcQx1UnmorvmSEZef4X7-6g

👉 III. Задача кодирования:

Задача кодирования может быть основана в основном на языках Python или SQL. Некоторые организации могут интенсивно использовать SQL, поэтому они будут строго соблюдать тесты на основе SQL. Однако есть 2 разных способа решения проблем с кодированием, которые я испытал до сих пор. Может произойти либо то, либо другое, а в некоторых случаях и то и другое. Чтобы назвать их, это:

  1. На платформе кодирования с ограничением времени: существует несколько платформ, таких как CodeSignal, HackerRank и т. Д., Где работодатели могут задавать фиксированный набор вопросов, которые необходимо выполнить в определенный промежуток времени. Вопросы просты и подробно описаны. В некоторых случаях приводятся примеры. Вопросы могут быть простой задачей, требующей проверки ваших логических навыков и подхода к проблеме.
  • Напишите программу, чтобы получить сумму всех простых чисел для указанного диапазона.
  • Напишите программу для подсчета двузначных четных чисел.

2. Кодирование с интервьюером: если вы собираетесь писать код с интервьюером, это будет очень интерактивно. Желательно объяснить свою логику или свой мыслительный процесс. Если вы застряли, интервьюер обычно пытается облегчить вашу работу, давая подсказки и предостерегая там, где это необходимо. Не думайте, что вам нужно писать функциональный код! Это ложное впечатление от такого рода интервью. Как я упоминал ранее, интервьюер будет похож на вашего друга и оценит только то, как вы подходите к проблеме, если вы можете написать код очень простым способом и достаточно чистым. Эффективность приветствуется, но, возможно, в этом нет необходимости, учитывая нехватку времени! Я видел coderpad.io как обычно любимую программу, но она может варьироваться в зависимости от организации или выбора интервьюера.

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

Советы:

  • Прочтите / поймите вопросы, прежде чем переходить непосредственно к их решению. Может быть уже слишком поздно, прежде чем вы поймете, что ожидаемый результат был другим.
  • Не работайте над тем, чтобы сделать ваш код эффективным сразу же! Попробуйте пройти все тесты. Цель состоит в том, чтобы увидеть, сможете ли вы быстро написать программу, которая будет работать!
  • Ничего страшного, если ты не сможешь выполнить все задания. Попробуйте попробовать все из них, начиная с более сложного. Даже если вы напишете достойный код и покажете, что можете писать код, это произведет хорошее впечатление!

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

Следуйте за мной в Twitter или LinkedIn. Вы также можете связаться со мной через [email protected]

Пожалуйста, подпишитесь на членство, если вы хотите стать Средним участником и получать удовольствие от чтения статей без каких-либо ограничений. Medium поделится со мной частью для всех участников, которые зарегистрируются по указанной выше ссылке! Спасибо.