Python Developer
21.5K subscribers
1.81K photos
135 videos
13 files
1.96K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
Вопрос с собеседования

Что такое фабрика декораторов в Python?

Ответ:
Фабрика декораторов — это функция, которая возвращает декоратор с параметрами. Она позволяет обобщить поведение и избежать дублирования кода, когда нужно применять одни и те же проверки с разными условиями.

В примере функция require_role("editor") создаёт декоратор, который разрешает выполнение только тем пользователям, у кого есть нужная роль. Это удобно, когда нужно ограничить доступ к разным функциям на основе прав пользователя.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
🤖 Инструмент, позволяющий собирать ML-модели по текстовому описанию

Внутри целая агентская система, которая автоматизирует весь цикл создания ML — от идеи до готового решения, без ручной возни с архитектурой и пайплайнами.

Как это работает:
▶️ Формулируете задачу обычным текстом и задаёте данные, при необходимости схему он извлекает сам

▶️ Под капотом работает группа ИИ-агентов: один проектирует модель, второй пишет код, третий оценивает качество и правит ошибки

▶️ При нехватке данных система может сгенерировать синтетический датасет для тестирования

▶️ Есть поддержка Ray для параллельного перебора моделей и масштабирования на ядра или кластер

▶️ Через LiteLLM подключается к любым облачным или локальным моделям


Идеально подходит для быстрого прототипирования и экспериментов, когда важно быстро получить рабочий результат — забираем здесь.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔖 Наглядная шпаргалка по HTTP-запросам

Коротко и наглядно показывает, чем отличаются основные HTTP-методы, когда использовать GET, POST, PUT, PATCH и DELETE, и какие ответы от сервера при этом ожидать.

Сохраняйте, чтобы не потерять!

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥43
Вопрос с собеседования

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

Ответ: Бизнес-логику следует размещать в отдельном слое приложения — в сервисах, доменных моделях или специализированных workflow. Это позволяет отделить правила и поведение системы от инфраструктуры и интерфейсов, упрощает тестирование и делает код масштабируемым.

В подходах вроде DDD бизнес-логика концентрируется внутри доменных сущностей и агрегатов, в более классических архитектурах — в сервисных классах. Ключевой принцип — не размещать бизнес-логику в контроллерах, обработчиках запросов или слоях доступа к данным.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥2
🤖 Инструмент, позволяющий собирать ML-модели по текстовому описанию

Внутри целая агентская система, которая автоматизирует весь цикл создания ML — от идеи до готового решения, без ручной возни с архитектурой и пайплайнами.

Как он работает:
Формулируете задачу обычным текстом и задаёте данные, при необходимости схему он извлекает сам

Под капотом работает группа ИИ-агентов: один проектирует модель, второй пишет код, третий оценивает качество и правит ошибки

При нехватке данных система может сгенерировать синтетический датасет для тестирования

Есть поддержка Ray для параллельного перебора моделей и масштабирования на ядра или кластер

Через LiteLLM подключается к любым облачным или локальным моделям


Идеально подходит для быстрого прототипирования и экспериментов, когда важно быстро получить рабочий результат — забираем здесь.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63
Вопрос с собеседования

Какие задачи хорошо параллелятся, а какие — плохо?

Ответ: Хорошо масштабируются в многопоточность задачи с большим количеством операций ввода-вывода — сетевые запросы, доступ к файлам, ожидание ответа от базы данных. Пока один поток ждёт, интерпретатор может переключиться на другой, не теряя время впустую.

Плохо параллелятся задачи, которые нагружают CPU и активно используют память. В Python это особенно заметно из-за GIL: при расчётах на CPU всё равно будет использоваться один поток, и параллельное выполнение не даст прироста. Более того, из-за переключений между потоками программа может даже замедлиться.

Если задача сочетает IO и тяжёлую обработку — например, скачивание и парсинг — лучше разделить её: IO оставить в потоках, а CPU-нагрузку отдать в процессы (через multiprocessing) или вынести в очередь.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
🐍 Пошаговый гайд по Seaborn для начинающих

В статье показано, как быстро строить понятные и аккуратные графики в Python с помощью Seaborn, не утопая в настройках Matplotlib.

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

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥2
Что выведет код сверху?
Anonymous Quiz
39%
True
22%
False
33%
Невозможно определить
7%
Ошибка
13
Git_Cheatsheet.pdf
306.4 KB
👩‍💻 Удобная шпаргалка по Git для эффективной работы

Это структурированный справочник, в котором:
1. Настройка Git (конфигурация);

2. Создание новых проектов;

3. Изменение, добавление и удаление файлов в репозитории;

4. Слияние веток (merging);

5. Коммиты и множество других полезных команд под рукой.


tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53
Вопрос с собеседования

Как устроена архитектура брокеров в Kafka?

Ответ: В Kafka каждая партиция топика имеет лидера — брокера, который обрабатывает все запросы на запись и (по умолчанию) чтение. Остальные брокеры, содержащие копии этой партиции, называются фолловерами. Все реплики партиции (включая лидера) формируют группу ISR (in-sync replicas).

Данные всегда пишутся в лидера, который затем асинхронно реплицирует их фолловерам. Если лидер выходит из строя, Kafka автоматически выбирает нового из числа ISR. Это обеспечивает отказоустойчивость, хотя при смене лидера возможна кратковременная задержка в обслуживании.


tags: #собеседование

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍3
🖥 Огромная шпаргалка по командам Linux

Собрал удобный конспект базовых команд Linux — чтобы всегда был под рукой. Подойдёт и новичкам, и тем, кто периодически забывает синтаксис.

Файлик в хорошем качестве оставил в комментариях.

tags: #полезное #linux

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105
Вопрос с собеседования

Какие основные принципы написания unit-тестов?

Ответ: Unit-тест проверяет одну небольшую единицу поведения и изолирует её от внешних зависимостей. В тесте должна быть чёткая структура: подготовка данных, выполнение действия, проверка результата. Тест обязан быть детерминированным, то есть давать один и тот же результат при повторных запусках, без зависимости от времени, случайности и окружения.

Хороший unit-тест читается как спецификация: понятное имя, минимум лишней подготовки, понятная причина падения. Он должен быть быстрым и не ходить в сеть, базу и файловую систему. Если зависимость неизбежна, её подменяют заглушкой или моками, проверяя либо результат, либо контракт взаимодействия, но не оба сразу без необходимости.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥2
🐍 Пишем самый примитивный компилятор на Python

В статье пошагово объясняется, как на Python создать компилятор для собственного языка программирования.

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

Читать статью

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Почему оператор is не стоит использовать для сравнения строк и чисел?

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

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


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣6👍4