Какой опыт работы с Python
Что проверяют
Можете ли вы написать на Python инструмент, который коллеги запустят и через полгода, а не одноразовый скрипт. Следом часто просят решить маленькую задачу вживую: разобрать лог, сходить в API и отфильтровать ответ. Или спрашивают, чем Python удобнее Bash в конкретном случае.
Как отвечать
Назовите задачи, где Python у вас реально работал: CLI для команды, интеграция с API облака, обработка вебхуков, свой экспортер метрик, динамический инвентарь для Ansible. Затем инструменты:
- облако и кластер:
boto3для AWS или SDK вашего облака, официальный клиентkubernetes; - HTTP:
requestsилиhttpxс явными таймаутами и повторами; - SSH:
paramikoили Fabric, хотя конфигурацию серверов правильнее отдать Ansible; - CLI:
argparse,clickилиtyper, осмысленные коды выхода,loggingвместоprint; - окружение: виртуальное окружение, зафиксированные версии зависимостей,
uvилиpip-tools, упаковка в контейнер; - качество:
pytest,ruff, проверка типов черезmypy; - метрики:
prometheus_clientдля экспортера.
Хорошо объяснить, почему здесь Python, а не Bash: структуры данных, работа с JSON и YAML, обработка ошибок, тесты. Цифры в примере должны быть вашими и объяснимыми: «выкладка занимала сорок минут ручной работы, стала запускаться одной командой». Если Python у вас на уровне небольших скриптов, так и скажите и покажите один хорошо сделанный.
Где спотыкаются
Ставят зависимости в системный Python через sudo pip. В свежих Debian и Ubuntu это блокирует PEP 668, правильный ответ здесь виртуальное окружение или pipx.
Вызывают requests.get без timeout. По умолчанию таймаута нет, и задача в cron зависает навсегда на подвисшем соединении.
Собирают shell-команды склейкой строк и зовут subprocess.run с shell=True. Имя файла или параметр из внешнего источника превращается в инъекцию, безопаснее передавать аргументы списком.