Библиотека собеса по Python | вопросы с собеседований
Open in Telegram
Вопросы с собеседований по Python и ответы на них. Учиться у нас: https://clc.to/VcaMmg По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot
Show more5 852
Subscribers
-124 hours
-27 days
-3930 days
Posts Archive
Repost from Proglib.academy | IT-курсы
👀 Краткая выжимка нашей имбовой рассылки по ИИ
Ниже — небольшая подборка, а если хотите фулл, то подписывайтесь на рассылку
💬 Новости
▫️ Энтузиасты получили доступ к Anthropic Mythos
Группа из Discord-канала, искавшая доступ к ещё не вышедшим моделям, угадала URL Mythos по шаблонам URL других моделей Anthropic и через аккаунт стороннего подрядчика получила доступ к инструменту
▫️ Anthropic тайно устанавливает шпионское ПО при установке Claude Desktop
Claude Desktop без спроса прописывает в семь браузеров (Chrome, Brave, Edge, Chromium, Arc, Vivaldi и Opera) Native Messaging bridge, который дает расширению Claude доступ к авторизованным сессиям, DOM и формам за пределами песочницы. Удалить это нельзя — приложение восстанавливает файл с настройками при каждом запуске.
▫️ Три бага, которые сломали Claude Code
Сначала снизили режим мышления с high до medium ради скорости, потом словили баг с кешированием, из-за которого модель теряла контекст каждый ход вместо одного раза, а под конец добавили системный промпт с жесткими лимитами на длину ответов — все это вместе выглядело как общая деградация модели, хотя API б
🤖 Инструменты для ИИ
Google DESIGN.md — открытый стандарт описания дизайн-систем для UI-агентов
designdotmd.directory — каталог DESIGN.md файлов
beads — система памяти для агентов
swarm-forge — оркестратор агентов, работающих в разных git worktree одного проекта
browser-harness — дает агентам полный контроль над браузером
agentmako — превращает код в локальную базу знаний и скармливает AI-агентам готовый контекст
thonops — cобирает сайт на Next.js, обновляя страницу на лету при любой правке кода и заливая проект на Vercel в пару кликов
vibechord — инструмент для запуска нескольких AI-агентов и управления ими из одного места
monitorability-evals — открытый датасет от OpenAI для оценки того, насколько хорошо можно отслеживать и контролировать поведение языковых моделей в различных сценариях
🖥 Разбор пяти AI-проектов, набравших тысячи звезд на GitHub:
Hermes Agent — самообучающийся ассистент с долгой памятью
DeerFlow — мультиагентный фреймворк с изолированными песочницами
Multica — аналог Jira для AI-команд
Claude Code Game Studios — 48 агентов-коллег для инди-геймдева
MarkItDown — конвертер любых документов в Markdown
⚡️ Скиллы
ui-skills.com — 12 кураторских скилов для UI
Nothing Design Skill — скил для Claude Code по созданию пользовательского интерфейса в дизайн-языке Nothing: монохромный, типографический, индустриальный
codex-marketplace.com — каталог плагинов, скилов и хуков для Codex с установкой в одну команду и рейтингом от коммьюнити
TBM Recommender — прикручивает к AI-агентам базу рассылки TBM про продукты и менеджмент, вытаскивая релевантные посты через хитрую трехуровневую выборку ради экономии токенов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🏃♀️ Proglib Academy
#буст
Что такое функциональное программирование?
Функциональное программирование — это парадигма программирования, в которой основными строительными блоками являются функции.
В функциональном программировании функции рассматриваются как математические функции — они принимают входные данные и возвращают результат.
Основные принципы функционального программирования:
— Чистота функций: функции не должны иметь побочных эффектов и зависеть только от своих аргументов.
— Иммутабельность: данные в функциональном программировании неизменяемы.
— Рекурсия вместо циклов: в функциональном программировании циклы заменены на рекурсивные вызовы функций.
— Высшего порядка функции: функции могут принимать на вход и возвращать другие функции.
— Ленивые вычисления: вычисления откладываются до тех пор, пока результат не потребуется.
Библиотека собеса по Python
Как обрабатывать несколько ошибок из параллельных задач, не теряя стеков и не «глуша» отмену?
Запускайте задачи в TaskGroup, ловите ExceptionGroup и разбирайте через except* по типам; отмену не подавляйте — дайте CancelledError всплыть. Логи ведите по вложенным исключениям, повторные ретраи — точечно по соответствующим подгруппам.
Библиотека собеса по Python
Какие существуют различные стили наследования моделей в Django?
Django поддерживает 3 типа наследования. Это абстрактные базовые классы, многотабличное наследование и прокси-модели.
Библиотека собеса по Python
Что вы подразумеваете под шаблонизаторами во Flask?
Шаблонизаторы используются для создания веб-приложений, состоящих из нескольких компонентов. Они применяются для серверных приложений, которые не создаются как API и работают на одном сервере. Шаблоны также позволяют быстро визуализировать серверные данные, которые должны быть предоставлены приложению, такие как body, navigation, footer, панель управления и так далее.
Ejs, Jade, Pug, Mustache, HandlebarsJS, Jinja2 и Blade — некоторые из популярных шаблонизаторов.
Библиотека собеса по Python
Долгоживущий Python-сервис после пиков удерживает высокий RSS, хотя счётчик объектов стабилен и tracemalloc показывает, что большинство аллокаций освобождены. Почему память «не возвращается ОС» и как это чинить?
Это не утечка в логике, а фрагментация/поведение аллокаторов: pymalloc и glibc malloc держат арены/пулы, ОС не всегда может их отдать обратно. Смешение «долгоживущих» и «короткоживущих» объектов усугубляет фрагментацию.
Лечение: снижать churn и фрагментацию (reuse буферов, __slots__, пулы объектов, векторизация/NumPy вместо мелких аллокаций), разводить по жизненным циклам крупные структуры, выносить большие буферы в управляемые bytearray/мемпулы. На уровне рантайма — использовать jemalloc или аккуратно вызывать malloc_trim(0) (Linux) в моменты покоя. Архитектурно — модель процессов с ротацией воркеров (gunicorn --max-requests/--max-requests-jitter, uvicorn multiple workers), чтобы «сбрасывать» фрагментированную память. Профилировать: сравнивать RSS vs tracemalloc, смотреть malloc_info(), psutil и горячие аллокации.
Библиотека собеса по Python
Где вы читаете полезный IT-контент?
Интересуют источники, где не только новости, но и практика, разборы и реальные кейсы. Поделитесь в комментариях, можно 1-2 канала/автора, где читаете (TG / Habr / блог / X / GitHub) и какая тематика?
Repost from Proglib.academy | IT-курсы
⚡️ Главные ИИ-новости недели: от громкого трансфера Карпати до бесплатного ChatGPT для целой страны
1. Андрей Карпати перешел в Anthropic.
2. Anthropic впервые обогнала OpenAI по бизнес-адопции: 34.4% и 32.3% соответственно. (см. 2)
3. Codex теперь доступен в мобильном приложении ChatGPT
4. xAI запустила Grok Build — CLI-агент для кодинга с субагентами, plan-режимом, headless и ACP. Пока бета, только для SuperGrok Heavy. (см. 4)
5. Cursor выпустил модель Composer 2.5 (на основе Kimi K2.5): стоит в 10 раз дешевле и работает на уровне Opus 4.7. (см. 5)
6. Google релизнула модель Gemini 3.5 Flash
Модель Gemini 3.5 Flash, которая обходит Gemini 3.1 Pro на агентских и кодинговых бенчмарках при 4-кратной скорости вывода. Вместе с ней появился персональный агент Gemini Spark, работающий круглосуточно, а 3.5 Pro ожидается в следующем месяце. (см. 6)
7. Alibaba выпустила Qwen 3.7 Max Preview (заняла 13 место в Text Arena) и Plus Preview (16 место в Vision Arena). (см. 7)
8. Moonshot AI выпустила Kimi WebBridge
Расширение для браузера, которое дает агенту доступ к вашим учетным записям, файлам cookie и авторизованным сессиям, чтобы он мог сам кликать, скроллить и заполнять формы от вашего имени на любых сайтах.
9. Мальта договорилась с OpenAI и раздает всем своим гражданам годовую подписку ChatGPT Plus
📬 Понравился дайджест? Это лишь 20% от того, что мы отправляем нашим подписчикам каждую субботу.
👉 Подписаться на еженедельную ИИ-рассылку
В чём различие между __getattribute__ и __getattr__, и когда вызывается каждый?
Короткий ответ: __getattribute__ вызывается при каждом обращении к атрибуту; __getattr__ — только если атрибут не найден обычным способом. Внутри __getattribute__ нужно делегировать в super().__getattribute__, иначе будет бесконечная рекурсия.
Библиотека собеса по Python
Как реализовано управление памятью во Flask?
В Flask распределение памяти управляется модулем управления памятью Flask Python. Кроме того, в Flask есть встроенный сборщик мусора, который перерабатывает всю неиспользуемую память, освобождая место в куче. Ответственность за отслеживание всего этого лежит на интерпретаторе Python. Однако пользователи могут использовать основной API для доступа к некоторым инструментам.
Библиотека собеса по Python
Что такое сигналы Django?
При каждом изменении модели нам может потребоваться инициировать определённые действия.
Django предлагает элегантный способ обработки этих изменений с помощью сигналов. Сигналы — это утилиты, позволяющие связывать события с действиями. Мы можем реализовать их, разработав функцию, которая будет запускаться при вызове сигнала.
Библиотека собеса по Python
Как работает дескрипторный протокол?
Дескриптор — объект, реализующий
__get__, __set__ или __delete__. Если такой объект присвоен атрибуту класса, доступ через экземпляр идёт через эти методы.
Два типа: — Data-дескриптор (__set__/__delete__) — приоритет над __dict__ экземпляра. — Non-data (только __get__) — перекрывается __dict__ экземпляра.
Порядок поиска атрибута: data-дескрипторы класса → __dict__ экземпляра → non-data и обычные атрибуты класса → __getattr__.
На дескрипторах построены property, classmethod, staticmethod, cached_property, привязка методов к экземпляру и поля в dataclasses.
class Positive:
def __set_name__(self, owner, name):
self.name = f'_{name}'
def __get__(self, obj, objtype=None):
return getattr(obj, self.name)
def __set__(self, obj, value):
if value <= 0:
raise ValueError("must be positive")
setattr(obj, self.name, value)
class Account:
balance = Positive()
Позволяет переиспользовать логику доступа к атрибутам без метаклассов и дублирования property.
Библиотека собеса по PythonДля чего нужен модуль operator?
Модуль operator предоставляет функции, которые соответствуют встроенным операторам языка.
Например, функции add(), sub(), mul() и другие реализуют арифметические операторы +, -, *.
Основные причины использования модуля operator:
— Возможность передавать функции в качестве аргументов или возвращаемых значений других функций. Например, в sorted(), min(), max() и др.
— Оптимизация производительности за счет использования функций вместо выражений. Функции заранее компилируются.
— Удобство использования при работе с изменяемыми операторами. Можно легко передать нужный оператор в функцию.
— Дополнительные возможности, например, operator.itemgetter() и operator.attrgetter() для извлечения элементов из объектов.
Библиотека собеса по Python
Как настроить статические файлы в Django?
Убедитесь, что файл django.contrib.staticfiles добавлен в ваш INSTALLED_APPS.
В файле настроек определите STATIC_URL, например:
STATIC_URL = '/static/'
В шаблонах Django используйте статический тег шаблона для создания URL-адреса для заданного относительного пути с использованием настроенного STATICFILES_STORAGE.
{% load static %}
<img src="{% static 'my_sample/abcxy.jpg' %}" alt="ABC image">
Сохраните статические файлы в папке static в вашем приложении. Например, my_sample/static/my_sample/abcxy.jpg
Библиотека собеса по Python
Как вы спроектируете высоконагруженный API на Django/DRF с P99 < 50 мс при 10k rps, строгой согласованностью кэша при записи и нулевым простоем при деплоях?
ASGI-стек (Uvicorn+Gunicorn), асинхронные вьюхи только для I/O; БД: pgbouncer, целевые индексы/covering, устранение N+1 (select_related/prefetch_related), атомарные операции через F() и при необходимости SELECT … FOR UPDATE, критичные места — raw SQL; чтение через реплики с роутерами, для ускорения — CQRS: read-модель (материализованные представления/Redis). Кэш как cache-aside в Redis с версионированием ключей; инвалидация не сигналами, а outbox-паттерном: запись события в таблицу → Celery-консюмер инвалидирует/перестраивает кэш; для публичных GET — ETag/Last-Modified и CDN. Миграции без простоя по схеме expand→migrate data→contract, индексы CONCURRENTLY, деплой blue/green; задачи — Celery/RQ, идемпотентность через ключи, ретраи с backoff. Наблюдаемость: APM, slow query log, профилинг N+1, метрики p95/p99; безопасность: строгие SECURE_*, CSRF, rate limiting в DRF/Reverse-proxy; логи — stdout.
Библиотека собеса по Python
Как просмотреть все элементы в модели django?
ModelName.objects.all()
Библиотека собеса по Python
Что такое глубокая и поверхностная копии? Для чего они нужны?
⚫️ Поверхностная копия создаёт новый объект, который содержит ссылки на внутренние объекты из оригинала. Если вы измените внутренние объекты оригинала, эти изменения отразятся и в поверхностной копии. Поверхностное копирование полезно, когда вы хотите создать новый экземпляр коллекции, но сохранить элементы коллекции неизменными. Это copy.copy(x).
⚫️ Глубокая копия, напротив, создаёт новый объект и рекурсивно копирует все внутренние объекты, найденные в оригинале. В результате, внутренние объекты глубокой копии являются полностью независимыми от оригинальных объектов. Это полезно, когда нужно, чтобы исходный объект и его копия были полностью изолированы друг от друга. Это copy.deepcopy(x).
Библиотека собеса по Python
Как делать атомарную запись и надёжную фиксацию файла при сбоях и конкурирующих записях?
Пишите во временный файл в том же каталоге, flush() → os.fsync(tmp) → os.replace(tmp, target) (атомарный rename), затем os.fsync(dir). Для множественных писателей используйте файловый lock (fcntl/msvcrt/portalocker) или координацию через очередь/БД; не перезаписывайте «на месте».
Библиотека собеса по Python
Что делает функция statvfs?
Функция
statvfs() используется для получения информации о файловой системе, содержащей указанный путь. Она возвращает объект класса os.statvfs_result, атрибуты которого представляют информацию о файловой системе.
Библиотека собеса по Python🔥 Знакомьтесь с экспертом Proglib.academy: Эмиль Сатаев
Эмиль — эксперт с 8-летним опытом в разработке, который специализируется на внедрении LLM и агентных подходов в реальные коммерческие сервисы. Он точно знает, как проектировать архитектуру так, чтобы ИИ-функции работали стабильно в связке с внешними системами.
🏃♀️ Уже 14 мая Эмиль проведет открытый вебинар!
Обсудим самую «больную» тему: «Почему AI-продукты на базе LLM ломаются и как сделать, чтобы работало».
🗓 Когда: 14 мая в 19:00 (Мск)
Почему Эмиля стоит послушать:
🟣 8+ лет в разработке (Backend и Frontend)
Прошел путь от фулстека до Backend Platform Developer в SMIT.Studio.🟣 Международный исследовательский опыт
Работал исследователем в Институте ИИ НИУ ВШЭ и в Национальном университете Сингапура (NUS).🟣 Преподаватель-практик
Ведет семинары в НИУ ВШЭ, в том числе по проектированию и разработке агентских систем.🟣 Мастер интеграции AI в Backend
Его главная суперсила — умение правильно встраивать LLM через API, выстраивать workflow и агентную логику в сложных распределенных системах.🔗 Зарегистрироваться на вебинар
