BI аналитик
Работает с SQL, делает графики бизнес показателей.
Например помните, как в COVID времена был dashboard с данными по заражениям. Вот такие штуки и будете делать. Дизайн можно делать абсолютно любой!
Стек:
1. SQL (PostgreSQL, MySQL и другие)
2. Визуализация (Power BI, Apache Superset, Yandex DataLens, Redash и другие). В целом они все похожи.
Здесь реально можно делать клевые дизайнерские дэшборды. Небольшой порог входа + творческие задачи. К слову на YouTube есть уроки, как делать дэшборды даже в Excel! И они выглядят будто из SpaceX! Хороший старт для аналитика
Учиться:
SQL - https://karpov.courses/simulator-sql (Отличная база + сразу можно поучить Redash)
Опыт:
Опыт можно набрать, беря данные с https://www.kaggle.com по любимой тематике. Делаешь GitHub со своими дашбордами и собесишься
Работает с SQL, делает графики бизнес показателей.
Например помните, как в COVID времена был dashboard с данными по заражениям. Вот такие штуки и будете делать. Дизайн можно делать абсолютно любой!
Стек:
1. SQL (PostgreSQL, MySQL и другие)
2. Визуализация (Power BI, Apache Superset, Yandex DataLens, Redash и другие). В целом они все похожи.
Здесь реально можно делать клевые дизайнерские дэшборды. Небольшой порог входа + творческие задачи. К слову на YouTube есть уроки, как делать дэшборды даже в Excel! И они выглядят будто из SpaceX! Хороший старт для аналитика
Учиться:
SQL - https://karpov.courses/simulator-sql (Отличная база + сразу можно поучить Redash)
Опыт:
Опыт можно набрать, беря данные с https://www.kaggle.com по любимой тематике. Делаешь GitHub со своими дашбордами и собесишься
🔥9👍4❤1
Data Analyst (Дата аналитик)
Берешь готовые данные, агрегируешь, считаешь бизнес показатели, статистику. Много работаешь со сложными запросами, оконные функции. SQL это твой основной язык. Также здесь добавляется Pandas, Numpy, Matplotlib и другие. Это библиотеки для работы с данными. Ты довольно глубоко вникаешь в данные и их расчеты. Поэтому ты и аналитик, чтобы анализировать.
Стек:
1. SQL (+оконные функции, процедуры)
2. Python (pandas, Numpy, matplotlib)
3. Весь стек BI аналитика
4. Clickhouse, NoSQL
5. Нормализация, индексы в БД, алгоритмы соединения таблиц и так далее.
Учить:
SQL https://karpov.courses/simulator-sql
Pandas - https://stepik.org/course/120014
Pandas, Numpy - https://stepik.org/course/3356 [ГЛАВА 6]
Python - https://stepik.org/course/58852
Python - https://stepik.org/course/68343
Опыт:
Берешь данные с https://www.kaggle.com. Можно взять данные из разных источников. Придумать метрики, которые хочется посчитать. Найти инсайты, построить графики с помощью pandas или seaborn.
Берешь готовые данные, агрегируешь, считаешь бизнес показатели, статистику. Много работаешь со сложными запросами, оконные функции. SQL это твой основной язык. Также здесь добавляется Pandas, Numpy, Matplotlib и другие. Это библиотеки для работы с данными. Ты довольно глубоко вникаешь в данные и их расчеты. Поэтому ты и аналитик, чтобы анализировать.
Стек:
1. SQL (+оконные функции, процедуры)
2. Python (pandas, Numpy, matplotlib)
3. Весь стек BI аналитика
4. Clickhouse, NoSQL
5. Нормализация, индексы в БД, алгоритмы соединения таблиц и так далее.
Учить:
SQL https://karpov.courses/simulator-sql
Pandas - https://stepik.org/course/120014
Pandas, Numpy - https://stepik.org/course/3356 [ГЛАВА 6]
Python - https://stepik.org/course/58852
Python - https://stepik.org/course/68343
Опыт:
Берешь данные с https://www.kaggle.com. Можно взять данные из разных источников. Придумать метрики, которые хочется посчитать. Найти инсайты, построить графики с помощью pandas или seaborn.
🔥5👍1
ℹ️ Какое направление выбрать?
Смотрите, направлений сейчас куча в IT. Для каждого нужно знать свой список технологий. Нет универсальных штук. Поскольку я иду в направление DATA, то подскажу со своей колокольни. Не буду писать про ML и Data Scientist, так как даже не рассматривал эти области. И это про ОЧЕНЬ СИЛЬНУЮ МАТЕМАТИКУ!
Дальше рассмотрим:
1. BI (Business intelligent)
2. DA (Data Analyst)
3. DE (Data Engineer)
Описываю на примитивном уровне. От вас все равно никто не ждет прорывов. Главное знать стек, а задачи найдутся! Поэтому, читайте мои посты ниже про эти направления и выбирайте!
Если не знаете с чего начать, то рекомендую начать отсюда
https://github.com/Data-Learn/data-engineering - Здесь путь от BI до DE. Первых 3-ех модулей вам будет достаточно уже для неплохого BI. Но будет сложно и очень много материала! Курс абсолютно бесплатный! Его делает парень из Амазона. Все на русском. Есть свое комьюнити + курс сейчас дополняется. Но того, что есть, уже достаточно!
Смотрите, направлений сейчас куча в IT. Для каждого нужно знать свой список технологий. Нет универсальных штук. Поскольку я иду в направление DATA, то подскажу со своей колокольни. Не буду писать про ML и Data Scientist, так как даже не рассматривал эти области. И это про ОЧЕНЬ СИЛЬНУЮ МАТЕМАТИКУ!
Дальше рассмотрим:
1. BI (Business intelligent)
2. DA (Data Analyst)
3. DE (Data Engineer)
Описываю на примитивном уровне. От вас все равно никто не ждет прорывов. Главное знать стек, а задачи найдутся! Поэтому, читайте мои посты ниже про эти направления и выбирайте!
Если не знаете с чего начать, то рекомендую начать отсюда
https://github.com/Data-Learn/data-engineering - Здесь путь от BI до DE. Первых 3-ех модулей вам будет достаточно уже для неплохого BI. Но будет сложно и очень много материала! Курс абсолютно бесплатный! Его делает парень из Амазона. Все на русском. Есть свое комьюнити + курс сейчас дополняется. Но того, что есть, уже достаточно!
🔥14❤2👍1
Data Engineer (Дата Инженер)
0. Весь стек Data Analyst
1. Spark
2. Apache Airflow
3. ETL/ELT
4. Оптимизация запросов
5. Kafka
6. Очистка данных, нормализация, трансформация, создание витрин
7. Работа с облачными сервисами (AWS, Yandex.Cloud)
Короче DE скачивает данные, проверяет их, чистит, подготавливает и отдает уже аналитику, который в свою очередь ищет инсайты. Ну и эти же данные отдаются data scientist, которые пишут модели машинного обучения.
Учить:
https://github.com/Data-Learn/data-engineering - Это то, с чего вы можете начать! Абсолютно бесплатный курс от нашего парня из Канады. Курс постоянно обновляется, есть свое комьюнити + задачи.
SQL https://karpov.courses/simulator-sql
Pandas - https://stepik.org/course/120014
Pandas, Numpy - https://stepik.org/course/3356 [ГЛАВА 6]
Python - https://stepik.org/course/58852
Python - https://stepik.org/course/68343
Опыт:
Скачать данные с нескольких источников (сайты, базы данных, просто из файлов). Построить модель данных, отформатировать, соединить это всё в одну витрину данных и построить dashboard)
0. Весь стек Data Analyst
1. Spark
2. Apache Airflow
3. ETL/ELT
4. Оптимизация запросов
5. Kafka
6. Очистка данных, нормализация, трансформация, создание витрин
7. Работа с облачными сервисами (AWS, Yandex.Cloud)
Короче DE скачивает данные, проверяет их, чистит, подготавливает и отдает уже аналитику, который в свою очередь ищет инсайты. Ну и эти же данные отдаются data scientist, которые пишут модели машинного обучения.
Учить:
https://github.com/Data-Learn/data-engineering - Это то, с чего вы можете начать! Абсолютно бесплатный курс от нашего парня из Канады. Курс постоянно обновляется, есть свое комьюнити + задачи.
SQL https://karpov.courses/simulator-sql
Pandas - https://stepik.org/course/120014
Pandas, Numpy - https://stepik.org/course/3356 [ГЛАВА 6]
Python - https://stepik.org/course/58852
Python - https://stepik.org/course/68343
Опыт:
Скачать данные с нескольких источников (сайты, базы данных, просто из файлов). Построить модель данных, отформатировать, соединить это всё в одну витрину данных и построить dashboard)
🔥17❤4
Бесплатно! Онлайн! MeetUp про дата инжиниринг!
https://dotnext.timepad.ru/event/2497066/?utm_refcode=cc046a9a9d751133c5a2c0ef1af206fe8cfb724d
https://dotnext.timepad.ru/event/2497066/?utm_refcode=cc046a9a9d751133c5a2c0ef1af206fe8cfb724d
GitHub Data Engineer
В одном случае из десяти посмотрят на ваш GitHub. Но именно этот случай и сыграет важную роль! Поэтому оформляйте свой гит от души.
Вот пример моего GitHub https://github.com/halltape
Обязательно оформите все в супер доступном виде. Человек должен зайти и понять насколько вы в теме. Выкладывайте пет проекты только по стеку или по теме! Не надо туда грузить все!
Если у вас есть оформленный гитхаб, значит вы как минимум понимаете Markdown, шарите за работу с Git'ом.
Идеальный проект:
Идеально, если вы сделаете проект по парсингу данных, использя pandas, напишите DAG для Airflow и на все это еще построите dashboard в одной из BI. Обязательно распишите цель исследования и замеченные инсайты!
В одном случае из десяти посмотрят на ваш GitHub. Но именно этот случай и сыграет важную роль! Поэтому оформляйте свой гит от души.
Вот пример моего GitHub https://github.com/halltape
Обязательно оформите все в супер доступном виде. Человек должен зайти и понять насколько вы в теме. Выкладывайте пет проекты только по стеку или по теме! Не надо туда грузить все!
Если у вас есть оформленный гитхаб, значит вы как минимум понимаете Markdown, шарите за работу с Git'ом.
Идеальный проект:
Идеально, если вы сделаете проект по парсингу данных, использя pandas, напишите DAG для Airflow и на все это еще построите dashboard в одной из BI. Обязательно распишите цель исследования и замеченные инсайты!
🔥14👍6
По поводу подготовки!
Я работал инженером на заводе 5/2 08:00 - 16:50. Работа рядом, поэтому в 17:30 был уже дома. В 18:00 я уже садился за комп и занимался до 21:00 ежедневно. В Сб и Вс я старался начинать заниматься с 10:00, 11:00 и до самого вечера. Поначалу я еще практиковал Английский, но потом понял, что нужно сосредоточиться на одном. Один раз в мае съездил на 4 дня в Карелию, но даже туда взял комп и в Сапсане допиливал своего телеграм бота.
Можно прикинуть время на подготовку:
1. Март-Апрель (учил SQL)
2. Май (чистый Python). Поскольку я уже знал на некотором уровне си, то питон(как язык заметно легче) мне давался быстрее. Собственно на своем телеграмм боте я его и практиковал и мне не пришлось блевать от решения обычных задач. Все на энтузиазме.
3. Июнь (ровно 2 недели на Pandas, Numpy).
4. Июль (собеседования)
Плюс я уже был знаком с работой Git, Linux и понимал, как работает и выделяется память. Это важно знать, так как в питоне:
a = 5
b = 5
Оба объекта ссылаются на одну и ту же ячейку в памяти и имеют один и тот же адрес. Можно даже посчитать сколько сейчас объектов в питоне ссылаются например на число 0. Это абсолютно иной подход, нежели в Си. Нюансов на самом деле еще больше!
Важно!
Едешь с работы, на работу, к бабушке, в магазин.. везде.. Старайся читать теорию. Я например пинал ChatGPT по вопросам о Базах Данных, алгоритмах и структурах. И всегда старайтесь читать еще Гугл, потому что ИИ может ошибаться. Но в большинстве случаев он отвечал максимально полезно!
Книги бесполезно было читать. Спасал chatGPT, он хотя бы мог намекнуть на тему, в которой потом можно гуглить.
Также важно!
ChatGPT невероятно хорошо может генерировать вам тестовые таблицы для ваших запросов в SQL! Например если вам нужно разобраться, как работает Cross Join или поиграться с оконными функциями и не хочется выдумывать данные, то чат сделает все за вас. Также можно просить генерировать его датасеты для того же pandas, да и многое многое другое!
Я работал инженером на заводе 5/2 08:00 - 16:50. Работа рядом, поэтому в 17:30 был уже дома. В 18:00 я уже садился за комп и занимался до 21:00 ежедневно. В Сб и Вс я старался начинать заниматься с 10:00, 11:00 и до самого вечера. Поначалу я еще практиковал Английский, но потом понял, что нужно сосредоточиться на одном. Один раз в мае съездил на 4 дня в Карелию, но даже туда взял комп и в Сапсане допиливал своего телеграм бота.
Можно прикинуть время на подготовку:
1. Март-Апрель (учил SQL)
2. Май (чистый Python). Поскольку я уже знал на некотором уровне си, то питон(как язык заметно легче) мне давался быстрее. Собственно на своем телеграмм боте я его и практиковал и мне не пришлось блевать от решения обычных задач. Все на энтузиазме.
3. Июнь (ровно 2 недели на Pandas, Numpy).
4. Июль (собеседования)
Плюс я уже был знаком с работой Git, Linux и понимал, как работает и выделяется память. Это важно знать, так как в питоне:
a = 5
b = 5
Оба объекта ссылаются на одну и ту же ячейку в памяти и имеют один и тот же адрес. Можно даже посчитать сколько сейчас объектов в питоне ссылаются например на число 0. Это абсолютно иной подход, нежели в Си. Нюансов на самом деле еще больше!
Важно!
Едешь с работы, на работу, к бабушке, в магазин.. везде.. Старайся читать теорию. Я например пинал ChatGPT по вопросам о Базах Данных, алгоритмах и структурах. И всегда старайтесь читать еще Гугл, потому что ИИ может ошибаться. Но в большинстве случаев он отвечал максимально полезно!
Книги бесполезно было читать. Спасал chatGPT, он хотя бы мог намекнуть на тему, в которой потом можно гуглить.
Также важно!
ChatGPT невероятно хорошо может генерировать вам тестовые таблицы для ваших запросов в SQL! Например если вам нужно разобраться, как работает Cross Join или поиграться с оконными функциями и не хочется выдумывать данные, то чат сделает все за вас. Также можно просить генерировать его датасеты для того же pandas, да и многое многое другое!
🔥15❤5❤🔥2👍2
Качаем Hard Skills!
Вот вы прошли все курсы, сделали Пет проект, подтянули теорию, теперь самое важное - прокачивать ваши Hard Skills.
Как бы вы не знали теорию, если не умеете решать задачи, вы в пролете.
Итак по SQL:
1. Leetcode (можно и CodeWars). Также рекомендую переписывать все запросы с sql на pandas и spark
2. SQL-EX (сайт не меняли с момента, как Ленин стоял на броневике, но упражнения хорошие). Старайтесь писать сразу без дебага - это тренировка режима live coding на собеседованиях.
3. IT Resume (русскоязычный LeetCode. Здесь есть и питон и сиквел. Также можно решать задачи от Тинькофф, Авито)
Этого реально достаточно!
Следующий пост про Резюме
Вот вы прошли все курсы, сделали Пет проект, подтянули теорию, теперь самое важное - прокачивать ваши Hard Skills.
Как бы вы не знали теорию, если не умеете решать задачи, вы в пролете.
Итак по SQL:
1. Leetcode (можно и CodeWars). Также рекомендую переписывать все запросы с sql на pandas и spark
2. SQL-EX (сайт не меняли с момента, как Ленин стоял на броневике, но упражнения хорошие). Старайтесь писать сразу без дебага - это тренировка режима live coding на собеседованиях.
3. IT Resume (русскоязычный LeetCode. Здесь есть и питон и сиквел. Также можно решать задачи от Тинькофф, Авито)
Этого реально достаточно!
👍12❤4
Резюме
Пишите в опыте 1 год ИП/Фриланс или Самообучение. Так вы четко попадете в фильтр. Хотя я читал, как ребята крутят опыт от года и больше. Главное не пишите 0. Тогда вы никому не нужны гарантировано.
Ваша задача попасть на собеседование. Вы джун. Таких, как вы, тычячи. Какой бы вы опыт не написали, вас все равно раскусят. Поэтому расслабьтесь. Вам нужно попасть на собес и доказать, что вы класный человечек и вас стоит взять.
Вот, что еще вам надо делать:
1. Знакомьтесь тематических телеграм каналах
2. Откликайтесь в тематических пабликах на вакансии
3. Размещайтесь на HeadHunter, Хабр.Карьера, SuperJob, LinkedIn - везде, где только можно
Увеличивайте шанс, чтобы вас заметили!
Не переживайте, вас все равно раскусят по вашим ответам на вопросы. Будьте уверенны в том, что говорите и пишите только то, за что вы готовы отвечать!
В графу вашего IT опыта пишите только выполненые задачи по типу "Разработал CRM систему, оптимизировал базу данных или в данный момент занимюсь проектом по созданию учебного пособия для начинающих программистов". Банально, но это выглядит куда серьезнее, чем "Я выучил питон". И к слову, стоит действительно заниматься даже небольшим проектом. Напишите телеграм бота для своих знакомых - пусть он парсит например объявления с авито или отслеживает цены на авто. А это довольно годная тема!
Ну и рассказывайте о своих проектах с энтузиазмом!
Если вы работали до этого пожарным, инженером или меняли 100500 раз работу, то укажите это ОДНИМ пунктом и коротко обобщите, типа "Занимался тушением пожаров и доставкой эклеров с 1901 по 2001 гг". Можете написать свои заслуги за этот опыт, что вы «Нашли способ тушить пожар с помощью двух ведер и экономить на тесте при готовке эклеров».
Если учились в школе21, то тоже это упомяньте! Хорошо, если вы там и IT проект какой-нибудь замутили (что-то по data теме естественно) Вообще любые соприкосновения с IT описывайте с душой.
Резюме можно оставлять на hh.ru и habr
Пример резюме
Следующий пост про Собеседования
Пишите в опыте 1 год ИП/Фриланс или Самообучение. Так вы четко попадете в фильтр. Хотя я читал, как ребята крутят опыт от года и больше. Главное не пишите 0. Тогда вы никому не нужны гарантировано.
Ваша задача попасть на собеседование. Вы джун. Таких, как вы, тычячи. Какой бы вы опыт не написали, вас все равно раскусят. Поэтому расслабьтесь. Вам нужно попасть на собес и доказать, что вы класный человечек и вас стоит взять.
Вот, что еще вам надо делать:
1. Знакомьтесь тематических телеграм каналах
2. Откликайтесь в тематических пабликах на вакансии
3. Размещайтесь на HeadHunter, Хабр.Карьера, SuperJob, LinkedIn - везде, где только можно
Увеличивайте шанс, чтобы вас заметили!
Не переживайте, вас все равно раскусят по вашим ответам на вопросы. Будьте уверенны в том, что говорите и пишите только то, за что вы готовы отвечать!
В графу вашего IT опыта пишите только выполненые задачи по типу "Разработал CRM систему, оптимизировал базу данных или в данный момент занимюсь проектом по созданию учебного пособия для начинающих программистов". Банально, но это выглядит куда серьезнее, чем "Я выучил питон". И к слову, стоит действительно заниматься даже небольшим проектом. Напишите телеграм бота для своих знакомых - пусть он парсит например объявления с авито или отслеживает цены на авто. А это довольно годная тема!
Ну и рассказывайте о своих проектах с энтузиазмом!
Если вы работали до этого пожарным, инженером или меняли 100500 раз работу, то укажите это ОДНИМ пунктом и коротко обобщите, типа "Занимался тушением пожаров и доставкой эклеров с 1901 по 2001 гг". Можете написать свои заслуги за этот опыт, что вы «Нашли способ тушить пожар с помощью двух ведер и экономить на тесте при готовке эклеров».
Если учились в школе21, то тоже это упомяньте! Хорошо, если вы там и IT проект какой-нибудь замутили (что-то по data теме естественно) Вообще любые соприкосновения с IT описывайте с душой.
Резюме можно оставлять на hh.ru и habr
Пример резюме
🔥10👍5❤2
Собеседование
В понедельник я вывесил свое резюме на Хабре и на hh.ru.
ВАЖНО!
Я сделал буквально 8 откликов на hh. Среди них только один сработал на приглашение. Все остальное - мне писали сами! Не все так плохо!
Во вторник-среду мне начали писать в WhatsApp, на почту с предложениями о работе. Также меня рекомендовали рефералы из зеленого банка. Предложения 80% на BI и поровну на DA и DE.
За две недели у меня было где-то 4-5 собеседований. Все онлайн в районе 17:00-18:00. На некоторые предложения я отказывался сразу, где мне было неинтересно. Кстати однажды предлагали даже с другим вообще стеком - бывает и такое!
Где-то два собеса я бы назвал прям провальными. Не дно конечно, но половину вопросов я запорол.
Все собесы состоят из двух-трех-четырех этапов (Интервью с HR - Техническое интервью LiveCode - Тестовое задание - Soft Skills).
Крайне рекомендую планировать по одному интервью в день. Вам будет очень стрессво, тяжело и страшно! Поэтому не забывайте отдыхать, особенно если параллельно работаете!
Следующий пост про Теорию с собеседований
В понедельник я вывесил свое резюме на Хабре и на hh.ru.
ВАЖНО!
Я сделал буквально 8 откликов на hh. Среди них только один сработал на приглашение. Все остальное - мне писали сами! Не все так плохо!
Во вторник-среду мне начали писать в WhatsApp, на почту с предложениями о работе. Также меня рекомендовали рефералы из зеленого банка. Предложения 80% на BI и поровну на DA и DE.
За две недели у меня было где-то 4-5 собеседований. Все онлайн в районе 17:00-18:00. На некоторые предложения я отказывался сразу, где мне было неинтересно. Кстати однажды предлагали даже с другим вообще стеком - бывает и такое!
Где-то два собеса я бы назвал прям провальными. Не дно конечно, но половину вопросов я запорол.
Все собесы состоят из двух-трех-четырех этапов (Интервью с HR - Техническое интервью LiveCode - Тестовое задание - Soft Skills).
Крайне рекомендую планировать по одному интервью в день. Вам будет очень стрессво, тяжело и страшно! Поэтому не забывайте отдыхать, особенно если параллельно работаете!
👍7
Собеседование. Теория
Перед тем, как вам дадут решать задачи, вас могут погонять по теории. Не факт, что спросят их все, но прокачаетесь знатно!
Вопросы по SQL:
1. Какие бывают оконные функции?
2. Как работают (INTERSECT, EXCEPT, Union, Union all)
3. Что такое Coalesce(), NVL(), IFNULL(), NVL2?
4. Как работает exists and not exists?
5. Как работают JOIN?
6. Что такое EXPLAIN? Что можно узнать из плана запроса?
Теория по базам данных:
1. 1НФ, 2НФ, 3НФ (что это и как выглядит) - ответ по ссылке
2. Как работает Map Reduce? - ответ по ссылке
3. Что такое индекс и зачем он нужен? Кластеризованный индекс и некластеризованный - ответ по ссылке
4. Алгоритмы соединения таблиц (hash join, merge sort, nested loop) - ответ по ссылке
4.1. Коллизии и способы их разрешения? - ответ по ссылке
5. Сложность алгоритмов (О большое) - ответ по ссылке и вторая часть
6. Что такое звезда, снежинка? Что такое data vault? - сами погуглите
7. Как хранятся данные в clickhouse и как это работает? - на сайте clickhouse
8. Транзакции (rollback, for share, for update, commit, deadlock). Ограничения в уровнях изоляций (Read uncommitted, Read committed, Repeatable Read, Serializable) - ответ по ссылке
Очевидно, что вопросы могут быть и другие, но если вы глубоко разберетесь с темами написанными выше, то у вас будет мощное преимущество
Следующий пост про задачи с собеседований
Перед тем, как вам дадут решать задачи, вас могут погонять по теории. Не факт, что спросят их все, но прокачаетесь знатно!
Вопросы по SQL:
1. Какие бывают оконные функции?
2. Как работают (INTERSECT, EXCEPT, Union, Union all)
3. Что такое Coalesce(), NVL(), IFNULL(), NVL2?
4. Как работает exists and not exists?
5. Как работают JOIN?
6. Что такое EXPLAIN? Что можно узнать из плана запроса?
Теория по базам данных:
1. 1НФ, 2НФ, 3НФ (что это и как выглядит) - ответ по ссылке
2. Как работает Map Reduce? - ответ по ссылке
3. Что такое индекс и зачем он нужен? Кластеризованный индекс и некластеризованный - ответ по ссылке
4. Алгоритмы соединения таблиц (hash join, merge sort, nested loop) - ответ по ссылке
4.1. Коллизии и способы их разрешения? - ответ по ссылке
5. Сложность алгоритмов (О большое) - ответ по ссылке и вторая часть
6. Что такое звезда, снежинка? Что такое data vault? - сами погуглите
7. Как хранятся данные в clickhouse и как это работает? - на сайте clickhouse
8. Транзакции (rollback, for share, for update, commit, deadlock). Ограничения в уровнях изоляций (Read uncommitted, Read committed, Repeatable Read, Serializable) - ответ по ссылке
Очевидно, что вопросы могут быть и другие, но если вы глубоко разберетесь с темами написанными выше, то у вас будет мощное преимущество
🔥8❤4👍3👎1
Собеседование. Задачи [часть 1] Live Coding
На собесах будет либо live coding:
1) Вам дают простую sql задачу и вы должны устно рассказать запрос, попутно усложняя условиями
2) В режиме "yandex.code" вы пишите запросы и потом вам дают новые условие для усложнения
В первом случае как правило все в рамках одного JOIN, одного подзапроса и группировки, но с намеком на каверзные места. Во втором случае могут быть оконные функции, вложенные запросы и так далее.
Либо дадут тестовое задание на дом:
1) Написать два-три запроса по нескольким таблицам (можно сделать за 20 минут)
2) Дадут три задачи на разные темы (займет до суток)
Итак задачи-примеры для live coding:
1. Напишите SQL-запрос, который выбирает и отображает имена и возраст всех сотрудников,
чей возраст выше среднего возраста всех сотрудников, из таблицы "employees_age".
2. Напишите SQL-запрос, который выбирает и отображает названия departments из таблицы "departments",
в которых работают сотрудники, имена которых начинаются на J в таблице "employees".
3. Дана таблица "products" с полями "id", "name" и "price". Напишите SQL-запрос, который удаляет все продукты, у которых цена ниже 10 долларов.
4. Напишите SQL-запрос, который выбирает и отображает имена и возраст трех самых старших сотрудников из таблицы "employees_age", а также добавляет новый столбец "age_interval", где указано "30-39" в случае если возраст от 30 до 39 включительно и 'others' во всех остальных случаях. Отсортировать по убыванию возраста.
5. Дана таблица "orders" с полями "id", "customer_id" и "total_amount". Напишите SQL-запрос, используя только оконные функции, который выбирает и отображает общую сумму заказов и средний чек заказа для каждого клиента из таблицы "orders"
Также рекомендую для практики сразу пробовать переписать запросы на pandas и отработать их в jupyter notebook.
На собесах будет либо live coding:
1) Вам дают простую sql задачу и вы должны устно рассказать запрос, попутно усложняя условиями
2) В режиме "yandex.code" вы пишите запросы и потом вам дают новые условие для усложнения
В первом случае как правило все в рамках одного JOIN, одного подзапроса и группировки, но с намеком на каверзные места. Во втором случае могут быть оконные функции, вложенные запросы и так далее.
Либо дадут тестовое задание на дом:
1) Написать два-три запроса по нескольким таблицам (можно сделать за 20 минут)
2) Дадут три задачи на разные темы (займет до суток)
Итак задачи-примеры для live coding:
1. Напишите SQL-запрос, который выбирает и отображает имена и возраст всех сотрудников,
чей возраст выше среднего возраста всех сотрудников, из таблицы "employees_age".
2. Напишите SQL-запрос, который выбирает и отображает названия departments из таблицы "departments",
в которых работают сотрудники, имена которых начинаются на J в таблице "employees".
3. Дана таблица "products" с полями "id", "name" и "price". Напишите SQL-запрос, который удаляет все продукты, у которых цена ниже 10 долларов.
4. Напишите SQL-запрос, который выбирает и отображает имена и возраст трех самых старших сотрудников из таблицы "employees_age", а также добавляет новый столбец "age_interval", где указано "30-39" в случае если возраст от 30 до 39 включительно и 'others' во всех остальных случаях. Отсортировать по убыванию возраста.
5. Дана таблица "orders" с полями "id", "customer_id" и "total_amount". Напишите SQL-запрос, используя только оконные функции, который выбирает и отображает общую сумму заказов и средний чек заказа для каждого клиента из таблицы "orders"
Также рекомендую для практики сразу пробовать переписать запросы на pandas и отработать их в jupyter notebook.
👍5❤3