Я стараюсь следить за трендами на рынке, в том числе при помощи собеседований. Вопросы, которые задают соискателям, ярко отражают портрет идеального кандидата в контексте сегодняшнего дня. А последние пару недель я и сама активно проходила интервью. Ниже подготовила подборку самых попсовых и интересных вопросов.👇
📚 Общая теория
1. Что такое CI/CD? Где заканчивается CI и начинается CD?
2. Чем CDL отличается от CDP, когда какой подход использовать?
3. Чем контейнеризация отличается от виртуализации?
4. Что такое канареечный и blue-green деплои?
5. *Как реализовать zero-downtime deploy?
6. *Назовите четыре золотых сигнала?
🐧 Linux
📁 Файловая система
1. Что такое индексные дескрипторы и какую информацию они содержат?
2. Что такое лимиты и какими они бывают?
3. Разница между hard link и soft link?
4. Как посмотреть открытые файлы?
5. Что происходит при удалении файла, если он открыт другим процессом?
6. Какие типы файлов в Linux вы знаете?
7. Какие права должны быть у файла, чтобы его удалить? (вопрос с подвохом)
⚙️ Процессы
1. Какой процесс в Linux имеет первый PID?
2. Что такое системные вызовы?
3. Как отследить системные вызовы работающей программы?
4. Что такое systemd?
5. Что такое load average?
6. В каких состояниях могут находиться процессы? По каким причинам процесс может находиться в статусе D (uninterruptible sleep)?
7. Что такое зомби-процесс и чем он опасен?
🌐 Сеть
1. Что такое iptables?
2. Как посмотреть открытые порты?
3. Как проверить настройки сетевого интерфейса?
4. Можно ли изменить SSH-порт? Как?
5. Что такое SSH-туннель?
6. *За что отвечает протокол ARP?
🖥️ Bash
1. Что делает пайп?
2. Что возвращает переменная "$?" ?
3. В каких ситуациях может пригодиться xargs?
4. Что произойдёт при выполнении export env=test?
5. Что произойдёт при выполнении source ~/.bashrc? В каких ситуациях использовать?
6. Что делает этот однострочник и каков будет результат?
kubectl get po | awk 'NR != 1 { print $1 }' | xargs -n1 kubectl delete po && echo "done" || echo "no pods"
🖼️ Kubernetes
1. Назовите компоненты control plane и worker нод?
2. Какой компонент запускает контейнеры и управляет их жизненным циклом?
3. Где хранится вся информация о кластере?
4. Чем pod отличается от контейнера?
5. Что такое sidecar и init контейнеры и чем отличаются?
6. Какова разница между PV и PVC?
7. Чем DaemonSet отличается от StatefulSet?
8. Что такое limits и requests?
9. Что происходит, если pod упирается в лимиты по CPU и памяти?
10. Какие есть QoS классы?
11. Какие есть пробы и за что они отвечают?
12. Что такое tolerations и taints?
13. Назовите причины, по которым может не запланировать под?
14. Какова разница между delete и rollout?
15. Что произойдёт, если удалить namespace, в котором висят finalizer’ы?
16. *Как работает VPA и HPA?
🖼️ Docker
1. Чем Dockerfile отличается от образа?
2. Чем отличаются команды COPY и ADD?
3. Чем отличаются команды CMD и ENTRYPOINT?
4. Что такое слои?
5. Что происходит с образом, когда на его базе запускается контейнер? Изменяется ли он?
6. Перечислите практики оптимизации сборки образа (минимум 4).
7. Как вытащить файл из остановленного контейнера, не запуская его?
8. *Как передать пароли/секреты в Dockerfile во время сборки?
Есть еще много специфичных тем, которые варьируются от вакансии к вакансии, но при этом есть общий набор, перечисленный выше 🙂
Собираю свою личную коллекцию вопросов для тех интервью, которые провожу. Если у вас есть классные, нестандартные вопросы - присылайте! 😎