Для чего этот канал? Привет новым подписчикам!
👋 Салют! Меня зовут Павел.
Уже 6 лет я обеспечиваю компании аналитикой, помогаю им расти с помощью а/б тестов, организовываю работу с данными и выращиваю профессионалов. А еще занимаюсь развитием аналитической культуры в компаниях. Последние 3 года – в качестве Head of Product Analytics & Data Engineering.
В этом канале я рассказываю, как проходить собеседования, получить оффер выше среднего по рынку и вырасти в карьере от джуна до лида. Также делюсь своим опытом, кейсами и проектами.
Обсуждаем посты и общаемся мы здесь.
Также я менторю специалистов и руководителей продуктовых компаний. Узнать о том, с чем я могу помочь, можно нажав сюда.
Ключевые хештеги канала:
#задачиссобеседований – задачи и вопросы с собеседований вместе с их разбором
#продуктоваяаналитика – про продуктовую аналитику
#абтесты – про а/б тестирование и методологию их проведения
Связаться со мной напрямую и задать мне вопрос можно тут – @pbukhtik
Уже 6 лет я обеспечиваю компании аналитикой, помогаю им расти с помощью а/б тестов, организовываю работу с данными и выращиваю профессионалов. А еще занимаюсь развитием аналитической культуры в компаниях. Последние 3 года – в качестве Head of Product Analytics & Data Engineering.
В этом канале я рассказываю, как проходить собеседования, получить оффер выше среднего по рынку и вырасти в карьере от джуна до лида. Также делюсь своим опытом, кейсами и проектами.
Обсуждаем посты и общаемся мы здесь.
Также я менторю специалистов и руководителей продуктовых компаний. Узнать о том, с чем я могу помочь, можно нажав сюда.
Ключевые хештеги канала:
#задачиссобеседований – задачи и вопросы с собеседований вместе с их разбором
#продуктоваяаналитика – про продуктовую аналитику
#абтесты – про а/б тестирование и методологию их проведения
Связаться со мной напрямую и задать мне вопрос можно тут – @pbukhtik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26👍3🤣1💅1
Что такое продуктовая команда?
Если делить очень грубо, компании в мире IT бывают преимущественно двух видов – аутсорсинговые и продуктовые.
Аутсорсинговые занимаются выполнением работ для других компаний на заказ. Примерами аутсорсинговых компаний могут быть EPAM, Luxoft, red_mad_robot и т. д.
Продуктовые компании занимаются выращиванием собственного продукта или продуктов. Примеры таких компаний – Yandex, Aviasales, Airbnb и т. д.
Продукт чаще всего строится из продуктовых команд (они также называются agile-командами или кроссфункциональными командами) и Core команд.
Core команды занимаются усилением продукта целиком. Например, они занимаются выстраиванием общей инфраструктуры продукта, архитектуры приложения и т. д.
Продуктовые команды ответственны за какие-то конкретные части продукта. К примеру, может быть отдельная команда, которая занимается активацией пользователей, т. е. вовлечением их в платную версию продукта. А может быть отдельная команда, которая фокусируется на удержании пользователей. Или которая создает решения для повышения эффективности и качества работы службы поддержки. Думаю, вы поняли идею.
Продуктовые команды – это полноценные и автономные команды, которые слабо зависимы от других команд. Чаще всего они состоят из продуктовых менеджеров, продуктовых аналитиков, разработчиков (backend / frontend / android / ios и т. д), продуктовых дизайнеров, тестировщиков / QA.
В такой команде очень важную роль выполняет продуктовый аналитик. О нем я расскажу в следующем посте.
#продуктоваяаналитика
Если делить очень грубо, компании в мире IT бывают преимущественно двух видов – аутсорсинговые и продуктовые.
Аутсорсинговые занимаются выполнением работ для других компаний на заказ. Примерами аутсорсинговых компаний могут быть EPAM, Luxoft, red_mad_robot и т. д.
Продуктовые компании занимаются выращиванием собственного продукта или продуктов. Примеры таких компаний – Yandex, Aviasales, Airbnb и т. д.
Продукт чаще всего строится из продуктовых команд (они также называются agile-командами или кроссфункциональными командами) и Core команд.
Core команды занимаются усилением продукта целиком. Например, они занимаются выстраиванием общей инфраструктуры продукта, архитектуры приложения и т. д.
Продуктовые команды ответственны за какие-то конкретные части продукта. К примеру, может быть отдельная команда, которая занимается активацией пользователей, т. е. вовлечением их в платную версию продукта. А может быть отдельная команда, которая фокусируется на удержании пользователей. Или которая создает решения для повышения эффективности и качества работы службы поддержки. Думаю, вы поняли идею.
Продуктовые команды – это полноценные и автономные команды, которые слабо зависимы от других команд. Чаще всего они состоят из продуктовых менеджеров, продуктовых аналитиков, разработчиков (backend / frontend / android / ios и т. д), продуктовых дизайнеров, тестировщиков / QA.
В такой команде очень важную роль выполняет продуктовый аналитик. О нем я расскажу в следующем посте.
#продуктоваяаналитика
👍9😁1
Продуктовый аналитик – какова его роль и почему он так важен?
Продуктовый аналитик – это глаза продукта.
Он находит точки роста, выявляет инсайты в данных и определяет проблемные места в продукте.
Работая в синергии с продуктовым менеджером, он помогает ему валидировать, приоритизировать и оценивать потенциальный вклад гипотез в продукт и его метрики.
Он размечает аналитическими событиями новую функциональность.
Готовит все необходимое для запуска а/б тестов, проводит их, подводит по ним результаты и дает рекомендации для последующих итераций.
Также он мониторит метрики команды и продукта целиком, сообщает о проблемах и подсвечивает их причины при устранении поломок.
А какую роль продуктовый аналитик выполняет в вашей компании? Про какой аспект работы продуктового аналитика вам было бы интересно узнать подробнее?
#продуктоваяаналитика
Продуктовый аналитик – это глаза продукта.
Он находит точки роста, выявляет инсайты в данных и определяет проблемные места в продукте.
Работая в синергии с продуктовым менеджером, он помогает ему валидировать, приоритизировать и оценивать потенциальный вклад гипотез в продукт и его метрики.
Он размечает аналитическими событиями новую функциональность.
Готовит все необходимое для запуска а/б тестов, проводит их, подводит по ним результаты и дает рекомендации для последующих итераций.
Также он мониторит метрики команды и продукта целиком, сообщает о проблемах и подсвечивает их причины при устранении поломок.
А какую роль продуктовый аналитик выполняет в вашей компании? Про какой аспект работы продуктового аналитика вам было бы интересно узнать подробнее?
#продуктоваяаналитика
1👍13❤2🔥2
Почему важно время от времени менять работу, если для тебя важен карьерный рост и развитие?
Длительная работа на одном месте (будь то проект или продукт) так или иначе незаметно приводит к стагнации. Я долго этого не замечал, пока не ушёл в FindMyKids после 3 долгих лет работы в Купибилете.
📍Первые ощущения, которые испытываешь на новом месте, которые и я испытывал в Купибилете – это быстро пролетающие рабочие часы. Все задачи очень интересные. Ты активно в них разбираешься, знакомишься со всеми новыми инструментами, устоявшимися в компании практиками, исторически сложившимися вещами, процессами, людьми. Одним словом — въезжаешь в работу.
📍Проходит время. В какой-то момент осознаёшь, что уже хорошо понимаешь большинство особенностей и тонкостей компании, как все устроено и работает, что уже приобрёл все необходимые знания и навыки для эффективной работы. С этого момента ты начинаешь приносить ощутимую пользу компании и значимо влияешь на изменения, привносить в неё что-то новое.
📍Спустя ещё какое-то время, работа ощущается как будто бы идущей по рельсам – всё те же люди, всё те же технологии, у многих задач схожий контекст, присутствуют одни и те же ограничения и возможности для влияния и изменений. Интересные задачи и развитие может всё ещё и есть, но как будто бы всё об одном и том же. Появляются первые мысли о перспективах смены работы…
📍И первая дилемма, с которой сталкиваешься: “Но ведь ещё столько интересных проектов запланировано! Столько проектов ещё в процессе, по которым вот-вот будет финальный результат и можно будет замерить его влияние. И сколько проектов уже было сделано – как-то жалко было бы всё это оставлять.”
И вот ты уже на новой работе. Быстро пролетающие рабочие часы, все задачи очень интересные…
Но есть важные отличия. Масштаб, значимость и сложность задач уже иные. Технологии, которые ты всегда хотел изучить, но не было возможности применить их в работе. Процессы и осознанность компании более зрелые. Другие специалисты с иным опытом и знаниями, которые можно перенимать. Оглядываясь назад, совершенно не жалеешь что принял решение о переходе.
Менять работу волнительно. Но именно выход из зоны комфорта приведет вас к росту.
#карьерныйрост
Длительная работа на одном месте (будь то проект или продукт) так или иначе незаметно приводит к стагнации. Я долго этого не замечал, пока не ушёл в FindMyKids после 3 долгих лет работы в Купибилете.
📍Первые ощущения, которые испытываешь на новом месте, которые и я испытывал в Купибилете – это быстро пролетающие рабочие часы. Все задачи очень интересные. Ты активно в них разбираешься, знакомишься со всеми новыми инструментами, устоявшимися в компании практиками, исторически сложившимися вещами, процессами, людьми. Одним словом — въезжаешь в работу.
📍Проходит время. В какой-то момент осознаёшь, что уже хорошо понимаешь большинство особенностей и тонкостей компании, как все устроено и работает, что уже приобрёл все необходимые знания и навыки для эффективной работы. С этого момента ты начинаешь приносить ощутимую пользу компании и значимо влияешь на изменения, привносить в неё что-то новое.
📍Спустя ещё какое-то время, работа ощущается как будто бы идущей по рельсам – всё те же люди, всё те же технологии, у многих задач схожий контекст, присутствуют одни и те же ограничения и возможности для влияния и изменений. Интересные задачи и развитие может всё ещё и есть, но как будто бы всё об одном и том же. Появляются первые мысли о перспективах смены работы…
📍И первая дилемма, с которой сталкиваешься: “Но ведь ещё столько интересных проектов запланировано! Столько проектов ещё в процессе, по которым вот-вот будет финальный результат и можно будет замерить его влияние. И сколько проектов уже было сделано – как-то жалко было бы всё это оставлять.”
И вот ты уже на новой работе. Быстро пролетающие рабочие часы, все задачи очень интересные…
Но есть важные отличия. Масштаб, значимость и сложность задач уже иные. Технологии, которые ты всегда хотел изучить, но не было возможности применить их в работе. Процессы и осознанность компании более зрелые. Другие специалисты с иным опытом и знаниями, которые можно перенимать. Оглядываясь назад, совершенно не жалеешь что принял решение о переходе.
Менять работу волнительно. Но именно выход из зоны комфорта приведет вас к росту.
#карьерныйрост
👍15❤4🆒2
Оставьте в покое машинное обучение!
Или топ-3 темы, на которые начинающему аналитику не нужно тратить время. Часть 1.
Машинное обучение настолько забивает мозг начинающих аналитиков, что они зацикливаются только на нем. Итог – резюме, наполненное только проектами по ML.
Если вы идете на позицию аналитика, то это будет больше отталкивать, чем привлекать.
В вашей работе будут встречаться задачи сегментации, прогнозирования и т. д. Но на начальном этапе от вас не требуется расчехлять XGBoost и Prophet.
Бизнес хочет от вас другого.
Он хочет, чтобы вы разделили пользователей по наличию характеристик (по устройствам, наличию действия, покупаемым продуктам и т. д), и эти сегменты сразу же были переданы в работу.
Он хочет, чтобы вы провели линию тренда и дали пессимистичную / реалистичную и оптимистичную оценки с поправкой на изменения в темпах роста.
Не усложняйте. Начинайте с самого наивного, но быстрого решения. И только потом итерируйтесь, если в этом действительно есть потребность.
#продуктоваяаналитика
Или топ-3 темы, на которые начинающему аналитику не нужно тратить время. Часть 1.
Машинное обучение настолько забивает мозг начинающих аналитиков, что они зацикливаются только на нем. Итог – резюме, наполненное только проектами по ML.
Если вы идете на позицию аналитика, то это будет больше отталкивать, чем привлекать.
В вашей работе будут встречаться задачи сегментации, прогнозирования и т. д. Но на начальном этапе от вас не требуется расчехлять XGBoost и Prophet.
Бизнес хочет от вас другого.
Он хочет, чтобы вы разделили пользователей по наличию характеристик (по устройствам, наличию действия, покупаемым продуктам и т. д), и эти сегменты сразу же были переданы в работу.
Он хочет, чтобы вы провели линию тренда и дали пессимистичную / реалистичную и оптимистичную оценки с поправкой на изменения в темпах роста.
Не усложняйте. Начинайте с самого наивного, но быстрого решения. И только потом итерируйтесь, если в этом действительно есть потребность.
#продуктоваяаналитика
🔥13👍8❤3
Написать один и тот же запрос на SQL можно различными способами. Но часто важно чтобы этот запрос был написан еще и оптимально.
Как вы считаете, какой из этих запросов выполнится быстрее всего? Есть ли какие-то нюансы, связанные c используемым СУБД? А с наполнением таблиц? А может эти запросы и вовсе не вернут один и тот же результат? И может можно написать запрос еще оптимальнее? Поделитесь своими мыслями в комментариях.
#задачи
Как вы считаете, какой из этих запросов выполнится быстрее всего? Есть ли какие-то нюансы, связанные c используемым СУБД? А с наполнением таблиц? А может эти запросы и вовсе не вернут один и тот же результат? И может можно написать запрос еще оптимальнее? Поделитесь своими мыслями в комментариях.
#задачи
🤔8❤2👍1🔥1
Помогают ли онлайн-курсы устроиться на первую работу?
Прохождение онлайн-курсов по интересующей специальности будет недостаточным для трудоустройства. Курсы не помогут тем, что будут указаны как единственный «опыт работы» в резюме.
Я собеседовал 200+ аналитиков и инженеров данных. Отсмотрел 1000+ резюме. Фигурирование курсов в резюме для меня показывает то, что человек мотивирован совершенствовать знания и навыки. Но это только один пункт, по которому я и HR’ы оцениваем кандидата.
Когда я искал первое место работы, у меня тоже имелась пачка сертификатов о пройденных специализациях на Coursera, которыми я гордился. Но у меня было расплывчатое понимание специальности и слабоватые навыки. И тем более я не подходил сразу по всем пунктам из вакансий. А также у меня не было знакомых, которые направили бы меня и оценили мои знания.
Дилемма первой работы заключается во фразе: «Нужен опыт, чтобы трудоустроиться, но нужно трудоустройство, чтобы получить опыт».
Что помогло найти работу мне? Целеустремлённое превращение знаний из курсов в опыт. Брал этот опыт везде, где только мог до него дотянуться. Например, участвовал в соревнованиях, хакатонах, брал релевантные задания в университете, фрилансил и вписывался в проекты с друзьями. На pet-project’ы даже не оставалось времени.
На удивление, мне удалось выделиться среди остальных кандидатов за счёт победы на хакатоне (в кейсе Huawei на SignalNeuroHack в 2019 году). И наличия списка соревнований, в которых я участвовал. На эти заслуги обратил внимание основатель компании, в которую я впоследствии и трудоустроился.
Шансы трудоустройства увеличит то, что человек не бездумно «прокликает» задания, сделав по предлагаемому шаблону, а вникнет в то, чему его стараются научить. Важно самостоятельно и с нуля воспроизвести предлагаемые шаблоны, дополнительно изучить, как и для чего это применяется и так далее. После этого – применить знания на прикладных задачах. Этот опыт с большей вероятностью и поможет найти заветную первую работу.
А помогли ли вам онлайн-курсы? Что стало для вас решающим фактором, благодаря которому вы устроились на первую работу?
#карьерныйрост
Прохождение онлайн-курсов по интересующей специальности будет недостаточным для трудоустройства. Курсы не помогут тем, что будут указаны как единственный «опыт работы» в резюме.
Я собеседовал 200+ аналитиков и инженеров данных. Отсмотрел 1000+ резюме. Фигурирование курсов в резюме для меня показывает то, что человек мотивирован совершенствовать знания и навыки. Но это только один пункт, по которому я и HR’ы оцениваем кандидата.
Когда я искал первое место работы, у меня тоже имелась пачка сертификатов о пройденных специализациях на Coursera, которыми я гордился. Но у меня было расплывчатое понимание специальности и слабоватые навыки. И тем более я не подходил сразу по всем пунктам из вакансий. А также у меня не было знакомых, которые направили бы меня и оценили мои знания.
Дилемма первой работы заключается во фразе: «Нужен опыт, чтобы трудоустроиться, но нужно трудоустройство, чтобы получить опыт».
Что помогло найти работу мне? Целеустремлённое превращение знаний из курсов в опыт. Брал этот опыт везде, где только мог до него дотянуться. Например, участвовал в соревнованиях, хакатонах, брал релевантные задания в университете, фрилансил и вписывался в проекты с друзьями. На pet-project’ы даже не оставалось времени.
На удивление, мне удалось выделиться среди остальных кандидатов за счёт победы на хакатоне (в кейсе Huawei на SignalNeuroHack в 2019 году). И наличия списка соревнований, в которых я участвовал. На эти заслуги обратил внимание основатель компании, в которую я впоследствии и трудоустроился.
Шансы трудоустройства увеличит то, что человек не бездумно «прокликает» задания, сделав по предлагаемому шаблону, а вникнет в то, чему его стараются научить. Важно самостоятельно и с нуля воспроизвести предлагаемые шаблоны, дополнительно изучить, как и для чего это применяется и так далее. После этого – применить знания на прикладных задачах. Этот опыт с большей вероятностью и поможет найти заветную первую работу.
А помогли ли вам онлайн-курсы? Что стало для вас решающим фактором, благодаря которому вы устроились на первую работу?
#карьерныйрост
🔥13👍3❤2
Держитесь подальше от Excel
Или топ-3 темы, на которые начинающему аналитику не стоит тратить время. Часть 2.
Как говорил мой лектор по информатике: “Excel — это очень мощный и гибкий инструмент”.
На нем действительно возможно делать поразительно впечатляющие вещи и решать разносторонние задачи.
Я не говорю, что он не нужен. Компании активно используют его в работе, даже если не указывают его в вакансии.
Хотя на практике чаще всего используется Google Sheets.
Но если компания в вакансии аналитика указывает Excel — это должно стать тревожным звоночком для вас.
Почему?
Обильное наличие Excel’а в работе свидетельствует о слабо развитой аналитической инфраструктуре и культуре тоже.
Работа над задачами в такой компании и с их стеком будет сильно вредить росту, в отличие от работы в другой компании с более привлекательным стеком.
Попасть в хорошую компанию, с хорошей организационной структурой, стеком, задачами и коллективом – это 80% успеха для начинающего аналитика.
#продуктоваяаналитика
Или топ-3 темы, на которые начинающему аналитику не стоит тратить время. Часть 2.
Как говорил мой лектор по информатике: “Excel — это очень мощный и гибкий инструмент”.
На нем действительно возможно делать поразительно впечатляющие вещи и решать разносторонние задачи.
Я не говорю, что он не нужен. Компании активно используют его в работе, даже если не указывают его в вакансии.
Хотя на практике чаще всего используется Google Sheets.
Но если компания в вакансии аналитика указывает Excel — это должно стать тревожным звоночком для вас.
Почему?
Обильное наличие Excel’а в работе свидетельствует о слабо развитой аналитической инфраструктуре и культуре тоже.
Работа над задачами в такой компании и с их стеком будет сильно вредить росту, в отличие от работы в другой компании с более привлекательным стеком.
Попасть в хорошую компанию, с хорошей организационной структурой, стеком, задачами и коллективом – это 80% успеха для начинающего аналитика.
#продуктоваяаналитика
👍27❤3🙈1
Что случилось с метрикой?
На скриншоте представлена метрика музыкального стримингового сервиса. Пусть этим сервисом будет Яндекс Музыка. Метрика показывает количество прослушиваний в динамике по дням.
Как считаете, что с ней могло произойти?
P. S. эта задача взята из тестового задания компании. Сохранены оригинальные формулировки.
Подобные задачи на канале помечаются хештегом: #задачиссобеседований
Разбор задачи
На скриншоте представлена метрика музыкального стримингового сервиса. Пусть этим сервисом будет Яндекс Музыка. Метрика показывает количество прослушиваний в динамике по дням.
Как считаете, что с ней могло произойти?
P. S. эта задача взята из тестового задания компании. Сохранены оригинальные формулировки.
Подобные задачи на канале помечаются хештегом: #задачиссобеседований
Разбор задачи
🔥11❤2👍1🤔1
Правильный ответ к задаче «Что случилось с метрикой?»
Если еще не пробовали решить задачу, рекомендую это сделать до прочтения поста.
От кандидата ожидается не то, что он угадает с первой попытки что произошло с метрикой на самом деле. Ожидается, что кандидат набросает исчерпывающее количество конкретных гипотез, которые впоследствии будут проверены на практике.
Из моего опыта, падение метрик часто происходит по причинам:
📍 Поломки логирования на клиенте или в доставке логов на бекенде
📍 Возникновения бага в некотором разрезе (типе устройства, стране, локализации, источнике трафика) в результате выкладки новой версии продукта;
📍 Внешнего фактора или сезонности.
От этих причин можно отталкиваться для генерации более конкретных гипотез.
В случае с задачей, могла бы оказаться правдивой гипотеза о том, что на рынок РФ вышел Spotify, и пользователя Яндекс Музыки побежали пробовать триал.
Но источники сообщают, что случилась банальная потеря данных (сломалось логирование). Так что никаких интриг и заговоров, лишь человеческий фактор.
А звездочка за количество гипотез достается @maxlukyanenko 🎉
#задачиссобеседований
Если еще не пробовали решить задачу, рекомендую это сделать до прочтения поста.
Из моего опыта, падение метрик часто происходит по причинам:
📍 Поломки логирования на клиенте или в доставке логов на бекенде
📍 Возникновения бага в некотором разрезе (типе устройства, стране, локализации, источнике трафика) в результате выкладки новой версии продукта;
📍 Внешнего фактора или сезонности.
От этих причин можно отталкиваться для генерации более конкретных гипотез.
В случае с задачей, могла бы оказаться правдивой гипотеза о том, что на рынок РФ вышел Spotify, и пользователя Яндекс Музыки побежали пробовать триал.
Но источники сообщают, что случилась банальная потеря данных (сломалось логирование). Так что никаких интриг и заговоров, лишь человеческий фактор.
А звездочка за количество гипотез достается @maxlukyanenko 🎉
#задачиссобеседований
🔥11👍7😁4
Не уделяйте много времени инструментам визуализации…
…если только не хотите быть BI-аналитиком.
Или топ-3 темы, на которые начинающему аналитику не нужно тратить время. Часть 3.
На рынке множество инструментов визуализации – Redash, Metabase, Superset, Tableau, PowerBI. Каждый инструмент с особенностями в работе.
Фундаментально – они похожи, и не требуют много времени на изучение, если вы уже знакомы хотя бы с одним.
Если взглянуть на вакансии, используемые решения настолько разнятся, что сложно выделить с каким прийдется работать.
По моему опыту, на них мало смотрят на собеседованиях. Потому начинающему аналитику не стоит изучать десятки решений. А как только вы устроитесь на работу и начнете использовать конкретный инструмент – быстро в него втянитесь.
Если и выбирать инструмент для освоения, то советую обратить внимание на Tableau / PowerBI / Qlik Sense и подобных, вместо open source решений. Они раскроют большее количество доступных в визуализациях фич.
#продуктоваяаналитика
…если только не хотите быть BI-аналитиком.
Или топ-3 темы, на которые начинающему аналитику не нужно тратить время. Часть 3.
На рынке множество инструментов визуализации – Redash, Metabase, Superset, Tableau, PowerBI. Каждый инструмент с особенностями в работе.
Фундаментально – они похожи, и не требуют много времени на изучение, если вы уже знакомы хотя бы с одним.
Если взглянуть на вакансии, используемые решения настолько разнятся, что сложно выделить с каким прийдется работать.
По моему опыту, на них мало смотрят на собеседованиях. Потому начинающему аналитику не стоит изучать десятки решений. А как только вы устроитесь на работу и начнете использовать конкретный инструмент – быстро в него втянитесь.
Если и выбирать инструмент для освоения, то советую обратить внимание на Tableau / PowerBI / Qlik Sense и подобных, вместо open source решений. Они раскроют большее количество доступных в визуализациях фич.
#продуктоваяаналитика
👏9👍6🔥4
~80% начинающих аналитиков не знают порядок выполнения SQL запроса на собеседовании.
Это число я получил на основе проведения 200+ собеседований кандидатов на позицию продуктового аналитика и mock-интервью со своими менти.
Задумайтесь на минутку об одном из последних своих запросов. В каком порядке у него выполняются операторы SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY и LIMIT?
Правильный порядок будет следующим:
1. FROM (а не SELECT) — так как сначала “машине” нужно определить из какой таблицы брать данные. Без этого, остальные операторы не имеют никакого смысла: над какими данными тогда проводить дальнейшие манипуляции?
2. WHERE — ведь зачем тянуть и выполнять вычисления над записями, которые не релевантны? Можем сразу же их отфильтровать;
3. GROUP BY – сгруппируем релевантные записи;
4. HAVING – исключим группы, которые не релевантны.
5. SELECT – и только теперь выберем поля, которые выведем на экран. Лишние, опять же, ни к чему;
6. ORDER BY – упорядочим результат для наглядности;
7. LIMIT – выведем только N первых строк, если не нужны сразу все.
Зачем знать порядок SQL запроса?
Понимание того, как и в каком порядке выполняются запросы, помогает отлаживать случаи, когда запрос выдает не то, что ожидалось. А также оптимизировать скорость их работы.
А теперь вопрос знатокам. Как в этот порядок вписываются: (a) JOIN, (b) UNION, (c) DISTINCT, (d) оконная функция, (e) агрегационная функция, (f) WITH CUBE?
Это число я получил на основе проведения 200+ собеседований кандидатов на позицию продуктового аналитика и mock-интервью со своими менти.
Задумайтесь на минутку об одном из последних своих запросов. В каком порядке у него выполняются операторы SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY и LIMIT?
Правильный порядок будет следующим:
1. FROM (а не SELECT) — так как сначала “машине” нужно определить из какой таблицы брать данные. Без этого, остальные операторы не имеют никакого смысла: над какими данными тогда проводить дальнейшие манипуляции?
2. WHERE — ведь зачем тянуть и выполнять вычисления над записями, которые не релевантны? Можем сразу же их отфильтровать;
3. GROUP BY – сгруппируем релевантные записи;
4. HAVING – исключим группы, которые не релевантны.
5. SELECT – и только теперь выберем поля, которые выведем на экран. Лишние, опять же, ни к чему;
6. ORDER BY – упорядочим результат для наглядности;
7. LIMIT – выведем только N первых строк, если не нужны сразу все.
Зачем знать порядок SQL запроса?
Понимание того, как и в каком порядке выполняются запросы, помогает отлаживать случаи, когда запрос выдает не то, что ожидалось. А также оптимизировать скорость их работы.
А теперь вопрос знатокам. Как в этот порядок вписываются: (a) JOIN, (b) UNION, (c) DISTINCT, (d) оконная функция, (e) агрегационная функция, (f) WITH CUBE?
👍24❤6🤔2
Если оператор SELECT выполняется после HAVING, а ORDER BY — после SELECT, почему тогда запрос на картинке выполнится корректно?
В прошлом посте я рассказал о порядке выполнения SQL запросов.
Напомню, что порядок выполнения операторов в SQL следующий: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Да, существуют СУБД, для которых выполнение запроса на картинке вернет ошибку (например, в старых версиях MySQL). Но есть и те, для которых эти запросы будут корректными, и для них будут возвращены адекватные результаты (например, в ClickHouse).
Как считаете, за счет чего это возможно и как это работает?
#задачи #sql
В прошлом посте я рассказал о порядке выполнения SQL запросов.
Напомню, что порядок выполнения операторов в SQL следующий: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Да, существуют СУБД, для которых выполнение запроса на картинке вернет ошибку (например, в старых версиях MySQL). Но есть и те, для которых эти запросы будут корректными, и для них будут возвращены адекватные результаты (например, в ClickHouse).
Как считаете, за счет чего это возможно и как это работает?
#задачи #sql
🔥8🤔4👍2
О чем вам было бы интереснее узнать?
Anonymous Poll
27%
Как перестать путать ошибку первого и второго рода
38%
Этапы развития а/б тестов в компаниях
29%
Что такое кластерный и некластерный индексы в СУБД и зачем они нужны
51%
Хочу еще одну задачу с собеседования и её разбор
❤1🔥1