Кто занимался разработкой и поддержкой вашего фреймворка
Что проверяют
Вопрос почти всегда следует за вашей фразой «у нас был свой фреймворк». Интервьюер проверяет, какая доля работы ваша и насколько глубоко вы знаете то, о чём рассказываете. Следом спросят, зачем понадобился свой фреймворк вместо готового решения и как его поддерживали, когда им начали пользоваться другие команды.
Как отвечать
Разделите «мы» и «я». Команда могла быть из нескольких человек, но назовите, что конкретно делали вы: ядро, плагины, CI, документацию, поддержку пользователей.
Объясните, зачем фреймворк вообще появился. Сильный ответ звучит так: Django, FastAPI или pytest закрывали общую часть, а своё решение добавляло недостающее, например общую авторизацию, единый формат логов, фикстуры под внутренние сервисы. Если причина была в желании написать своё, лучше это признать и сказать, что сделали бы иначе.
Покажите, как устроена поддержка Python-библиотеки, которой пользуются другие:
- упаковка:
pyproject.toml, публикация во внутренний реестр пакетов, установка по закреплённой версии; - версии: семантическое версионирование и changelog, ломающие изменения только в мажорной версии;
- устаревание:
warnings.warnсDeprecationWarningза один или два релиза до удаления API; - совместимость: матрица версий Python в CI через
toxилиnox, аннотации типов и проверкаmypy; - обратная связь: задачи от команд-пользователей, дежурный по фреймворку, документация на MkDocs или Sphinx.
Если это фреймворк для автотестов, говорите про плагины pytest, conftest.py, фикстуры с областью видимости и параллельный запуск через pytest-xdist.
Если вы им только пользовались, так и скажите и назовите, что знаете изнутри: что чинили, что предлагали.
Где спотыкаются
Говорят только «мы». После трёх уточняющих вопросов выясняется, что ваша доля была небольшой, и доверие ко всему рассказу падает.
Не могут объяснить, чем свой фреймворк лучше готового. Без этого он выглядит как изобретённый заново велосипед.
Приводят цифры вроде «производительность выросла на 30%» без базы для сравнения и способа замера. Лучше назвать измеримое: сколько команд подключили фреймворк и сколько кода ушло из их сервисов.