Всем привет! Я — практикующий исследователь данных, и на этом канале делюсь тем, что реально работает в IT. Никакой сухой теории, только личный опыт, рабочие инструменты и грабли, на которые я уже наступил за вас. Рад, что вы здесь!
Собес — это не только шанс получить оффер мечты, но и возможность набраться бесценного опыта. (Сократ, если бы жил в наше время, точно бы согласился) 🥸
Я всегда хожу на собеседования, даже если вакансия не особо цепляет. Почему? Потому что вопросы и задачи, которые там разбирают, оседают в голове намертво. Я могу вспомнить, если не все, то почти все собесы, которые прошел.
Ниже делюсь топом вопросов, которые мне задавали на собеседованиях. Разделил их по направлениям, потому что аналитиков данных часто зовут и на смежные роли — от инженера до BI-разработчика. Поехали!
Вопросы Аналитику данных
- Какие бывают типы баз данных? (Реляционные, нереляционные, колончатые — тут всё просто, но лучше заранее вспомнить примеры, типа PostgreSQL или MongoDB).
- Какие способы организации данных вы знаете? (Звезда, снежинка — звучит как сказка, но это про схемы данных. Один раз меня попросили нарисовать звезду на бумажке, хорошо, что я не растерялся).
- Какие Join’ы бывают, чем отличаются? (Inner, Left, Right, Full — база, без которой никуда. Гугл в помощь, но лучше выучить раз и навсегда, чтобы не краснеть перед интервьюером).
- Назови несколько оконных функций. (Rank, Row_number, Lead, Lag — тут главное не просто перечислить, а объяснить, как применял. Я однажды залип, пытаясь вспомнить разницу между Rank и Dense_rank, — не повторяйте).
- Как бы ты оптимизировал медленный SQL-запрос? (Индексы, избегать подзапросов, смотреть на план выполнения — звучит просто, но на деле надо покопаться. Один раз меня попросили объяснить на реальном примере — спасло, что я помнил свой старый проект).
- Какие метрики вы используете в работе? (Тут ждут конкретику под задачу: для продукта — DAU, MAU, retention, для маркетинга — CTR, CPA, ROI. Я однажды начал перечислять всё подряд, а потом понял, что надо говорить про конкретные примеры в работе. Теперь всегда вспоминаю пару кейсов, где метрики помогли бизнесу).
- Сколько максимально и минимально выведется строк, если сделать Left Join двух таблиц по 10 строк?(Максимум — 100 строк, если каждая строка из левой таблицы свяжется с каждой из правой. Минимум — 10 строк, если в правой таблице вообще нет подходящих записей. Один раз я чуть не ляпнул "зависит от данных", но вовремя вспомнил теорию — спасло). - этот вопрос мне задавали на трех собеседованиях! В первый раз когда я услышал этот вопрос, я начал рисовать на листке для себя и искал подвох, но в итоге логика взяла верх и я ответил как надо.
- Live-coding - встречается почти всегда (можно по пальцам пересчитать где у меня не было задачек на кодинг, не важно это Python или SQL), где-то просят написать скрипт SQL, по задаче. Где-то просят обработать датафрейм с помощью простых функций Python или библиотеки Pandas. Было даже посчитать метрики типа CTR и ROI.
Вопросы Дата-инженеру
- Что такое ETL и чем он отличается от ELT? (Классика: извлечь, трансформировать, загрузить).
- Как бы ты настроил пайплайн данных? (Тут ждут конкретику: какие инструменты (Spark, Kafka), как обрабатывать ошибки, как логировать. Главное — не говорить "я бы погуглил", лучше уметь обрисовать пару мини примеров).
- Что такое партиционирование и зачем оно нужно? (Дробим данные, чтобы быстрее читались. Один раз меня спросили, как выбрать ключ партиционирования, нюансы есть, лучше ознакомиться с темой).
- Расскажи про опыт работы с облачными сервисами. (AWS, GCP, Azure — если упомянул в резюме, готовься рассказывать. Я однажды сказал, что "немного знаю S3", а меня попросили объяснить, как настроить бакет. Хорошо, что вспомнил, хоть и протестил его во время учёбы один раз).
Вопросы BI-разработчику
- Какой инструмент для визуализации данных предпочитаешь и почему? (Tableau, Power BI, Looker, Data Lens, Fine BI — тут главное обосновать. Я всегда говорю про Power BI, потому что он у меня под рукой был на прошлом проекте).
- Как построить дашборд, чтобы он был понятен бизнесу? (Меньше графиков, больше смысла — по дизайну мне помогает брошюрка из книжки "Говорим на языке диаграмм", так как со вкусом у меня беда).
- Что такое DAX и как ты его использовал? (Если работаешь с Power BI, без DAX никуда. Часто попросят написать формулу на собесе, то же касается и Power Query).
- Почти всегда на эту позицию дают тестовое. Вопросы обычные по результатам тестового: зачем именно этот график? Зачем именно эта диаграмма? Что можно узнать из этой диаграммы/графика и какие выводы можно сделать? и т.п. Если делали дашборд сами, то ответить не составит труда.
Вопросы Data Scientist
- Объясни разницу между accuracy, precision и recall. (Классика DS, которую я зубрил перед каждым собесом. Один раз меня попросили привести пример, где precision важнее recall, — спасибо медицинским кейсам из интернета).
- Как бы ты боролся с переобучением модели? (Регуляризация, кросс-валидация, больше данных — звучит просто, но лучше заранее вспомнить, как это делал на практике, если делал конечно).
- Расскажи про опыт с A/B-тестами. (Если в резюме есть намёк на эксперименты, жди этот вопрос. Я однажды чуть не запутался в p-value, но вовремя вспомнил курс по статистике). Кстати про А/В-тесты меня спрашивали и на позицию Аналитика данных.
- Какие библиотеки для NLP вы знаете? (NLTK, SpaCy, Natasha, Transformers и т.п. желательно чтобы у вас был с ними опыт, потому-что часть есть вытекающие вопросы. Я со всеми ними поработал на курсах по Машинному обучению и на хакатонах, и ничего такого сложного я в них не вижу, так как вся магия происходит под капотом. Любопытно, но там где я сейчас работаю мне задавали этот вопрос на позицию Аналитика данных, впоследствии я понял почему.
Что я понял
Собеседования — это не только про то, чтобы показать, какой ты умный или тупой🙃. Это ещё и про то, чтобы не паниковать, если что-то забыл, и уметь выкрутиться. Я раньше думал, что надо знать ответы на все вопросы, но потом понял: главное — показать, что ты можешь думать и решать задачи, желательно всегда рассуждать вслух и очень критически подходить к вопросам. Ну и, конечно, не мешает повторить базу перед собесом, как правило её и задают в первую очередь.
Лично я никогда не бываю собой доволен, и если не ответил на половину вопросов и если ответил на все, всё равно потом чувство после собеседования типа "вот я тупоооой!!!"🤣...
Выводы
- Готовьтесь под роль. Вопросы для аналитика и инженера пересекаются, но акценты разные — не пытайтесь объять необъятное.
- Держите базу наготове. SQL, Python, немного статистики — это как билет на собес, без них не пустят. (Хотя было такое что в одной компании нужно было знать язык R, так как они там работали, а на знание Python даже внимания не обращали. И еще в Яндексе проходил собеседование, там не нужен был Python, там был внутренний язык типа Jinja, но опять таки раз на раз не приходится)
- Рассказывайте истории. Если спросили про оконные функции, не просто перечисляйте, а вспомните, как вы их использовали в проекте.
- Не бойтесь ошибаться. Лучше честно сказать "забыл, но могу разобраться", чем выдумывать на ходу.
Перед собесом я всегда делаю шпаргалку — листок с ключевыми формулами, командами и терминами (типа "Rank vs Dense_rank" или "ETL шаги"). Не подглядываю, но сам факт, что она есть, успокаивает. А ещё за день до собеса решаю пару задачек на SQL или Python — просто чтобы пальцы вспомнили, как кодить без стресса. Попробуйте, вдруг и вам зайдёт.
Вот такие вопросы мне попадались — надеюсь, мой список поможет вам подготовиться и не теряться на собесах. А какие вопросы запомнились вам? Делитесь, буду благодарен!
Я не претендую на последнюю инстанцию, я пишу о своём пути и опыте. Спасибо что дочитали до конца. Подпишитесь👇👇👇, ставьте лайки 👍🏽👍🏽👍🏽 впереди много интересных статей про навыки, инструменты, обучение, лайфхаки и пути аналитика.