Python Backend | YeaHub
1.14K subscribers
145 photos
37 videos
6 files
227 links
Теория, подготовка к интервью и курсы для Python разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
🤔 Какой атрибут словаря в Python возвращает список кортежей, где каждый кортеж содержит пару ключ-значение?
Anonymous Quiz
17%
dict.keys()
25%
dict.values()
47%
dict.items()
11%
dict.pairs()
Разработчик Python под Linux (middle|senior)

Локация: Удаленно в РФ, весь мир (при наличии карты РФ для зп)
Компания: Ideco (Айдеко)
ЗП: от 250 000 до 400 000 р. (мидл), от 400 000 до 500 000 р. (сеньор)
Занятость: Полная

Ideco (Айдеко) аккредитованная ИТ-компания, разработчик софта в области информационной безопасности и сетевых технологий (Ideco NGFW, Ideco VPP)

Cтек технологий: Linux Fedora 35, Python 3.10 с постоянным обновлением до новой и стабильной версии, ETCD, Clickhouse, Asyncio, aiohttp.

Таски в разработке по-настоящему разные: от исправления шаблона конфига nginx до реализации приложений по обработке сетевого трафика. Придется постоянно работать на стыке бакенда и системы, поэтому знания Linux обязательны.

🚩Обязанности:
🔵Разрабатывать микросервисы с использованием Asyncio и AioHTTP;
🔵Разрабатывать демоны по настройке и управлению сетью;
🔵Писать системные утилиты в Linux;
🔵Проектировать архитектуру системы и бэкендов;
🔵Участвовать в code review;
🔵Рефакторить - куда ж без этого.

🚩Требования:
🔵Опыт коммерческой разработки, уровень не ниже middle;
🔵Уверенные навыки администрирования Linux;
🔵Уверенное понимание сетевых протоколов, модели OSI, протоколов прикладного уровня (HTTP, TLS, FTP, SMB);
🔵Опыт работы с Systemd;
🔵Опыт работы с виртуализацией;
🔵Опыт проектирования REST API.

🚩От нас для тебя:
🔵сложные, интересные проекты, минимум бюрократии
🔵Сильная команда, постоянный обмен опытом
🔵Понятные роли с прозрачными целями
🔵Бонус за результативность
🔵Внутренняя и внешняя реферальная программа
🔵ДМС со стоматологией
🔵Корпоративный английский
🔵Конкурентная «белая» з/п
🔵Возможность удаленной работы, в том числе за рубежом
🔵Материальная помощь при важных событиях в жизни

​​​​​​​​​​​​​💬 Резюме отправлять: @Drakonica

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Для чего можно использовать Celery?

🟠Это инструмент для выполнения задач в фоновом режиме.
🟠Используется для отправки уведомлений, обработки данных, построения отчётов и выполнения длительных операций вне основного потока.
🟠Поддерживает планирование задач и распределённую обработку через брокеры, такие как RabbitMQ или Redis.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python создать функцию, которая принимает произвольное количество позиционных аргументов?
Anonymous Quiz
51%
def func(*args):
21%
def func(**args):
5%
def func(*kwargs):
24%
def func(**kwargs):
#ЛитКод
Задача: 624. Maximum Distance in Arrays

Вам дано m массивов, где каждый массив отсортирован по возрастанию. Вы можете взять два целых числа из двух разных массивов (каждый массив выбирает одно) и вычислить расстояние. Мы определяем расстояние между двумя целыми числами a и b как их абсолютную разность |a - b|. Верните максимальное расстояние.

Пример:
Input: arrays = [[1,2,3],[4,5],[1,2,3]]
Output: 4


👨‍💻 Алгоритм:

1⃣Найдите минимальный элемент из всех первых элементов массивов и максимальный элемент из всех последних элементов массивов.

2⃣Рассчитайте максимальное расстояние между минимальным и максимальным элементами.

3⃣Верните это максимальное расстояние.

😎 Решение:
def maxDistance(arrays):
min_val = arrays[0][0]
max_val = arrays[0][-1]
max_distance = 0

for i in range(1, len(arrays)):
max_distance = max(max_distance, abs(arrays[i][-1] - min_val), abs(arrays[i][0] - max_val))
min_val = min(min_val, arrays[i][0])
max_val = max(max_val, arrays[i][-1])

return max_distance


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод используется для объединения всех элементов итерируемого объекта в одну строку?
Anonymous Quiz
15%
merge()
61%
join()
9%
concat()
15%
append()
#ЧеКак
🤔 Что такое `kwargs`

Это способ передачи произвольного количества именованных аргументов.
🟠Указывается как **kwargs в объявлении функции.
🟠Аргументы передаются в виде словаря.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python можно получить список всех ключей из словаря?
Anonymous Quiz
51%
dict.keys()
12%
dict.getKeys()
21%
dict.listkeys()
16%
keys(dict)
#ЛитКод
Задача: 628. Maximum Product of Three Numbers

Задав целочисленный массив nums, найдите три числа, произведение которых максимально, и верните максимальное произведение.

Пример:
Input: nums = [1,2,3]
Output: 6


👨‍💻 Алгоритм:

1⃣Отсортируйте массив nums.

2⃣Найдите два возможных максимальных произведения: Произведение трех наибольших элементов массива. Произведение двух наименьших (отрицательных) и одного наибольшего элемента массива.

3⃣Верните максимальное из двух найденных произведений.

😎 Решение:
def maximumProduct(nums):
nums.sort()
max1 = nums[-1] * nums[-2] * nums[-3]
max2 = nums[0] * nums[1] * nums[-1]
return max(max1, max2)


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что возвращает функция enumerate() при применении к списку?
Anonymous Quiz
20%
Список элементов
24%
Список индексов
50%
Итератор кортежей (индекс, элемент)
7%
Сумму элементов
#ЧеКак
🤔 Как можно гарантировать закрытие файла без использования with?

Для гарантированного закрытия файла можно использовать конструкцию try и
finally. Вблоке finally будет выполнено закрытие файла, даже если в процессе
работы с файлом возникнет ошибка.

👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python принудительно завершить выполнение программы?
Anonymous Quiz
22%
stop()
41%
exit()
27%
end()
10%
terminate()
#полезное
🤯 Делаем ошибки более читаемыми

В Python есть удобный модуль pretty_errors, который делает стандартный вывод исключений и их traceback более удобным для чтения.

Для того, чтобы он заработал, достаточно импортировать его в ваш код.
Читать документацию...

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая функция используется для округления числа до ближайшего целого в Python?
Anonymous Quiz
59%
round()
31%
math.round()
2%
fix()
7%
floor()
#собес
🤯 Что такое контекстный менеджер?

Контекстный менеджер в Python управляет ресурсами, обеспечивая их автоматическое освобождение. Например, с помощью конструкции with open ('file.txt') as f: файл будет автоматически закрыт после завершения блока.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Парсинг сайта Avito с помощью Python (с нуля)

В этом видео я покажу основы парсинга HTML с помощью Python. Парсинг это выкачивание нужной нам информации с сайтов. Он применяется когда у нужного вам сайта нет публичного API. Для этого видео я выбрал вытягивание некоторой информации из объявлений на Авито: название, цена, дата размещения и ссылка. Работает с любым разделом сайта. Весь код написан на Python 3 с нуля.
Перейти к просмотру
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое итератор?

Итератор - это обьект, который поддерживает протокол итерации. Он имеет методы _iter_() и _next__() . Итераторы позволяют последовательно получать элементы коллекции, например, списка или строки, без необходимости загружать их все сразу в память.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая функция в Python используется для создания бесконечной последовательности чисел?
Anonymous Quiz
11%
iterate()
29%
loop()
46%
generate()
14%
iter()
#Вакансии
👨‍💻 Python разработчик Middle

Локация: Удаленно в РФ
Компания: Имплекс
ЗП: от 100 000 до 170 000 р. на руки
Занятость: Полная

🚩Обязательные требования:
🔵 Уверенные знания Python;
🔵 Знание Docker;
🔵 Опыт работы с базами данных (Postgres, redis);
🔵 Понимание принципов CI/CD;
🔵 Опыт разработки на FastApi/Flask;
🔵 Опыт коммерческой разработки желательно от 3-х лет;
🔵 Опыт написания автотестов на pytest и опыт самостоятельного внедрения их в CI/CD пайплайн Gitlab;
🔵 Опыт реализации асинхронных 12-factor приложений с использованием RabbitMQ;
🔵 Опыт работы с механизмами распределенных трассировок (Jaeger,Zipkin,Tempo,Sentry);
🔵 Опыт в Aglie команде разработки состоящей из аналитиков, разработчиков, тестировщиков и тд.

🚩Задачи на проекте:
🔵 Разрабатывать интеграции с платежными шлюзами/поставщиками данных;
🔵 Разрабатывать api;
🔵 Разрабатывать систему управления заказами.

Занимаемся дистрибьюцией автомобилей из Китая.

💬 Резюме отправлять: @HR_V_a

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
На подходе мощный инструмент на Python для парсинга и веб-скрейпинга, который позволяет:

🟠Эффективно обходить защиту от ботов. Создавать скрейперы быстрее и проще, используя удобный UI-интерфейс

🟠Любой скрейпер превращается в инструмент с интуитивно понятным интерфейсом за считанные минуты. Упрощает запуск параллельных процессов для ускорения сбора данных, легко настраивается и масштабируется.

🟠Значительно сокращает затраты на использование прокси и браузеров, снижая их до 97%

🟠И наконец, поддерживает интеграцию с Kubernetes, что позволяет распределять нагрузку между несколькими машинами.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое полиморфизм?

Полиморфизм - это возможность объектов разных классов использовать методы с одинаковыми именами, предоставляя разное поведение. В Python это достигается через переопределение методов (method overriding) или динамическую типизацию (duck typing).

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM