Лучший инструмент подготовки к собеседованию с менеджером по инженерии данных с вопросами и ответами

Я провел собеседование с сотнями кандидатов на должность менеджера по обработке данных. Вот мое исчерпывающее руководство по подготовке к собеседованию.

Я разбил свой совет на четыре части, чтобы помочь вам пройти следующее собеседование по инженерии данных:

  1. Понимание спецификации работы
  2. Подготовка к технической оценке
  3. Подготовка схемы архитектуры
  4. Отработка навыков межличностного общения

Давайте погрузимся в это!

1. Понимание спецификации работы

Пройдите спецификацию работы. Выберите любые технологии и принципы работы, которые вам незнакомы, и проведите исследование.

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

Вот некоторые ключевые технологии и принципы, которые стоит иметь базовое понимание:

Популярные языки инженерии данных

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

  1. SQL — язык структурированных запросов по-прежнему остается лучшим выбором, когда речь идет о создании, управлении и запросе продуктов данных. Более зрелые технологические стеки, вероятно, будут в большей степени зависеть от SQL.
  2. Python — Python широко используется в инженерии данных благодаря своей универсальности. Вы можете написать целые конвейеры ETL с помощью Python и даже вложить в него свой SQL.
  3. Scala — Scala — это мощный язык для инженеров данных. Язык работает на виртуальной машине Java, что обеспечивает бесшовную интеграцию между конвейерами данных и приложениями Java.

Эти языки также популярны в сфере Data Science. Изучение их поможет вам перейти в эту роль в будущем.

Популярные поставщики облачных сервисов для обработки данных

Большинство компаний будут либо работать в облаке, либо планируют перейти в облако, если хотят масштабировать свои операции по обработке данных. Существует три основных облачных провайдера:

  1. AWS (веб-сервисы Amazon)
  2. GCP (облачная платформа Google)
  3. Майкрософт Азур

Компании обычно используют одного облачного провайдера, и даже если вы не пользовались этим облачным провайдером, передавать свои навыки легко.

Облачные сервисы

Если вы знаете некоторые сервисы GCP, а компания, с которой вы проводите собеседование, использует AWS Redshift (сервис, о котором вы не знаете), то первое, что вам нужно найти для подготовки, это:

«Эквивалент Redshift GCP»

Если вы не знакомы с сервисом или его аналогом (Redshift/BigQuery), найдите обзорное видео на YouTube об этом сервисе и начните задавать себе некоторые из приведенных ниже примеров вопросов об сервисе:

  • Почему они решили использовать это программное обеспечение вместо аналогичного программного обеспечения?
  • Каковы финансовые последствия этого программного обеспечения?
  • Какую ценность это программное обеспечение добавляет к бизнесу?
  • Как это может вписаться в остальную часть стека технологий?

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

Популярные облачные сервисы для обработки данных

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

  1. Amazon S3/Облачное хранилище Google/Хранилище BLOB-объектов Azure. Хранилище объектов является наиболее часто используемым инструментом в обработке данных. Это позволяет нам сохранять любые данные в облаке. Эти сервисы обычно являются основой озер данных и зон размещения данных.
  2. AWS Lambda/Облачные функции Google/Функции Azure — эти бессерверные сервисы предлагают простое решение для преобразования данных или запуска триггеров. Просто напишите свой код и разверните его!
  3. AWS Redshift/Google BigQuery/Azure Synapse Analytics. Большинство задач обработки данных в конечном итоге приводят к созданию таблицы внутри хранилища данных. Хранилище данных компании — это ее платформа для выполнения аналитики и машинного обучения.

Вводные облачные квалификации

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

Популярные рабочие практики и инструменты в области инженерии данных

Большинство технологических отделов (особенно технологических компаний) будут работать по принципу Agile. Agile-фреймворки поощряют быстрые неудачи и обычно позволяют командам чаще приносить пользу.

Agile — это общий термин, который охватывает некоторые из популярных способов работы в области обработки данных:

  1. Scrum — Scum — самая популярная рабочая практика в рамках Agile. Он делит поставки на спринты, которые делятся на более мелкие временные блоки (например, две недели). Стендапы спринтов происходят ежедневно, работа обычно дорабатывается и планируется еженедельно, а демонстрации проходят периодически. Когда люди используют термин Agile, они часто имеют в виду Scrum.
  2. Канбан — и Скрам, и Канбан часто проводят одни и те же встречи. Ключевое различие между Scrum и Kanban заключается в том, что в Kanban нет спринтов. Вместо этого работа перемещается по доске плавательных дорожек до завершения.
  3. Водопад — Водопад не является гибкой практикой, но его все же можно использовать для некоторых проектов. Водопадное управление проектами — это практика создания ценности одной большой поставкой. Временные рамки для проектов, скорее всего, составят несколько месяцев, и большая часть планирования будет сделана заранее.

Все гибкие фреймворки, скорее всего, будут управлять своим проектом в Jira (или эквиваленте). Это будет включать в себя создание заявок и перемещение их по дорожкам для плавания (например, «в процессе», «проверка экспертами» и «завершено»).

Вас могут спросить о том, как вы понимаете методы управления проектами компании и ключевые различия между ними, поэтому убедитесь, что вы готовы к этим вопросам!

2. Подготовка к технической оценке

Интервью по инженерии данных обычно включают в себя взятие на дом или оценку кода в реальном времени.

Вас могут попросить провести три типа технической оценки:

2.1. Тест логического кодирования

Эти тесты обычно проводятся на стороннем веб-сайте, таком как LeetCode или HackerRank.

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

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

Если вы собираетесь выполнять живое кодирование на своей собственной машине, убедитесь, что ваша среда IDE настроена правильно. Мне приходилось отменять интервью, потому что интервьюируемый не понимал, что на его машине не установлен Python!

2.2. Конвейер данных/тест манипулирования

Ваши интервьюеры предоставят вам скелет конвейера данных, входные данные и необходимые выходные данные.

Наиболее распространенная архитектура конвейеров данных следует принципам ETL (извлечение, преобразование, загрузка).

  1. Извлеките данные из исходного местоположения с помощью API или других средств.
  2. Преобразуйте данные в формат, повышающий ценность для бизнеса.
  3. Загрузите данные в место, которое позволяет реализовать эту ценность для бизнеса.

Вы можете найти очень простой проект ETL здесь, а более продвинутые — здесь.

2.3. Тест на манипулирование данными

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

Самая фундаментальная концепция, которую вам нужно понять, чтобы пройти эти тесты, — это различные способы объединения данных.

Эти присоединения останутся неизменными независимо от того, на каком языке вы оцениваетесь.

Вас, скорее всего, будут оценивать на языке (языках) из описания работы (упомянутого в предыдущей главе).

Если вас просят использовать Python вместо SQL, то существуют пакеты Python (например, pandasql), которые позволяют запускать SQL внутри Python.

Лучшие советы по технической оценке

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

Если это домашний тест, убедитесь, что вы пишете комментарии в своем коде (например, строки документации), чтобы напомнить вам, что делает каждая функция, и помочь интервьюерам прочитать ваш код.

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

  • Является ли язык программирования функциональным или объектно-ориентированным?
  • Как код компилируется и выполняется?

Вот несколько распространенных вопросов по SQL, Python и базам данных:

Распространенные вопросы по SQL

Распространенные вопросы по Python

Распространенные вопросы по базам данных

3. Подготовка схемы архитектуры

Вас, вероятно, попросят нарисовать конвейер данных или систему, над которой вы ранее работали в их офисе. Если собеседование дистанционное, рекомендую ознакомиться с draw.io или Lucidchart.

Вам следует потренироваться рисовать архитектурную диаграмму конвейера данных или системы, с которой вы ранее работали, до того, как вы придете на собеседование.



Существуют некоторые ключевые особенности архитектурной схемы, наличие которых необходимо (если применимо):

  • Четкий поток того, как данные перемещаются по системе
  • Этикетки на каждом из ваших программных компонентов
  • Любые сетевые компоненты
  • Ваш конвейер CICD
  • Ваше решение для мониторинга и оповещения

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

Часто задаваемые вопросы об архитектуре включают:

  • Как данные перемещаются между отдельными компонентами? Какие сетевые функции необходимы для этого?
  • Как развернут ваш код? Это через конвейер CICD?
  • Что бы вы изменили, если бы вам пришлось перепроектировать это решение?
  • Какие соображения по производительности у вас были при разработке этого решения?

Другим элементом успеха в оценке вашей архитектуры является понимание бизнес-стороны вашего решения:

  • Каковы бизнес-требования для этого продукта?
  • Откуда вы знаете, что предоставляете своим клиентам высококачественные данные? (например, проверки качества данных)
  • Как предотвратить простои во время технического обслуживания?

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

Если вас попросили поговорить о бизнес-вопросах, убедитесь, что вы абстрагировались от технических деталей и сосредоточились на ответе на вопрос.

Если вы никогда раньше не проектировали конвейер данных, я настоятельно рекомендую спроектировать (и построить) его перед вашей оценкой.



4. Практика ваших межличностных навыков

Кандидаты часто недооценивают значение, которое менеджеры по найму придают навыкам межличностного общения (особенно коммуникации).

Я видел, как менеджеры снижали баллы кандидатам за то, что они говорили так быстро, что я думал, что они собираются фристайлить.

4.1 Четко выражайте свои мысли

«У меня больше шансов сказать правильные вещи, если я буду говорить больше» — распространенное заблуждение кандидатов, которое приводит к бессвязным и бессмысленным ответам.

Если вы не понимаете вопроса, то лучше попросить ваших интервьюеров разъяснить его, а не бессвязно.

Можете ли вы объяснить, что вы подразумеваете под базой данных NoSQL типа «ключ-значение»?

Если вы угадываете ответ, скажите, что это предположение, и начните свой ответ с вашего обоснования.

Я не уверен в этом на 100%, но я предполагаю, что базы данных типа «ключ-значение» часто работают намного быстрее, потому что ищут только один ключ?

Если вы не можете прояснить свое понимание или обосновать предположение, не менее важно это признать.

Я не уверен, потому что раньше не работал с базами данных NoSQL типа «ключ-значение».

4.2 Подумайте о своих предыдущих проектах

Скорее всего, вы столкнетесь с этапом собеседования, на котором вам будут задавать такие вопросы, как:

Расскажите мне о времени, когда вам пришлось быстро учиться на ошибках

or

Расскажите мне о случае, когда вам приходилось влиять на кого-то на рабочем месте.

Эти вопросы намного проще, если вы уже подумали о предыдущих проектах и ​​их ключевых моментах (особенно о завершении проекта).

У меня есть список проектов, который выглядит так, когда я иду на виртуальные собеседования:

  • Проект: Haver Data Feed
  • Обзор. Сложный конвейер ETL для больших объемов финансовых данных, включающий множество шагов и преобразований для удовлетворения требований заинтересованных сторон.
  • Ключевые моменты: столкновение между мной и заинтересованной стороной, когда мне пришлось признать, что эта работа займет намного больше времени, чем я ожидал, встреча архитекторов и дизайнеров в середине проекта, которая, вероятно, должна была произойти раньше, и конечный продукт, содержащий более миллиарда строк данных, которые использовались исследовательскими группами.

Итак, если у меня возник вопрос типа:

Расскажите мне о времени, когда вам приходилось управлять ожиданиями заинтересованных сторон

Я мог бы легко вернуться к своему проекту Haver и рассказать о том, как я оправдал их ожидания и как я мог бы лучше помочь им понять масштабы проекта.

Если вы еще не начали свою профессиональную карьеру, то ваш список проектов может выглядеть примерно так:

Проект: магистерская диссертация по физике

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

Ключевые моменты: независимое исследование очень сложной темы, длительные обсуждения с моим руководителем, чтобы прояснить мое понимание сложных концепций, и диссертация из 10 000 слов, в которой резюмируются мои количественные исследования с использованием C++.

Итак, если бы меня спросили:

Расскажите мне о времени, когда вам приходилось работать самостоятельно над проектом

Я все еще был бы готов дать хороший ответ.

Попробуйте придумать несколько проектов на некоторые из этих вопросов.

4.3 Подготовьтесь задавать вопросы

Интервьюеры обычно заканчивают интервью словами «у вас есть вопросы к нам?».

На данном этапе я бы рекомендовал задать три типа вопросов:

4.3.1. Вопросы о роли

Убедитесь, что вы четко определили, как будет выглядеть ваша повседневная жизнь, чтобы убедиться, что она соответствует вашим ожиданиям.

Название «Инженер данных» является относительно новым, и определения этой роли в компаниях могут сильно различаться. У меня есть друг, который планировал весь день писать конвейеры ETL на Python, но в итоге ему пришлось создавать представления на SQL поверх существующих продуктов данных.

4.3.2. Вопросы о компании

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

Компания Sainsbury’s Technology предложила мне один День личностного развития, который позволил мне работать над тем, что мне нравилось, раз в две недели (я работал над моим алгоритмом ставок на футбол), и мне это нравилось.



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

4.3.3. Вопросы об интервьюерах

Все любят говорить о своих интересах, и ваши интервьюеры не исключение.

Если HR изначально не предоставляет имена интервьюеров, то я бы рекомендовал запросить их и провести быстрый поиск интервьюеров в Google/LinkedIn. Этот быстрый поиск, вероятно, даст несколько важных тем для обсуждения до или после интервью.

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

Заключение

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

Если вы хотите провести пробное интервью со мной, пожалуйста, нажмите здесь:



Удачи!



Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.