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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#статьи
📞 Фундаментальные шаблоны проектирования на 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
3
#ЛитКод
Задача: 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
Эффективный метод, как бороться с копипастом при разработке

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
🤣 Stelvio v0.3.0 уже здесь!

Самый простой способ задеплоить Python-приложение в AWS.

Только Python.
Без YAML. Без JSON. Без клацанья в AWS Console.

✓ CLI без предварительной настройки
✓ Поддержка окружений

Посмотри, как я разворачиваю API из пустой папки — меньше чем за 60 секунд.

Попробуй прямо сейчас

Документация: https://docs.stelvio.dev

GitHub: https://github.com/michal-stlv/stelvio/

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Гении среди нас

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖥 Middle Python Backend разработчик в компанию Balance Platform

Техническое собеседование. Весна 2025. Проект: студия оцифровки данных для банков. 200к+. Опыт в резюме: 3.4. В начале интервьюер рассказал об их проекте. Спросил какой стек на текущей работе.

Вопросы:
- Какие есть типы данных в Python?
- Чем отличается float от decimal.Decimal?
- Как правильно работать с денежными значениями в Python? Какой тип данных для этого лучше использовать?
- Как Python решает коллизии при хешировании?

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

#собес #коллеции
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
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👋 Хак для VS Code

Устали постоянно печатать print()?

Настройте свой шорткат, например: ppprint() при нажатии Tab

В видео примере, текст "cc" автоматически расширяется в "console.log()" при нажатии Tab

Можно создать кучу таких сокращений для любых конструкций

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

💬 Кратко:
Routing Key - это атрибут сообщения, используемый обменом для определения, в какую очередь отправить сообщение.

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

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