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
#Собес #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
#Собес #sql #rest #testing

🤔 Python Backend Developer в компанию KeepRise

HR-скриннинг. Лето 2024. Зарплатная вилка: 350к. Опыт в резюме: 6+ лет. Проект: система ценообразования. Глубокие технические моменты не затрагивались.

💬 Вопросы:

- Как работает балансировщик нагрузки?

- Зачем нужны юнит-тесты?

- Как проектировать data pipeline для надёжности и масштабируемости?

- Что такое "хорошая архитектура"?

- Разница между POST, PUT и PATCH?

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

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1🔥1🙏1
#trainer #верстка
📚 Выведи свой навык верстки на новый уровень

Верстаем.онлайн — проект от верстальщиков верстальщикам.

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

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

👉 База вопросов 👉 Новости
#Собес #yield #generator
🤔 Какой синтаксис создания генераторов?

💬 Кратко:

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

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

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

QR-коды — это мощный инструмент для быстрого кодирования данных (ссылок, JSON- payloads, аутентификационных токенов) прямо в своих сервисах и микросервисах

▶️ Python позволяет генерировать QR-код за несколько строк, с полной кастомизацией

Для работы нам потребуется две библиотеки: qrcode для логики кодирования и Pillow (PIL) для манипуляций с изображением и сохранением.

pip install qrcode pillow


Представленный ниже код использует параметры класса qrcode.QRCode, что критично для контроля качества и размера в продакшене 👇

import qrcode
from PIL import Image

# 1. Сбор данных (имитация входного payload)
# В реальном приложении это может быть URL, JSON-токен или ключ
data = input("Введите данные для кодирования (URL/Token): ")

# 2. Инициализация QR-объекта с контролем параметров
# version=3: Уровень сложности (влияет на объем данных)
# box_size=8: Количество пикселей в одном "квадрате" (модуле) QR-кода
# border=4: Ширина белой рамки (критично для сканеров!)
qr = qrcode.QRCode(version=3, box_size=8, border=4)

# Добавляем данные и подгоняем размер (fit=True)
qr.add_data(data)
qr.make(fit=True)

# 3. Визуализация и кастомизация
# Использование нестандартных цветов для брендинга или тестирования
image = qr.make_image(fill="black", back_color="aqua")

# 4. Сохранение и отображение результата
# В backend-приложении вы могли бы вернуть этот image-объект как бинарные данные
file_name = "custom_qr_code.png"
image.save(file_name)

print(f" QR-код успешно сгенерирован: {file_name}")
# Image.open(file_name) # Откроет файл для проверки


Этот функционал легко интегрируется в:

🟡 API (FastAPI/Django): Для динамической генерации QR-кодов (например, для двухфакторной аутентификации или билетов)

🟡 Брендинг: Изменение цвета (fill и back_color) и размеров (box_size) для соответствия дизайну проекта

Пишите в комментариях – используете ли вы QR-коды в своих текущих проектах или хотели бы использовать такую штуку для себя? 🙂


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

🤔 Middle Python Developer в компанию Yappy

Техническое собеседование. Лето 2024. Опыт в резюме: 4 года. Проект: вертикальные видео. Вопросы затрагивали реальные кейсы из высоконагруженного проекта.

💬 Вопросы:

- В чём разница между git rebase и git merge?

- Что такое команда git cherry-pick?

- Использование Poetry для управления зависимостями

- Как спроектировать систему учёта просмотров видео?

- Как потоки/процессы обмениваются данными (очереди, общие ресурсы)?

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

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

💬 Кратко:

Локальный репозиторий находится на вашем компьютере и хранит всю историю изменений проекта. Удаленный репозиторий — это копия вашего проекта, размещенная в облаке (например, на GitHub). Вы работаете с локальным репозиторием и периодически синхронизируете изменения с удаленным.

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

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

Сайт предоставляет SQL-тренажёр с упражнениями, которые приближены к реальным профессиональным задачам. Пользователи могут решать задания разной сложности и по различным тематикам

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

👉 База вопросов 👉 Новости
❤‍🔥2🔥1
Forwarded from YeaHub
[Версия 1.2.1] - Обновление платформы

Мы продолжаем развивать YeaHub, чтобы сделать обучение ещё удобнее, эффективнее и интереснее. В этом обновлении — важные и долгожданные улучшения 👇

🔹 Аналитика платформы
Нам важно понимать, какие вопросы вызывают наибольшие сложности у тех, кто готовится к собеседованиям, поэтому мы начали собирать расширенную статистику.
Какой вопрос самый сложный в нашем тренажёре? Какие навыки наиболее востребованы? Какие темы чаще всего встречаются на реальных собеседованиях? И многое другое — всё это теперь доступно благодаря обновлённой аналитике. Аналитика (после авторизации)

🔹 Обучение и менторы
Вы должны знать героев, которые помогают делать платформу лучше. Это менторы, которые вместе со своими учениками развивают YeaHub, давая бесценный опыт работы над реальным продуктом.
А также крутые эксперты, которые повышают качество контента и помогают нам расти. Все менторы

🔹 Записи собеседований
Мы расширяем партнёрства! Нам важно собрать всё самое полезное в одном месте.
Теперь у нашего партнёра с закрытым чатом собеседований появился отдельный информативный лендинг — удобно, структурировано и всегда под рукой. Записи собесов

🔹 Исправления и улучшения
Мы учли вашу обратную связь: исправили баги, улучшили интерфейс и сделали работу с платформой ещё комфортнее 🧠

🔥 Скоро
1. Парсер навыков и ключевых слов с HH
2. Сервис Лайвкодинга с реальными задачами с собеседований

👉 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru

#release #news #update #yeahub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1🤝1