Как я провожу собеседования на позицию дата инженера? Обычно в 3 этапа:
Этап 1: behavioral interview основаны на Amazon Leadership PrinciplesПосле Амазона, я стал использовать вопросы из
behavioral interview. 3-4 вопроса, которые начинаются с фразы «Расскажи мне ситуацию, когда ты….». Такие вопросы очень хорошо помогают понять контекст, глубину и личностные качества кандидата. Чаще всего все тонут при использовании слова «МЫ» вместо «Я». То есть кандидат в команде, что-то делал, а сам не очень. Примеры вопросов:
⚓Tell me about the most complex problem you’ve ever worked on (Dive Deep)
⚓Tell me about a time when you took on something significant outside your area of responsibility, and why was that important? (Ownership)
⚓Tell me about a time when you were able to deliver an important project under a tight deadline. (Deliver Result)
⚓What’s the coolest thing you’ve learned on your own that you’ve then been able to apply in your job and perform your job further? (Learn and be Curious)
Этап 2: технический + концептуальная архитектура решенияСначала я спрошу свои любимый вопросы:
⚓Чем отличается ETL и ELT?
⚓Чем отличается MPP и SMP?
⚓Чем отличается Data Warehouse и OLTP?
⚓Что такое Lake house?
⚓Какие методы для моделирования хранилища данных ты знаешь?
⚓Какие методы ты использовал для Data Quality в data pipelinese?
⚓Как ты будешь решать проблему производительности BI и/или ETL?
Далее можно сделать white boarding – то есть расшарить экран и порешать задачки на SQL. Python я не люблю спрашивать. Если мне нужен python, то скорей всего для Apache Spark. С Airflow я не работал. SQL для меня это язык №1 для работы с данными, все должны его знать на хорошем уровне.
И в конце можно поговорить про концептуальную архитектуру. Например, у нас есть такой-то бизнес, например облачный продукт. Бизнес-пользователи хотят знать базовые показатели/метрики. На входе есть несколько систем – Sales Force, Facebook, Google Analytics, OLTP (бэк енд). Как ты будешь строить аналитическое решение и какие инструменты будешь использовать.
Этап 3: домашнее заданиеЯ люблю давать полезные и интересные проекты. Например:
1. Запусти тестовый аккаунт Redshift/Big Query/Snowflake
2. Используй заданный data set (NY Taxi, GitHub или другие)
3. Построй ETL с помощью своего любимого инструмента, чтобы загрузить данные в хранилище данных и построить таблицу фактов
4. Подключи свой любимый BI инструмент и нарисуй дашборд
Такое задание позволяет оценить понимание end-to-end аналитическое решение и особенности знаний кандидата. Можно попросить использовать конкретный стек, и рассказать, как его скачать и установить.
PS По необходимости можно менять в сторону Spark, Streaming, BigData. Но как правило этого достаточно, чтобы понять насколько хороший специалист и насколько хороший у него кругозор.