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
#Собес #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
#Собес #module #import
🤔 Что такое модуль в контексте Python?

💬 Кратко:

Модуль — это файл с кодом Python (обычно с расширением .py), который можно импортировать и использовать в других программах. Модули позволяют структурировать код и повторно использовать его.

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

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

Если вы пишете утилиты, вам может понадобиться быстрая и удобная работа с датами и временем. В Python есть встроенный и мощный модуль calendar


📎 Ничего не нужно устанавливать, модуль calendar входит в стандартную библиотеку Python.

from calendar import * # Импортируем все функции для удобства (но лучше так не делать)


🟡 Кастомизация вывода целого года

Функция calendar() — это мощный инструмент для форматированного вывода. Вы можете настроить ширину ячеек, отступы и даже количество месяцев в строке. Хорошо подходит для быстрого CLI-отчета или вывода в календаря в логи.


year = int(input("Введите год для календаря: "))

# Вывод календаря целого года с продвинутым форматированием
print(calendar(
year,
2, # Ширина каждой ячейки дня
1, # Количество строк между неделями
8, # Горизонтальный отступ между месяцами
2 # Количество месяцев в одной строке (вместо стандартных трех)
))


В результате получите отформатированный календарь прямо в терминале (попробуйте)


🟡 Работа с объектом TextCalendar

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


# Создание объекта с началом недели в Понедельник (0 = Понедельник)
cal = TextCalendar(firstweekday=0)

month_num = 4 # Пример: Ноябрь
print(f"--- Ноябрь {year} ---")

# Отформатированный вывод конкретного месяца
print(cal.formatmonth(year, month_num))


🟡 Получение структурированных данных

Для программной обработки дат вам нужны не просто строки, а списки данных. Метод monthdayscalendar() возвращает недели выбранного месяца в виде списков, где 0 означает дни, не входящие в этот месяц


# Получение недель в виде списков:
# [Понедельник, Вторник, ... Воскресенье]
weeks = cal.monthdayscalendar(year, month_num)

print("\n--- Недели (списки чисел) ---")
for week in weeks:
# Здесь можно легко проверить, является ли день выходным или праздником
print("Неделя:", week)


Модуль calendar позволяет не только вывести красивый календарь в консоль, но и получить структурированные данные для дальнейшей обработки в ваших скриптах или API

Пробовали ли вы что-нибудь такое?
Делитесь опытом в комментариях 👇

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