Python Backend | YeaHub
1.46K subscribers
188 photos
50 videos
7 files
301 links
Теория, подготовка к интервью и курсы для Python разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😎 Совет по Python:

Использование встроенных функций делает код короче и заставляет тебя выглядеть как гений.

Традиционный способ

def find_max(numbers):
max_num = numbers[0]
for num in numbers:
if num > max_num:
max_num = num
return max_num

numbers = [4, 2, 9, 7, 5, 6]
print(find_max(numbers))

# Вывод: 9


Гениальный способ

def find_max(numbers):
return max(numbers)

numbers = [4, 2, 9, 7, 5, 6]
print(find_max(numbers))

# Вывод: 9


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Средство устранения неполадок и есть неполадка

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍2🔥1
#Собес #RabbitMQ
🤔 Что такое сервер в RabbitMQ?

Сервер RabbitMQ — это масштабируемая и надежная реализация AMQP- брокера, который отвечает за управление сообщениями между производителями и потребителями. Он показывает сообщения о запуске и успешно запускает брокер, если конфигурация выполнена корректно.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😊 Когда-нибудь нужно было разбить список на чанки без циклов?

Вот однострочник, который делает это через срезы.
Без импортов. Без лишнего

Идеально для батчевой обработки данных или постраничного вывода.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
6👎2👍1
#статьи
😴 PyQt6 — полное руководство для новичков

Это руководство охватывает широкий круг тем по работе с PyQt6: создание окон, настройка интерфейса, подключение виджетов, сигналы и события.

Вы научитесь работать с ключевыми компонентами фреймворка, выстраивать архитектуру интерфейса и логику взаимодействия элементов
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
Непосильная задача

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1👎1🔥1😁1
🖥 Middle Python Backend-разработчик в компанию Yappy.

Техническое собеседование, зима 2025. 300к+. Проект: вертикальные видео. Опыт в резюме: 3.3 года. В начале спрашивали про предыдущий опыт.

Вопросы:
- Что такое команда git cherry-pick?
- Как создать генератор с помощью yield?
- Какие дандер-методы нужно реализовать для своего контекстного менеджера?
- Как создать асинхронный контекстный менеджер?

Все вопросы можно посмотреть на нашей платформе

#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2🤝2
#статьи
📞 Фундаментальные шаблоны проектирования на Python

Разбираются классические паттерны на языке программирования python:

наблюдатель, адаптер, команда, компоновщик, декоратор, фасад, фабрика, итератор, заместитель, одиночка, состояние, шаблонный метод.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥2
#полезное
📞 Совет по Python:

Для асинхронного чтения файлов используй aiofiles вместе с асинхронными генераторами — это позволит не блокировать event loop при работе с большими файлами.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #RabbitMQ
🤔 Что такое обмен сообщениями?

Обмен сообщениями - это способ взаимодействия между системами через отправку сообщений. Он обеспечивает слабую связанность, позволяя приложениям обмениваться данными независимо от их платформ и языков.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
👋 Чувак собрал простого голосового ассистента на 70 строках кода на Python.

В проекте используются:

🔵 livekit — голосовой агент
🔵 AssemblyAI — для преобразования речи в текст
🔵 OpenAI — «мозг» агента, а также генерация аудио из текста

Что особенно классно —
он использовал turn detection от AssemblyAI, и это работает действительно круто

Turn detection сообщает ассистенту, когда собеседник закончил говорить, и пора отвечать.

Раньше для этого использовали паузы и тишину, но такой подход не всегда корректен (представьте, что человек делает паузу, диктуя номер карты). Новая версия turn detection гораздо надёжнее.

Запусти код и поговори с ассистентом. Всё ощущается гораздо естественнее, чем раньше.

Вот репозиторий: https://github.com/svpino/voice-assistant

Инструкции по запуску смотри в файле README.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
#Собес #RabbitMQ
🤔 Как работает RabbitMQ?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3😁2
#Собес #RabbitMQ
🤔 Каковы недостатки RabbitMQ?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#ЛитКод
Задача: 669. Trim a Binary Search Tree

Дано корневое дерево двоичного поиска и нижняя и верхняя границы как low и high. Обрежьте дерево так, чтобы все его элементы лежали в диапазоне [low, high]. Обрезка дерева не должна изменять относительную структуру элементов, которые останутся в дереве (то есть любой потомок узла должен оставаться потомком). Можно доказать, что существует единственный ответ.

Верните корень обрезанного дерева двоичного поиска. Обратите внимание, что корень может измениться в зависимости от заданных границ.

Пример:
Input: root = [1,0,2], low = 1, high = 2
Output: [1,null,2]


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

1⃣Если node.val > high, то обрезанное двоичное дерево должно находиться слева от узла.

2⃣Если node.val < low, то обрезанное двоичное дерево должно находиться справа от узла.

3⃣В противном случае обрезаем обе стороны дерева.

😎 Решение:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right

class Solution:
def trimBST(self, root: TreeNode, low: int, high: int) -> TreeNode:
if not root:
return None
if root.val > high:
return self.trimBST(root.left, low, high)
if root.val < low:
return self.trimBST(root.right, low, high)
root.left = self.trimBST(root.left, low, high)
root.right = self.trimBST(root.right, low, high)
return root


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖥 Middle Python (Fast API) Backend разработчик в компанию НПФ Будущее

Техническое собеседование. Весна 2025.

Вопросы:
- Что такое абстрактные классы?
- Какие есть типы данных в Python?
- Как в query-параметре передать знак амперсанда (&) ?
- Есть эндпоинт — в каких частях НТ ТР-запроса можно передать полезную нагрузку с клиента на сервер?

Все вопросы можно посмотреть на нашей платформе

#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
#Собес #RabbitMQ
🤔 Какие основные функции RabbitMQ?

RabbitMQ поддерживает асинхронные сообщения, гибкую маршрутизацию, высокую доступность и множество протоколов и языков программирования. Он легко интегрируется с другими системами и готов для использования в облаке и корпоративных средах.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
Python шпаргалки.pdf
350.1 KB
#полезное
🥄 Шпаргалка по Python

Она включает всё, что нужно - от основ до продвинутых тем, с примерами кода и практическими советам

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
Поделитесь своим кодом с кем угодно, используя только VS Code

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #RabbitMQ
🤔 Объясните, что такое обмен (Exchange)?

💬 Кратко:
Обмен (Exchange) - это компонент RabbitMQ, который принимает сообщения от отправителей (producers) и перенаправляет их в очереди на основе заданных правил маршрутизации.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1