Python Backend | YeaHub – Telegram
Python Backend | YeaHub
1.82K subscribers
257 photos
63 videos
7 files
413 links
Теория, подготовка к интервью и курсы для Python разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #git_push #git_pull
🤔 Почему мы делаем git pull, а затем git push?

💬 Кратко:

Мы делаем git pull, чтобы сначала синхронизировать наш локальный репозиторий с последними изменениями из удаленного. Затем выполняем git push, чтобы отправить свои изменения. Это помогает избежать конфликтов и сохранить согласованность данных между участниками команды.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #decorator
🤔 Что такое декораторы?

💬 Кратко:

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🔥1🤝1
>>> Асинхронность не ускоряет код

Асинхронность не делает операции быстрее, она просто не заставляет процесс простаивать, пока мы ждём ответ от другого сервиса по сети или, например, ответ от базы данных



⤵️ Когда асинхронность действительно помогает:

1️⃣I/O-bound задачи (ожидание внешних операций)
Запросы к API, загрузка страниц, файлов, парсеры, интеграции

2️⃣Работа с базами данных (это тоже I/O bound)
Если драйвер поддерживает асинхронность (например, asyncpg, databases, SQLAlchemy Async) — можно выполнять десятки запросов параллельно без ожидания результата от других запросов

3️⃣Веб-сервера с высокой нагрузкой
В FastAPI, aiohttp, Sanic и других асинхронных фреймворках одно приложение может обслуживать тысячи подключений без создания множества потоков


✖️ Когда не стоит использовать:

1️⃣ CPU-bound задачи
Вычисления, парсинг, обработка изображений, аналитика данных — всё, что грузит процессор

> Асинхронность здесь бесполезна, потому что event loop будет заблокирован
> Лучше использовать multiprocessing


2️⃣ Локальные вычисления
Форматирование, расчёты, сортировка, работа с коллекциями — обычный синхронный код будет проще и быстрее


>>> В итоге:
Если есть ожидания (сеть, БД, файлы) ➡️ async может помочь в этой ситуации

Нет ожидания (система в явном виде не простаивает, происходят какие-то вычисления) ➡️ оставь синхронный код


🚀 Пост Guru Python: @SergeyFilichkinTeam
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤝1
#Собес #python #rabbit #test

🤔 Middle Python Backend разработчик в компанию Lesta

Техническое собеседование. Лето 2024. Вилка: 180-200к. Опыт в резюме: 3+ года. Было много вопросов по Redis, RabbitMQ, Python.

💬 Вопросы:

- Какие есть типы данных в Python?

- Чем __init__() отличается от __new__()?

- Что относится к изменяемым типам данных и к неизменяемым?

- Что знаешь про ORM?

- Как в функцию передаются аргументы, по ссылке или по значению?

👉 Все вопросы из этого собеседования (48)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1
#Собес #rest #kafka #asynchronous
🤔 Какие способы взаимодействия между микросервисами существуют и в чём их различия (например, REST, Kafka)?

💬 Кратко:

Микросервисы могут взаимодействовать синхронно через REST API (HTTP-запросы) или асинхронно через системы обмена сообщениями, например Kafka. REST удобен для простых запросов с немедленным ответом, а Kafka — для обработки больших потоков данных и событий с высокой надёжностью и масштабируемостью.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🔥1
С чего начать? → Всё самое важное здесь

Guru Python at YeaHub | Sergey Filichkin 👩‍💻

Всем привет!

Сначала я думал, что IT — для избранных 🤦‍♂️

А потом просто начал системно действовать — без знакомств, без “таланта с детства”, только упорство и Google.

С тех пор я прошёл путь от начинающего разработчика до инженера с многолетним опытом.
Успел поработать во всевозможных компаниях — от небольших стартапов (до 100 человек) до огромных корпораций (десятки тысяч сотрудников),
работая с самыми актуальными технологиями: Python, Django, FastAPI, Flask, PostgreSQL, Docker и CI/CD.

Я — ментор по Python-разработке. Помогаю разработчикам вырасти от Junior до Middle и Senior, понимать, что действительно нужно рынку, и строить карьеру осознанно, без хаоса.

А ещё я — Guru по Python в YeaHub, где отвечаю за качество контента и развитие экосистемы Python-направления.

Потому что IT — не для избранных.
IT — для тех, кто готов действовать системно 💪

📰 Блог >>> Telegram
📺 Канал >>> YouTube
📰 > VK

А ещё подписывайтесь на другие каналы Экосистемы YeaHub

Проект YeaHub:

🚀 YeaHub | 🖥 GitHub | Telegram

🎵 TikTok | 📹 YouTube | 👥 Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2🤝1
#tool #ии #голос
📚 Реалистичный AI-голос без онлайн API и рисков утечки данных

Теперь можно генерировать сверхреалистичную речь и клонировать голос по всего 3 секундам аудио прямо на ПК, смартфоне или Raspberry Pi.

Модель весит всего 0,5B параметров, работает полностью локально и защищает приватность пользователей. Встроенные водяные знаки обеспечивают отслеживаемость сгенерированного аудио.

Перейти к материалу

👉 База вопросов 👉 Новости
2
#Собес #isinstance #data_types #type_checking
🤔 Как в Python можно проверить тип данных?

💬 Кратко:

Помимо использования функции type(), для проверки типа данных в Python можно использовать функцию isinstance(), которая позволяет проверять принадлежность объекта к конкретному классу или типу.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
>>> Когда стоит заняться рефакторингом (а когда лучше этого не делать)

Рефакторинг – это часть нормального процесса разработки.
В идеале под него нужно закладывать 15–20% времени спринта, т.к. код нужно улучшать постоянно, из-за постоянно меняющихся требований и архитектуры продукта

Но реальность чаще всего другая и бизнес не хочет тратить на это время. Из-за этого кодовая база постепенно ухудшается: на исправления уходит все больше времени, скорость разработки падает, а стоимость поддержки постоянно растёт

Когда стоит переписывать код?

1️⃣Когда с ним уже невозможно работать
Если чтобы внести простое изменение, приходится по несколько часов разбираться, как вообще всё устроено – это явно сигнал к рефакторингу

Но даже в таких случаях такое решение стоит аргументировать тем, что дальнейшая работа без него просто неэффективна


2️⃣Когда код писался как временное решение
Иногда приходится оставлять часть кода “на потом” –временные фиксы, костыльные решения, куски логики без тестов

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


3️⃣Когда изменились требования и архитектура
Продукт растёт, задачи меняются, сервис начинает выполнять новые функции, а старая архитектура под новые цели может не подходить. В этом случае тоже стоит выбить время на рефакторинг и адаптировать код под актуальные требования


❗️Теперь о том, когда рефакторинг не нужен.

Если код тебе просто “не нравится” или выглядит не так, как ты бы сделал, или кажется неидеальным, но при этом работает стабильно и не мешает другим, то лучше его не трогать
Такие правки не ускоряют работу команды, не снижают риски и не дают бизнес-эффекта. Это просто субъективное мнение, что "хочу/могу лучше", которое можно отложить на потом


3 простых критерия, чтобы принять решение:

©️Разработка и поддержка занимают слишком много времени

©️Есть свободный ресурс и возможность выделить время под улучшения

©️Рефакторинг реально повлияет на скорость, стабильность или развитие продукта


🚀 Пост Guru Python: @SergeyFilichkinTeam
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
#Собес #python #asyncio #fastapi

🤔 Middle Python Backend разработчик в компанию ЛитРес

HR-скрининг. Зима 2025. 240-340к. Проект: работа над функционал читалки. Опыт в резюме: 3.3 года.

💬 Вопросы:

- Какие типы тестов существуют и в каких случаях используются (например, модульные, интеграционные)?

- Как можно покрыть код тестами? Какой процент покрытия кода считается оптимальным?

- Как можно организовать загрузку большого словаря в память приложения и обработку запросов к нему через один endpoint по ключу?

- Какие существуют асинхронные библиотеки в Python, помимо FastAPI?

- Какими способами можно параллельно запустить две задачи в асинхронном коде?

👉 Все вопросы из этого собеседования (6)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1
#tool #ии #голос
📚 Реалистичный AI-голос без онлайн API и рисков утечки данных

Теперь можно генерировать сверхреалистичную речь и клонировать голос по всего 3 секундам аудио прямо на ПК, смартфоне или Raspberry Pi.

Модель весит всего 0,5B параметров, работает полностью локально и защищает приватность пользователей. Встроенные водяные знаки обеспечивают отслеживаемость сгенерированного аудио.

Перейти к материалу

👉 База вопросов 👉 Новости
2
#Собес #fast_api
🤔 Можно ли использовать concurrent.futures.ThreadPoolExecutor в FastAPI эндпоинте? Это опасно?

💬 Кратко:

Использование ThreadPoolExecutor в FastAPI возможно, но требует осторожности, так как это может повлиять на производительность и масштабируемость приложения.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
#Собес #fastapi #sort
🤔 Как отсортировать список чисел в Python используя FastAPI?

💬 Кратко:

Для сортировки числового списка в FastAPI можно использовать встроенную функцию sorted() или метод .sort() в рамках вашего эндпоинта для обработки запросов на сортировку.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Шпаргалка по случайным числам в Python 👩‍💻

Супер простая напоминалка, о которой многие забывают
В Python есть специальный модуль — random.

Вот 6 главных команд, которые тебе постоянно будут нужны. Сохрани их 👇

🟡random.random()

Возвращает случайное число с плавающей точкой в диапазоне от 0 до 1.

import random

value = random.random()
print(value)
# пример вывода: 0.472883602...



🟡 random.randint(a, b)

Выдаёт случайное целое число от a до b включительно.
Хорошо подходит для тестовых ID, портов, симуляций и т. д.

import random

session_id = random.randint(100000, 999999)
print(session_id)
# пример: 582347



🟡 random.choice(seq)

Возвращает один случайный элемент из списка, кортежа или строки.

import random

env = random.choice(["dev", "staging", "prod"])
print(env)
# prod



🟡 random.sample(seq, k)

Выбирает k уникальных элементов из последовательности (без повторов).

import random

servers = ["srv1", "srv2", "srv3", "srv4", "srv5"]
maintenance = random.sample(servers, 2)
print(maintenance)
# ['srv2', 'srv4']



🟡 random.shuffle(list)

Перемешивает элементы списка.

import random

endpoints = ["/login", "/register", "/logout"]
random.shuffle(endpoints)
print(endpoints)
# ['/register', '/logout', '/login']



🟡 random.seed(x)

Фиксирует результат генерации, чтобы при повторном запуске выдавался тот же набор чисел. Полезно для тестов.

import random

random.seed(123)
print(random.random())
# 0.0523635988



🚀 Пост Guru Python: @sergey_filichkin_blog
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #python #dict #async

🤔 Middle Python Backend разработчик в компанию МОСГАЗ

Техническое собеседование. Лето 2025. Опыт в резюме: 3.5+ года. Проект: Личный кабинет для потребителей услуг и корпоративный портал. Лайвкодинг - палиндром, работа со строками.

💬 Вопросы:

- Какая связь между async/await и генераторами?

- Могут ли два кортежа (один пустой, второй с пустым списком) быть ключами?

- Что из себя внутри представляют списки?

- Какие встроенные структуры данных в Python ты знаешь и чаще всего используешь?

- Что такое async?

👉 Все вопросы из этого собеседования (13)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1🔥1
#Собес #cd #delivery #deployment
🤔 Что такое Continuous Delivery?

💬 Кратко:

Continuous Delivery (CD) — это процесс, при котором код после успешной проверки автоматически подготавливается для выпуска в продакшн. Он остаётся в стабильном состоянии и может быть развернут в любой момент.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
2
#channel #лекции
📚 ComputerScienceCenter

Русскоязычный канал, на котором вы найдете видеозаписи лекций и короткие тематические ролики на интересные темы о компьютерных науках и программировании. Материал публикуется для ИТ-специалистов, студентов и школьников, интересующихся программированием и математикой.

Помимо роликов о программировании на Rust канал публикует уроки по Python, алгоритмизации, анализу изображений, C/C++, Java, Kotlin и прочему. Лекторы разные: в основном нескучные и отвечающие на вопросы аудитории.

Перейти к материалу

👉 База вопросов 👉 Новости
1
#Собес #json #fastapi #request
🤔 Как отправить данные JSON из фронтенда JavaScript на FastAPI?

💬 Кратко:

Данные JSON можно отправить из JavaScript с помощью метода fetch или axios. FastAPI автоматически парсит тело запроса JSON и передает данные в обработчик маршрута.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
1
Python для автоматизации времени ⏱️

Python позволяет автоматизировать сложные задачи, связанные со временем (таймеры, отсчеты, напоминания), используя минимальное количество кода и стандартные библиотеки.

Используются модули time (для задержек) и datetime (для работы с датой и временем).


🟡 Обратный отсчет (таймер)

Последовательный отсчет секунд до старта события с выводом прогресса в консоль. Основной принцип – использование цикла for и функции time.sleep(1) для точной секундной задержки.

Например вы бы хотели сделать таймер для отдыха или работы

import time
import sys
import winsound # Для Windows. На macOS можно использовать os.system('afplay sound.mp3')

seconds = 10 # Время обратного отсчёта

for remaining in range(seconds, 0, -1):
sys.stdout.write(f"\rОсталось {remaining} секунд{' ' * 5}")
sys.stdout.flush()
time.sleep(1)

# Сигнал окончания
winsound.Beep(1000, 500)

print("\nВремя вышло! Пора работать.")



🟡 Ежедневное уведомление (планировщик)

Здесь скрипт просто срабатывает, когда текущее время совпадает с заданным.

По сути это бесконечный цикл while True, который периодически проверяет и сравнивает отформатированное текущее время (%H:%M) с целевым.

Можно использовать для напоминаний или просто выполнения действий в определенное время (включить свет, узнать погоду, получить список дел на день) =)


from datetime import datetime
import time
import requests

target_time = "09:00" # Время напоминания
city = "Moscow"

while True:
now = datetime.now().strftime("%H:%M")

if now == target_time:
print("Время проверить задачи на день!\n")
time.sleep(60) # Чтобы не сработало несколько раз в ту же минуту

time.sleep(20) # Проверка каждые 20 секунд



🚀 Пост Guru Python: @sergey_filichkin_blog
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2