Задачи на ранжирующие функции
На собесах в бигтехи и не только очень любят давать задачки на ранжирующие функции, но их вроде даже на Leetcode нет.
Давайте попробуем вспомнить для каких случаев каждая из них.
Сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
На собесах в бигтехи и не только очень любят давать задачки на ранжирующие функции, но их вроде даже на Leetcode нет.
Давайте попробуем вспомнить для каких случаев каждая из них.
Сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
🔥18❤8✍2🤩1💯1
Polars_cheat_sheet.pdf
391.5 KB
Pandas / Polars
Когда речь заходит о работе с данными в аналитике, Pandas — один из первых инструментов, который стоит освоить.
Почему?
• делает работу с большими объемами данных быстрой и легкой на практике
• поддерживаются все необходимые операции с данными
• отличная совместимость с Matplotlib, Seaborn, Scikit-learn
Важно помнить: Pandas хранит данные в оперативной памяти, поэтому для больших наборов данных может потребоваться много ресурсо, либо Polars / PySpark.
Фан факт: Pandas был создан в фин. компании для работы с временными рядами, а теперь используется буквально везде.
Оптимальный размер: до 1-2 Гб
Polars
Когда Pandas уже не справляется с объемом данных, на помощь приходит Polars.
Почему?
• Polars написан на Rust и значительно быстрее Pandas. Он тоже хранит данные в памяти, но за счет высокой оптимизации он справляется с большими объемами эффективнее.
• Polars по синтаксису находится посередине между Pandas и PySpark
• Поддерживает многопоточную обработку, что ускоряет выполнение операций.
Фан факт: Polars активно набирает популярность и становится отличной альтернативой Pandas для работы с большими наборами данных. (отдельный лайк за подписанный тип данных)
Оптимальный размер: 7-15 Гб
P.S. Приложил полезные шпаргалки по библиотекам
Когда речь заходит о работе с данными в аналитике, Pandas — один из первых инструментов, который стоит освоить.
Почему?
• делает работу с большими объемами данных быстрой и легкой на практике
• поддерживаются все необходимые операции с данными
• отличная совместимость с Matplotlib, Seaborn, Scikit-learn
Важно помнить: Pandas хранит данные в оперативной памяти, поэтому для больших наборов данных может потребоваться много ресурсо, либо Polars / PySpark.
Фан факт: Pandas был создан в фин. компании для работы с временными рядами, а теперь используется буквально везде.
Оптимальный размер: до 1-2 Гб
Polars
Когда Pandas уже не справляется с объемом данных, на помощь приходит Polars.
Почему?
• Polars написан на Rust и значительно быстрее Pandas. Он тоже хранит данные в памяти, но за счет высокой оптимизации он справляется с большими объемами эффективнее.
• Polars по синтаксису находится посередине между Pandas и PySpark
• Поддерживает многопоточную обработку, что ускоряет выполнение операций.
Фан факт: Polars активно набирает популярность и становится отличной альтернативой Pandas для работы с большими наборами данных. (отдельный лайк за подписанный тип данных)
Оптимальный размер: 7-15 Гб
P.S. Приложил полезные шпаргалки по библиотекам
👍16🔥8⚡3❤1
PySpark_Cheat_Sheet.pdf
5.1 MB
PySpark ч.1
Когда работа данных уже овермного на сцену выходит PySpark с его потоковой обработкой дв реальном времени, которую кстати очень любят в бигтехах.
Почему стоит обратить внимание на PySpark?
• использует возможности Apache Spark, позволяя работать с огромными объемами данных, распределяя вычисления по кластерам.
• несмотря на свою мощь, PySpark может обрабатывать данные даже на машинах с ограниченными ресурсами, загружая данные по частям.
• поддерживает работу с различными форматами данных, такими как оптимизированный ORC и многие другие помимо наших любимых CSV и Parquet, что делает его универсальным решением.
• легко масштабируется, что позволяет решать задачи как на локальных машинах, так и в крупных кластерах.
PySpark создан для объемов информации достигающих сотен гигабайт и более.
Оптимальный размер: от 20 ГБ и больше — все зависит от инфраструктуры, так как PySpark отлично работает с кластерами.
Когда работа данных уже овермного на сцену выходит PySpark с его потоковой обработкой дв реальном времени, которую кстати очень любят в бигтехах.
Почему стоит обратить внимание на PySpark?
• использует возможности Apache Spark, позволяя работать с огромными объемами данных, распределяя вычисления по кластерам.
• несмотря на свою мощь, PySpark может обрабатывать данные даже на машинах с ограниченными ресурсами, загружая данные по частям.
• поддерживает работу с различными форматами данных, такими как оптимизированный ORC и многие другие помимо наших любимых CSV и Parquet, что делает его универсальным решением.
• легко масштабируется, что позволяет решать задачи как на локальных машинах, так и в крупных кластерах.
PySpark создан для объемов информации достигающих сотен гигабайт и более.
Оптимальный размер: от 20 ГБ и больше — все зависит от инфраструктуры, так как PySpark отлично работает с кластерами.
👍9🔥3❤1👌1
Сравнение синтаксиса [ Pandas | Polars | PySpark] ч.1
Ранее на канале мы уже ознакомились с теорией о:
• Pandas и Polars
• PySpark
Сегодня разберемся, как одни и те же операции выполняются в данных инструментах.
Главное саммари по этому сравнению:
1. Polars очень схож с Pandas
2. PySpark очень схож с Polars
Так как в свободном доступе не получается поработать с PySpark - можно научиться работать с Polars и бОльшую часть вы уже будете знать
Ранее на канале мы уже ознакомились с теорией о:
• Pandas и Polars
• PySpark
Сегодня разберемся, как одни и те же операции выполняются в данных инструментах.
Главное саммари по этому сравнению:
1. Polars очень схож с Pandas
2. PySpark очень схож с Polars
Так как в свободном доступе не получается поработать с PySpark - можно научиться работать с Polars и бОльшую часть вы уже будете знать
👍9❤5⚡3🔥3
Практические вопросы по JOIN-ам
Мои любимые вопросы по JOIN-ам, которые часто показывают, знает ли человек на самом деле, как они работают:
У вас есть 2 таблицы.
1ая - 100 строк
2ая - 10 строк
Какое [ min & max ] количество записей выдаст:
1 секция
• inner join
• left join
• right join
2 секция
• cross join
• full outer join
• anti left join
Переходим к скринами, сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
Мои любимые вопросы по JOIN-ам, которые часто показывают, знает ли человек на самом деле, как они работают:
У вас есть 2 таблицы.
1ая - 100 строк
2ая - 10 строк
Какое [ min & max ] количество записей выдаст:
1 секция
• inner join
• left join
• right join
2 секция
• cross join
• full outer join
• anti left join
Переходим к скринами, сначала пробуем сами решить, следующим скрином сверяемся с моим решением.
Ставим 💯 если получилось решить все, ✍️ если узнали для себя что-то новое
✍22🔥5❤3💯3👍1
Взаимодействие с командой DWH
Один из важнейших навыков миддл аналитика — грамотное взаимодействие с командой DWH. Здесь подразумевается:
1. Понимание работы дата-инженера
• Вы должны понимать основные задачи и инструменты, с которыми работают дата-инженеры: ETL-процессы, структуры бд, способы оптимизации запросов.
2. Коммуникация на одном языке
• Важно уметь объяснить свои потребности на понятном команде языке и также понимать их ответ.
• Это не только упростит работу, но и поможет вам быть на одной волне с командой + снизит количество возможных недоразумений.
3. Составление четкого ТЗ для создания витрин
• Умение чётко и структурированно составить ТЗ для команды DWH — ключ к получению правильных данных.
• Хорошее ТЗ должно включать все необходимые детали: требования к данным, фильтры, формат и частоту обновления.
4. Понимание работы витрин
• Вы должны знать, как работают витрины данных: из каких источников данные собираются, как они обновляются и как их правильно использовать в аналитике.
• Это позволит не только корректно запрашивать данные, но и использовать их наиболее эффективно.
Один из важнейших навыков миддл аналитика — грамотное взаимодействие с командой DWH. Здесь подразумевается:
1. Понимание работы дата-инженера
• Вы должны понимать основные задачи и инструменты, с которыми работают дата-инженеры: ETL-процессы, структуры бд, способы оптимизации запросов.
2. Коммуникация на одном языке
• Важно уметь объяснить свои потребности на понятном команде языке и также понимать их ответ.
• Это не только упростит работу, но и поможет вам быть на одной волне с командой + снизит количество возможных недоразумений.
3. Составление четкого ТЗ для создания витрин
• Умение чётко и структурированно составить ТЗ для команды DWH — ключ к получению правильных данных.
• Хорошее ТЗ должно включать все необходимые детали: требования к данным, фильтры, формат и частоту обновления.
4. Понимание работы витрин
• Вы должны знать, как работают витрины данных: из каких источников данные собираются, как они обновляются и как их правильно использовать в аналитике.
• Это позволит не только корректно запрашивать данные, но и использовать их наиболее эффективно.
❤7🔥4👍2
Опыт увольнений
Многие говорят как устроиться быстрее и лучше, но мало кто говорит о теме увольнения.
Недавно у меня вышла интереснейшая беседа с HR-ом в одном из чатов.
Сначала небольшая МОЯ предыстория:
Я проработал небольшое количество времени в Озоне и все было супер... Ровно до тех пор пока ко мне не пришел рук и не сказал: "Никит, у нас оптимизация, сверху пришли и сказали сократить штат" (Это правда)
Мне предлагают 2 варианта:
1 - ротация
2 - 2 оклада и полюбовно распрощаемся
Я решил не торопиться со вторым и собесился в разные команды, куда хотел - не получилось, куда получилось - понял, что не будет интересно в длительной перспективе. И выбрал 2 вариант. Хотя озон мега хорош(
Далее советы начинающим и уже опытным ребятам тусующимся в этой кухне:
1. Если работодатель предлагает уволится «давайте по соглашению сторон в зубы стандартно 2 оклада» - всегда торгуйтесь, законом не оговорены никакие стандартные 2 оклада. Но многое зависит от причин.
• Если Ваше место сокращают, но не хотят это проводить как сокращение, то торговаться можно легко.
• Если Вас "просят" уйти (doesnt matter как вы работаете), то тоже можно торговаться, но надо понимать, что на Вас будут давить.
• Если вы хорошо работаете (по мнению обеих сторон), но, допустим, просто Ваше место нужно под другого, вы дорого обходитесь, у них есть вариант дешевле - это и используйте: "За два оклада уйду через три месяца. А за пять - сейчас"
• если вы проработали меньше 3-х месяцев, то торговаться вряд ли получится(
Важные момента для аргументации:
• в нашей сфере поиск работы с моим стажем в среднем занимает N (Если N > 2) месяцев, поэтому 2 оклада меня не спасут
• короткий срок работы вызовет вопросы у будущего работодателя (все равно не прикольно, можно указать этот момент)
• при устройстве опять проходить тучу собеседований и тестовых - не хотелось бы, а вот получается придется(
Многие говорят как устроиться быстрее и лучше, но мало кто говорит о теме увольнения.
Недавно у меня вышла интереснейшая беседа с HR-ом в одном из чатов.
Сначала небольшая МОЯ предыстория:
Я проработал небольшое количество времени в Озоне и все было супер... Ровно до тех пор пока ко мне не пришел рук и не сказал: "Никит, у нас оптимизация, сверху пришли и сказали сократить штат" (Это правда)
Мне предлагают 2 варианта:
1 - ротация
2 - 2 оклада и полюбовно распрощаемся
Я решил не торопиться со вторым и собесился в разные команды, куда хотел - не получилось, куда получилось - понял, что не будет интересно в длительной перспективе. И выбрал 2 вариант. Хотя озон мега хорош(
Далее советы начинающим и уже опытным ребятам тусующимся в этой кухне:
1. Если работодатель предлагает уволится «давайте по соглашению сторон в зубы стандартно 2 оклада» - всегда торгуйтесь, законом не оговорены никакие стандартные 2 оклада. Но многое зависит от причин.
• Если Ваше место сокращают, но не хотят это проводить как сокращение, то торговаться можно легко.
• Если Вас "просят" уйти (doesnt matter как вы работаете), то тоже можно торговаться, но надо понимать, что на Вас будут давить.
• Если вы хорошо работаете (по мнению обеих сторон), но, допустим, просто Ваше место нужно под другого, вы дорого обходитесь, у них есть вариант дешевле - это и используйте: "За два оклада уйду через три месяца. А за пять - сейчас"
Важные поинт.
Но вообще надо понимать, что всегда лучше расставаться красиво. Земля такая круглая, а бумеранг всегда возвращается)
• если вы проработали меньше 3-х месяцев, то торговаться вряд ли получится(
Важные момента для аргументации:
• в нашей сфере поиск работы с моим стажем в среднем занимает N (Если N > 2) месяцев, поэтому 2 оклада меня не спасут
• короткий срок работы вызовет вопросы у будущего работодателя (все равно не прикольно, можно указать этот момент)
• при устройстве опять проходить тучу собеседований и тестовых - не хотелось бы, а вот получается придется(
Итог:
Вот поэтому мне надо не 2 , а N окладов и я без вопросов уйду.
Самый важный поинт:
Не наглеть на пустом месте. Мир очень маленький и никогда не знаешь как сыграет та или иная ситуация в будущем.
❤32👏7🔥6
Совместно с каналом Ани решили сделать ответы на одни из самых часто задаваемых вопросов ребят, которые хотят вкатиться, но те кто уже в профессии, хотелось бы услышать ваше мнение по поводу вопросов.
1. У меня нет высшего технического образования. Это будет проблемой, нужна ли она вообще?
• Критически - не важна.
• Но для многих HR это важный поинт, если вы залетаете в IT специальность.
• У меня лично специальность Информационая Безопасность
Могу сказать что например экономисты вообще норм заходят в аналитику из-за понимания юнит экономики.
2. Как долго готовиться к собесам?
В зависимости от того, насколько хорошо вы знаете ту или иную предметную область.
В интернете куча роадмэпов по всем направлениям, но вот мой стартер пак для начинающих:
• Leetcode 30 первых задачек уровня easy по алгоритмам Python
• Leetcode 30 первых задачек по SQL + Обязательное решение не только на [ MySQL | PostreSQL ], но и решить эти задачки через Pandas (там есть такая возможность)
• SQL: подзапросы, CTE, сложные запросы, все типы оконок (агрегирующие - маст хэв) [ ранжирующие, смещения ] - обязательно потрогать и понять назначение, все джоины и порядок выполнения операторов, индексы
• По возможности парочку пару пет проектов на гитхабе с полным цикла анализа данных (Очистка, заполнение, обработка данных - тот же parse dates, визуализация, создание новых фич, label encoding, one hot encoding)
• Юнит экономика (понимание различных метрик в разных сферах)
• Шарить за колоночные бд, PySpark, HDFS
3. Мое мнение о стажировках
Если честно это очень щекотливая тема, я считаю пробоваться - стоит всегда. Но делать ставку только на них - не стоит. Вот куча других каналов как можно попасть на работу
• Подаваться на джуновские вакансии (от вас не убудет, а если хоть одна компания ответит из 20, это реальная возможность)
• Писать на почту самим в небольшие компании
• Мониторить чатики по типу: Джуниор вакансии
• Качать нетворкинг, просить знакомых рекомендовать вас в стажерские / джуновские позиции.
Вторую часть ответов на интересеные вопросы вы можете увидеть на канале Ани которая уже 5 лет работает в аналитике и помогает развивать ее в компании недвижимости М2
1. У меня нет высшего технического образования. Это будет проблемой, нужна ли она вообще?
• Критически - не важна.
• Но для многих HR это важный поинт, если вы залетаете в IT специальность.
• У меня лично специальность Информационая Безопасность
Могу сказать что например экономисты вообще норм заходят в аналитику из-за понимания юнит экономики.
2. Как долго готовиться к собесам?
В зависимости от того, насколько хорошо вы знаете ту или иную предметную область.
В интернете куча роадмэпов по всем направлениям, но вот мой стартер пак для начинающих:
• Leetcode 30 первых задачек уровня easy по алгоритмам Python
• Leetcode 30 первых задачек по SQL + Обязательное решение не только на [ MySQL | PostreSQL ], но и решить эти задачки через Pandas (там есть такая возможность)
• SQL: подзапросы, CTE, сложные запросы, все типы оконок (агрегирующие - маст хэв) [ ранжирующие, смещения ] - обязательно потрогать и понять назначение, все джоины и порядок выполнения операторов, индексы
• По возможности парочку пару пет проектов на гитхабе с полным цикла анализа данных (Очистка, заполнение, обработка данных - тот же parse dates, визуализация, создание новых фич, label encoding, one hot encoding)
• Юнит экономика (понимание различных метрик в разных сферах)
• Шарить за колоночные бд, PySpark, HDFS
Крайне рекомендую использовать для подготовки бот Ани @DataismPrepBot, которым пользуюсь сам
Там собраны все необходимые темы для подготовки в виде квиза. Очень крутой интерфейс с гибкой настройкой тем под вас!
Еще важный поинт:
Половина из того, что я рекомендовал может и не понадобиться как и куча рекомендаций других людей, все зависит от собеседования и компании куда устраиваетесь.
Ничто не может претендовать на истину в первой инстанции
3. Мое мнение о стажировках
Если честно это очень щекотливая тема, я считаю пробоваться - стоит всегда. Но делать ставку только на них - не стоит. Вот куча других каналов как можно попасть на работу
• Подаваться на джуновские вакансии (от вас не убудет, а если хоть одна компания ответит из 20, это реальная возможность)
• Писать на почту самим в небольшие компании
• Мониторить чатики по типу: Джуниор вакансии
• Качать нетворкинг, просить знакомых рекомендовать вас в стажерские / джуновские позиции.
Сразу отвечу на вопрос: откуда брать знакомых?
• Вы можете обратиться ко мне и я вас порекомендую на доступные вакансии в МТС, не бойтесь стучаться в личку
Вторую часть ответов на интересеные вопросы вы можете увидеть на канале Ани которая уже 5 лет работает в аналитике и помогает развивать ее в компании недвижимости М2
Telegram
Dataism
Бот для подготовки к IT-собесам @DataismPrepBot 📲
Недушный канал про аналитику, карьеру в IT и немного португальского лайфстайла.
Полезно аналитикам, дата-сатанистам и продактам.
Недушный канал про аналитику, карьеру в IT и немного португальского лайфстайла.
Полезно аналитикам, дата-сатанистам и продактам.
❤23👍7⚡3❤🔥2🔥2🤩1