⚡️ LinkedIn_AIHawk — это утилита на основе ИИ, созданная пользователем Reddit, для быстрого поиска работы.
Программа адаптирует ваше резюме под описания вакансий и автоматически рассылает их.
Результаты впечатляют: за сутки автор отправил 1000 резюме, что привело к 50 приглашениям на собеседования. Бот не только корректирует резюме, но и самостоятельно отвечает на вопросы HR-менеджеров от вашего имени.
Установка:
▪ Github
@python_job_interview
Программа адаптирует ваше резюме под описания вакансий и автоматически рассылает их.
Результаты впечатляют: за сутки автор отправил 1000 резюме, что привело к 50 приглашениям на собеседования. Бот не только корректирует резюме, но и самостоятельно отвечает на вопросы HR-менеджеров от вашего имени.
Установка:
bash
$ git clone https://github.com/feder-cr/LinkedIn_AIHawk_automatic_job_application
$ cd LinkedIn_AIHawk_automatic_job_application
$ pip install -r requirements.txt
▪ Github
@python_job_interview
Проверяем отсутствие общих элементов множества и последовательности
Метод sets.isdisjoint() позволяет проверить множество sets на отсутствие общих элементов с последовательностью other. Метод возвращает True, если множество sets не имеет общих элементов с итерируемым объектом other, если имеются общие элементы то вернет False.
Синтаксис:
sets.isdisjoint(other)
Параметры:
other — объект поддерживающий итерацию (кортеж, символ или подстрока).
sets — множество frozenset или set.
@python_job_interview
Метод sets.isdisjoint() позволяет проверить множество sets на отсутствие общих элементов с последовательностью other. Метод возвращает True, если множество sets не имеет общих элементов с итерируемым объектом other, если имеются общие элементы то вернет False.
Синтаксис:
sets.isdisjoint(other)
Параметры:
other — объект поддерживающий итерацию (кортеж, символ или подстрока).
sets — множество frozenset или set.
@python_job_interview
👩💻 Как устроено преобразование типов в Python?
▪Преобразование типов — это преобразование объекта из одного типа данных в другой тип данных.
▪Неявное преобразование типов автоматически выполняется интерпретатором Python.
▪Python позволяет избежать потери данных в неявном преобразовании типов.
▪Явное преобразование типов также называется приведением типов, типы данных объекта преобразуются с использованием предопределенной функции.
▪При приведении типов может произойти потеря данных, поскольку мы приводим объект к определенному типу данных.
Что такое аннотация типов?
В простейшем случае аннотация содержит непосредственно ожидаемый тип. Аннотации для переменных пишут через двоеточие после идентификатора. После этого может идти инициализация значения. Например price: int = 5 Параметры функции аннотируются так же как переменные, а возвращаемое значение указывается после стрелки -> и до завершающего двоеточия. Например def indent_right(s: str, width: int) -> str:.
▪Преобразование типов — это преобразование объекта из одного типа данных в другой тип данных.
▪Неявное преобразование типов автоматически выполняется интерпретатором Python.
▪Python позволяет избежать потери данных в неявном преобразовании типов.
▪Явное преобразование типов также называется приведением типов, типы данных объекта преобразуются с использованием предопределенной функции.
▪При приведении типов может произойти потеря данных, поскольку мы приводим объект к определенному типу данных.
Что такое аннотация типов?
В простейшем случае аннотация содержит непосредственно ожидаемый тип. Аннотации для переменных пишут через двоеточие после идентификатора. После этого может идти инициализация значения. Например price: int = 5 Параметры функции аннотируются так же как переменные, а возвращаемое значение указывается после стрелки -> и до завершающего двоеточия. Например def indent_right(s: str, width: int) -> str:.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый мощный менеджер пакетов создан, чтобы заменить привычный многим pip. Как ни странно, написан он на Rust, что позволяет ему работать значительно быстрее привычных менеджеров.
Пока неизвестно сможет ли он стать новым стандартом, покажет время. Но попробовать и узнать подробнее обо всех особенностях можно уже сейчас по ссылке:
https://astral.sh/blog/uv-unified-python-packaging
#pip #uv #инструмент
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
✍️ Что такое match-case в Python
Конструкцию match-case ещё называют pattern matching (сопоставление с шаблонами). Суть её заключается в следующем:
✅ Оператор match принимает выражение и сравнивает его значение с последовательными шаблонами, заданными как один или несколько блоков case.
Код с match-case более структурирован и легче читается по сравнению с кодом, где прописано большое количество вложенных условий.
#вопросы_с_собеседований
Конструкцию match-case ещё называют pattern matching (сопоставление с шаблонами). Суть её заключается в следующем:
✅ Оператор match принимает выражение и сравнивает его значение с последовательными шаблонами, заданными как один или несколько блоков case.
Код с match-case более структурирован и легче читается по сравнению с кодом, где прописано большое количество вложенных условий.
#вопросы_с_собеседований
Обмен ключами и значениями словаря
Итак, насколько сложно поменять местами значения и ключи в словаре? Совсем несложно, по крайней мере, в Python.
Выше представлен действительно изящный способ манипулирования словарями.
#вопросы_с_собеседований
Итак, насколько сложно поменять местами значения и ключи в словаре? Совсем несложно, по крайней мере, в Python.
Выше представлен действительно изящный способ манипулирования словарями.
#вопросы_с_собеседований
Зачем нужен модуль struct.Struct()?
Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.
Синтаксис:
struct.Struct(format_string)
Аргументы:
format_string — строка формата, описывающая структуру.
@python_job_interview
Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.
Синтаксис:
struct.Struct(format_string)
Аргументы:
format_string — строка формата, описывающая структуру.
@python_job_interview
Оба этих метода являются магическими.
__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
Пример кода выше показывает, как метод используется для обработки запроса несуществующего атрибута xyz.
__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
Здесь же можно увидеть, что метод используется для обработки запросов всех атрибутов, как существующих (attr), так и несуществующих (xyz).
__getattribute__
— это метод, который управляет всеми запросами атрибутов, тогда как __getattr__
вызывается, когда __getattribute__
не находит атрибут. #вопросы_с_собеседований
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот репозиторий на 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
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - unclecode/crawl4ai: 🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: https://dis…
🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: https://discord.gg/jP8KfhDhyN - unclecode/crawl4ai
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
МАШИННОЕ ОБУЧЕНИЕ: 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: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
МАШИННОЕ ОБУЧЕНИЕ: 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: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
Когда вы уже написали несколько своих небольших пет-проектов, вы начинаете понимать что чистый код, архитектура и другие паттерны программирования начинают иметь смысл. В масштабируемых, командный или коммерческих проектах это несет особую ценность. Изучив эти принципы, новички получат представление о построении надежных, гибких и легко тестируемых приложений, что позволит им сохранить ясность кодовой базы и возможность ее сопровождения по мере роста их проектов.
В этой статье мы изучим методологии программирования и паттерны проектирования на Python.
Я бы даже сказал, что это компиляция полезных материалов, справочник, большая шпаргалка по всем паттернам.
▪ Читать
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Основные темы включают:
▪️ работу со строками;
▪️ List Comprehension;
▪️ основы алгоритмического дизайна;
▪️ структуры данных;
▪️ классы и объекты.
Цель курса — дать учащимся прочные навыки для работы с научными данными и их обработкой, используя Python.
🔗 Ссылка на курс
#курс #python
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
— Порождающие паттерны:
🔹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 — Добавляет новые операции в класс, не изменяя его.
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте проверим ваши знания работы бинарного дерева поиска. Посмотрите на изображение и ответьте на вопрос ниже.
#викторина #bst
#викторина #bst
Что произойдет при добавлении узла со значением 25 в бинарное дерево поиска (BST) на изображении выше?
Anonymous Quiz
11%
Узел 25 добавится справа от узла 20
4%
Узел 25 добавится слева от узла 20
65%
Узел 25 не будет добавлен, так как уже существует
8%
Узел 25 добавится справа от узла 10
12%
Узел 25 не будет добавлен, так как справа от числа 20 уже есть число 40
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы работаете в области данных, вам предстоит пройти собеседование по SQL
Вот несколько кратких советов которые вы должны знать на собеседовании по SQL.
Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется
Mid
- Понимать, как использовать оператор
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.
Продвинутым
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.
@python_job_interview
Вот несколько кратких советов которые вы должны знать на собеседовании по SQL.
Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется
HAVING
, а когда WHERE
.Mid
- Понимать, как использовать оператор
CASE
внутри функции SUM или COUNT
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.
Продвинутым
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.
@python_job_interview