Задачи на ранжирующие функции
На собесах в бигтехи и не только очень любят давать задачки на ранжирующие функции, но их вроде даже на 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