24940
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
🖥 Визуализация частот слов с помощью Python
@python_job_interview
👩💻 Ускорь Pandas в 20 раз, изменив всего одну строчку кода! 🔥
💡 Pandas часто бывает медленным из-за ограничений, таких как одноядерные вычисления и громоздкие DataFrame-ы. Но есть простое решение: FireDucks — библиотека с таким же API, как у Pandas, которая решает эти проблемы и значительно ускоряет обработку данных.
❓ Как ускорить Pandas?
🌟 Просто замените импорт библиотеки:
❌ Было:
import pandas as pd
import fireducks.pandas as pd
🌟 Awesome-list советов по поступлению в аспирантуру и научной работе.
Репозиторий GitHub "advice", в котором содержится обширная коллекция ссылок на ресурсы, предлагающие советы по различным аспектам поступления в аспирантуру, проведения исследований и жизни в аспирантуре, в основном в области информатики, NLP и ML.
Автор репозитория - Shaily Bhatt, аспирант первого года обучения в Институте языковых технологий CMU и бывший сотрудник NLU Group в Google Research (Индия).
Содержание:
Заявки в аспирантуру:
🟢общие советы по заявкам;
🟢советы, специфичные для программ MS;
🟢советы по заявкам на предварительные докторские программы;
🟢советы о том, стоит ли получать докторскую степень;
🟢советы по выбору учебных заведений и научных руководителей.
Исследования:
🟠общие советы по исследованиям;
🟠советы для аспирантов;
🟠идеи для исследований;
🟠советы по написанию работ;
🟠советы по рецензированию;
🟠советы по чтению;
🟠советы по публикации и конференциям;
🟠советы по динамике отношений между научным руководителем и аспирантом;
🟠советы по научно-исследовательским стажировкам;
🟠советы по нетворкингу;
🟠советы по выступлениям и презентациям;
🟠советы по продуктивности;
🟠советы по борьбе с синдромом самозванца;
🟠советы по инструментам для исследований.
В репозитории также есть раздел "Список списков", в котором собраны ссылки на другие полезные ресурсы.
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #Resources #Github #Awesome
Ищем автора эталонного кода! 💎
Если вы уверены, что вашему коду подходит звание «Эталонный», а вам — звание «Автор самого красивого кода», то приглашаем принять участие в Конкурсе красоты кода 2.0 и выиграть классные призы от Сбера: iPhone 16 и умную колонку SberBoom.
Опытные эксперты определят победителей в пяти категориях: Backend, Frontend, DevOps, AI и Mobile, — а награждение пройдёт на ключевом IT-событии HighLoad в Москве, 2 и 3 декабря.
Больше 40 участников прошлого конкурса стали частью команды Сбера. Возможно, следующим станете именно вы — переходите по ссылке и изучайте подробности!
❓ Как механизм interning влияет на сравнение строк в Python? Приведите пример, когда использование оператора == и оператора is для строк дает разные результаты. В каких случаях это знание может быть полезно?
❗️ В Python существует механизм interning, который используется для оптимизации хранения и сравнения строк. Interning автоматически применяет к коротким строкам, строкам с символами только из алфавита или строкам, которые часто используются в программе. Это означает, что такие строки могут быть закэшированы, и вместо создания нового объекта Python будет использовать уже существующий.
💡 Когда строка подвергается интернированию, все переменные, которые ссылаются на одну и ту же строку, фактически указывают на один и тот же объект в памяти. В этом случае операторы == (сравнение по значению) и is (сравнение по идентификатору объекта) будут возвращать одинаковый результат. Но если строки не закэшированы или были созданы динамически, то is может вернуть False, даже если строки равны по значению (==).
Пример:
# Строки, созданные вручную (будут интернированы)
a = "hello"
b = "hello"
print(a == b) # True, так как значения строк одинаковы
print(a is b) # True, так как строки интернированы и ссылаются на один объект
# Строки, созданные динамически (не всегда интернированы)
x = "".join(["hel", "lo"])
y = "hello"
print(x == y) # True, значения одинаковы
print(x is y) # False, так как x и y — это разные объекты в памяти
💡 Гайд о том, как писать условные выражения с NumPy where()
Это подробный гайд от Real Python, Где показано:
- как написать простейшее условное выражение;
- как сделать выражение с несколькими условиями;
- как использовать транслирование массивов в условных выражениях;
- как не надо использовать np.where().
🔗 Читать
Бросьте вызов своим знаниям Python
А заодно попробуйте себя в перспективной профессии ML-инженера. Присоединяйтесь к бесплатному онлайн-интенсиву «Основы машинного обучения и IoT» от karpov courses, на котором вы создадите своего первого голосового ассистента на Python. Вебинар пройдёт 25 и 26 сентября.
Вы разберётесь в базовой работе ML-инженера: основных понятиях Python и интернета вещей, освоите первичные инструменты машинного обучения и поймёте, чем занимается сфера ML. А по окончанию онлайн-интенсива сделаете проект, который можно даже внести в портфолио.
Регистрируйтесь на бесплатный онлайн-интенсив: https://clc.to/erid_LjN8JwKfa
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627.
Если вы работаете в области данных, вам предстоит пройти собеседование по SQL
Вот несколько кратких советов которые вы должны знать на собеседовании по SQL.
Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется HAVING, а когда WHERE.
Mid
- Понимать, как использовать оператор CASE внутри функции SUM или COUNT
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.
Продвинутым
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.
@python_job_interview
🤫 Некоторые популярные методы аутентификации
🔵 Базовая аутентификация:
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.
🔵 Аутентификация с помощью токенов:
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.
🔵 Аутентификация OAuth:
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.
🔵 Аутентификация с использованием API-ключей:
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.
💬 Какой метод аутентификации вы считаете наиболее эффективным с точки зрения обеспечения безопасности и удобства использования в ваших приложениях?
@python_job_interview
Давайте проверим ваши знания работы бинарного дерева поиска. Посмотрите на изображение и ответьте на вопрос ниже.
#викторина #bst
🖥 Scientific Computing with Python — это бесплатный интерактивный курс от FreeCodeCamp, созданный для изучения анализа данных с помощью Python.
Основные темы включают:
▪️ работу со строками;
▪️ List Comprehension;
▪️ основы алгоритмического дизайна;
▪️ структуры данных;
▪️ классы и объекты.
Цель курса — дать учащимся прочные навыки для работы с научными данными и их обработкой, используя Python.
🔗 Ссылка на курс
#курс #python
@python_job_interview
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pro_python_code
Хакинг: t.me/linuxkalii
Devops: t.me/devOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Linux: t.me/linuxacademiya
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/golang_interview
React: t.me/react_tg
Rust: t.me/rust_code
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
💩 Какова разница между методами __getattr__ и __getattribute__?
Оба этих метода являются магическими.
🔘__getattr__
class Missing:
attr = 42
def __getattr__(self, name):
print(f"In __getattr__, asked for {name}")
return 73
m = Missing()
print(m.attr) # 42
print(m.xyz) # In __getattr__, asked for xyz; 73
__getattribute__
class Always:
attr = 42
def __getattribute__(self, name):
print(f"In __getattribute__, asked for {name}")
return 73
a = Always()
print(a.attr) # In __getattribute__, asked for attr; 73
print(a.xyz) # In __getattribute__, asked for xyz; 73
__getattribute__ — это метод, который управляет всеми запросами атрибутов, тогда как __getattr__ вызывается, когда __getattribute__ не находит атрибут.
Обмен ключами и значениями словаря
Итак, насколько сложно поменять местами значения и ключи в словаре? Совсем несложно, по крайней мере, в Python.
Выше представлен действительно изящный способ манипулирования словарями.
#вопросы_с_собеседований
🖥 uv — менеджер пакетов нового поколения
Новый мощный менеджер пакетов создан, чтобы заменить привычный многим pip. Как ни странно, написан он на Rust, что позволяет ему работать значительно быстрее привычных менеджеров.
Пока неизвестно сможет ли он стать новым стандартом, покажет время. Но попробовать и узнать подробнее обо всех особенностях можно уже сейчас по ссылке:
https://astral.sh/blog/uv-unified-python-packaging
#pip #uv #инструмент
@python_job_interview
💼 Обратное собеседование (reverse-interview) это список вопросов для соискателей.
Пункты не упорядочены и могут быть неприменимы к конкретной должности или виду работы. Вначале это был просто список вопросов, но со временем он стал включать ещё и те вещи, которых хотелось бы видеть больше, и «красные флажки», то есть вещи, которых хочется избегать. Ещё я обратил внимание, что многие люди, которых я собеседовал, не задавали эти вопросы, и, я думаю, это были упущенные возможности.
Разделы вопросов:
- Технологии
- Должность
- Команда
- Ваши будущие коллеги
- Компания
- Бизнес
- Удалённая работа
- Офисная работа
- Компенсация
- Больничный, декретный период, отпуск
📌 Вопросы
@python_job_interview
👩💻 Пет-проект на Python за 50 минут. Курс по FastAPI для начинающих (2024)
💡 В видео рассматривается создание простого проекта на Python с использованием FastAPI. Обсуждаются основные концепции, такие как маршрутизация, обработка запросов и использование зависимости. Программа охватывает создание RESTful API, работу с параметрами, развертывание приложения через Docker а также интеграцию с базой данных. Также приведены советы по развертыванию приложения и тестированию. Это видео подходит для начинающих, желающих быстро освоить FastAPI
🕞 Продолжительность: 50:00
🇷🇺 Видео на русском языке!
🔗 Ссылка: *клик*
#курс #python #docker #fastapi
@python_job_interview
❓ Как реализовать менеджер контекста в Python с помощью класса? В каких случаях его стоит использовать? Приведите пример его реализации и покажите, как он работает
❗️Менеджеры контекста позволяют правильно управлять ресурсами, например, открытием и закрытием файлов, установлением и завершением соединений с базами данных или блокировкой и освобождением ресурсов в многопоточном программировании. Классический способ создания менеджера контекста — использование конструкции with. Менеджеры контекста помогают упрощать код и предотвращают утечки ресурсов, так как гарантируют выполнение завершающих действий даже при возникновении исключений.
Для создания менеджера контекста с помощью класса необходимо определить два метода:
enter() — код, выполняемый при входе в контекст (with).
exit(self, exc_type, exc_val, exc_tb) — код, выполняемый при выходе из контекста, даже если внутри возникло исключение.
💡Пример:
Допустим, у нас есть класс DatabaseConnection, который имитирует подключение к базе данных. Менеджер контекста будет обеспечивать автоматическое подключение и отключение от базы данных:
class DatabaseConnection:
def __init__(self, db_name):
self.db_name = db_name
def __enter__(self):
# Действия при входе в контекст
print(f"Connecting to database '{self.db_name}'...")
self.connection = f"Connection to {self.db_name}"
return self.connection # Возвращаем объект соединения
def __exit__(self, exc_type, exc_val, exc_tb):
# Действия при выходе из контекста (закрытие соединения)
print(f"Closing connection to '{self.db_name}'...")
self.connection = None
return False # Если возникло исключение, не подавлять его
# Использование менеджера контекста
with DatabaseConnection('test_db') as conn:
print(f"Using {conn} to execute queries...")
Connecting to database 'test_db'...
Using Connection to test_db to execute queries...
Closing connection to 'test_db'...
🖥 Python полный курс для начинающих Урок3 : работа с операторами и Math
🔥Смотреть
▪Урок2
▪Урок 1
▪Лучшие бесплатные курсы и книги по Python в 2024 год
@python_job_interview
🖥 Быстрый совет Python
Используйте спецификатор `=` в f-строках, чтобы включить как имя переменной, так и ее значение в форматированную строку.✨
@python_job_interview
Cтильная шпаргалка, объясняющая, как работает GIT.
Читать полностью…
🖥 Python бесплатный курс с нуля
https://www.youtube.com/watch?v=gDsE7Tc_CL8
@python_job_interview
Как загрузить ОГРОМНЫЙ Датасет в Pandas #python
https://www.youtube.com/watch?v=TQQMjGH7TM0
Кто такой BI-аналитик и почему эта профессия востребована прямо сейчас?
*️⃣BI-Аналитик — одна из самых подходящих профессий для тех, кто хочет войти в айти, но не хочет много программировать и знать математику.
При этом, такие аналитики очень ценятся бизнесом, а зарплаты начинающих специалистов с опытом до года доходят до 100+ тысяч рублей.
Если вы хотите узнать больше о профессии и заручиться планом быстрого входа и роста в сфере – лучше всего узнать это от лидеров рынка.
В прямом эфире эксперты, которые сами регулярно нанимают специалистов и знают что ценится на рынке — Анастасия Кузнецова и Андрон Алексанян обсудят:
⚡️Чем занимается BI-аналитик и подходит ли вам эта сфера
⚡️Обзор ситуации на рынке: сколько зарабатывают специалисты и есть ли на них спрос
⚡️Как быстро вырасти в профессии
Также на вебинаре у вас будет отличная возможность лично задать любой вопрос спикерам
Дата вебинара:
17 сентября в 19:00 мск.
🔗Переходите и регистрируйтесь на бесплатный вебинар
🖥 Полезные Паттерны проектирования
— Порождающие паттерны:
🔹Abstract Factory: Family Creator — Создает группы взаимосвязанных объектов.
🔹Builder: Lego Master — Пошагово создает объекты.
🔹Prototype: Clone Maker — Создает копии полностью подготовленных объектов.
🔹Singleton: One and Only — Создаёт объект, который существует в единственном экземпляре.
— Структурные паттерны:
🔹Adapter: Universal Plug — Соединяет объекты с разными интерфейсами.
🔹Bridge: Function Connector — Связывает то, как объект работает, с тем, что он делает.
🔹Composite: Tree Builder — Формирует древовидные структуры из простых и сложных частей.
🔹Decorator: Customizer — Добавляет новые возможности объектам, не изменяя их основную структуру.
🔹Facade: One-Stop-Shop — Представляет всю систему через один упрощенный интерфейс.
🔹Flyweight: Space Saver — Эффективно использует небольшие, многократно используемые объекты.
🔹Proxy: Stand-In Actor — Представляет другой объект, управляя доступом или действиями.
— Поведенческие паттерны:
🔹Chain of Responsibility: Request Relay — Передает запросы через цепочку объектов до тех пор, пока он не будет обработан.
🔹Command: Task Wrapper — Превращает запрос в объект, готовый к выполнению.
🔹Iterator: Collection Explorer — Доступ к элементам коллекции по одному.
🔹Mediator: Communication Hub — Упрощает взаимодействие между различными классами.
🔹Memento: Time Capsule — Сохраняет и восстанавливает состояние объекта.
🔹Observer: News Broadcaster — Уведомляет классы о изменениях в других объектах.
🔹Visitor: Skillful Guest — Добавляет новые операции в класс, не изменяя его.
💬 Какие паттерны вы использовали в реальных кейсах?
🖥 Справочник-шпаргалка по методологиям и паттернам на Python
Когда вы уже написали несколько своих небольших пет-проектов, вы начинаете понимать что чистый код, архитектура и другие паттерны программирования начинают иметь смысл. В масштабируемых, командный или коммерческих проектах это несет особую ценность. Изучив эти принципы, новички получат представление о построении надежных, гибких и легко тестируемых приложений, что позволит им сохранить ясность кодовой базы и возможность ее сопровождения по мере роста их проектов.
В этой статье мы изучим методологии программирования и паттерны проектирования на Python.
Я бы даже сказал, что это компиляция полезных материалов, справочник, большая шпаргалка по всем паттернам.
▪ Читать
@python_job_interview
🖥 ⚡️ Crawl4AI v0.2.77 🕷️🤖
Этот репозиторий на GitHub позволяет легко парить веб-страницы и получать выходные данные в форматах, удобных для LLM (JSON, очищенный HTML, markdown).
Особенности
• Поддерживает одновременный обход нескольких URL-адресов
• Извлекает и возвращает все медиатеги (изображения, аудио и видео)
• Извлекает все внешние и внутренние ссылки
• Извлекает метаданные со страницы
• Настраиваемые перехватчики для аутентификации, заголовков и изменений страницы перед сканированием
▪Github: https://github.com/unclecode/crawl4ai
▪Colab: https://colab.research.google.com/drive/1sJPAmeLj5PMrg2VgOwMJ2ubGIcK0cJeX?usp=sharing
@python_job_interview
Зачем нужен модуль struct.Struct()?
Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.
Синтаксис:
struct.Struct(format_string)
Аргументы:
format_string — строка формата, описывающая структуру.
@python_job_interview
✍️ Что такое match-case в Python
Конструкцию match-case ещё называют pattern matching (сопоставление с шаблонами). Суть её заключается в следующем:
✅ Оператор match принимает выражение и сравнивает его значение с последовательными шаблонами, заданными как один или несколько блоков case.
Код с match-case более структурирован и легче читается по сравнению с кодом, где прописано большое количество вложенных условий.
#вопросы_с_собеседований
👩💻 Как устроено преобразование типов в Python?
▪Преобразование типов — это преобразование объекта из одного типа данных в другой тип данных.
▪Неявное преобразование типов автоматически выполняется интерпретатором Python.
▪Python позволяет избежать потери данных в неявном преобразовании типов.
▪Явное преобразование типов также называется приведением типов, типы данных объекта преобразуются с использованием предопределенной функции.
▪При приведении типов может произойти потеря данных, поскольку мы приводим объект к определенному типу данных.
Что такое аннотация типов?
В простейшем случае аннотация содержит непосредственно ожидаемый тип. Аннотации для переменных пишут через двоеточие после идентификатора. После этого может идти инициализация значения. Например price: int = 5 Параметры функции аннотируются так же как переменные, а возвращаемое значение указывается после стрелки -> и до завершающего двоеточия. Например def indent_right(s: str, width: int) -> str:.