Какой опыт с языками программирования?
Что проверяют
Можете ли вы автоматизировать задачу кодом, который потом поддержит кто-то ещё, а не только склеить команды в однострочник. Следом дают задачу вроде «распарсить лог» или «обойти API и собрать отчёт», либо спрашивают, когда Bash пора менять на Python.
Как отвечать
Назовите языки по их роли в работе:
- Bash: обёртки, entrypoint контейнеров, задачи cron. Пишите с
set -euo pipefail, кавычками вокруг переменных и проверкой черезshellcheck. Граница применимости: когда появляются структуры данных, разбор JSON и ветвления на сотню строк, скрипт пора переписывать; - Python: автоматизация и работа с API через
requestsилиhttpx, облачные SDK вродеboto3, клиентkubernetes, разбор YAML и JSON. Зависимости в виртуальном окружении с зафиксированными версиями; - Go: CLI-утилиты, операторы Kubernetes, экспортеры для Prometheus. Главный плюс: один статический бинарник, образ без рантайма;
- языки конфигурации: HCL в Terraform, шаблоны Helm поверх YAML, плейбуки и роли Ansible;
- CI: пайплайны GitLab CI или GitHub Actions. Логика в YAML быстро разрастается, и её стоит выносить в скрипты, которые можно запустить локально.
Покажите на своём примере: какую рутину автоматизировали, сколько времени она занимала до и после, кто ещё пользовался результатом. Цифры давайте реальные. Если на Go вы писали мало, не записывайте его в основные языки: скажите, что читаете код и правили готовые утилиты.
Где спотыкаются
Пишут скрипты без обработки ошибок: команда в середине упала, скрипт продолжил работу и удалил не тот каталог. Один set -e тоже не спасает, внутри условий и конвейеров он ведёт себя неочевидно.
Держат пароли и токены в скриптах открытым текстом, а не в переменных окружения или менеджере секретов.
Пишут Python-скрипт на пятьсот строк без тестов, разбора аргументов и логирования, и через полгода его боится трогать вся команда.