Каталог
Практические задачи
Тренажёр на реальной системе: ломаем сервис, даём терминал, проверяем результат по чекпоинтам.
17 из 38 · Сбросить
Деплой ждёт новую схему
API на SQLite после обновления ждёт колонку, которой нет в таблице, — валятся и чтение, и запись. Мигрируйте схему вперёд, не потеряв три исторических инцидента.
0 комментариевWatchdog убивает свежий процесс после рестарта
Собственный watchdog убивает воркер на каждом рестарте. Почините отслеживание PID, не отключая наблюдение.
0 комментариевБинарь не может связаться со службой
Бинарь не может связаться со службой после её переезда на новый адрес. Почините связь, не подделывая ответ.
0 комментариевБэкапы тихо перестали сниматься
Бэкап по расписанию не снимается три дня, и ни одной ошибки в логах. Верните регулярные бэкапы.
0 комментариевДва поддомена не резолвятся
Свой DNS-сервер не резолвит два поддомена зоны. Найдите причину в зоне и почините резолвинг.
0 комментариевИспорченная запись в SQLite
Скрипт readdb.py читает имя из SQLite и печатает не то значение. Исправьте данные в базе, не трогая скрипт.
0 комментариевМесто занято, а файлов нет
На разделе с логами кончилось место, но du и ls почти пусты. Верните свободное место, не уронив сервис.
0 комментариевОбработка очереди встала
Сообщения из FIFO перестали обрабатываться — читатель не работает. Восстановите обработку в лог.
0 комментариевПриложение отвечает слишком медленно
Приложение на 8080 отвечает, но каждый запрос тянется секундами. Найдите и устраните задержку.
0 комментариевПробросить порт без остановки сервиса
Сервис на 20280 нужно сделать доступным на 80, не останавливая и не переконфигурируя его.
0 комментариевРаскладка кучи зависла на монтировании
Программа зависла, раскладывая файлы по разделу из /etc/fstab. Разберитесь в мониторинге и доведите работу до конца.
0 комментариевРеплика Redis молча отстала
Redis-реплика подключена, но данные с мастера до неё не доезжают. Почините репликацию, не снимая пароль с мастера.
0 комментариевСервис падает: слишком много открытых файлов
Сервис не стартует с ошибкой «Too many open files». Поднимите лимит дескрипторов и верните сервис.
0 комментариевСнапшот на жёстких ссылках
Снапшот сделан жёсткими ссылками на прод — правка боевых файлов молча меняет бэкап. Разорвите ссылки, сохранив данные.
0 комментариевТест сломал один коммит
Тест в репозитории проходил на первом коммите и падает на последнем. Найдите коммит, который его сломал.
0 комментариевФайл держит открытым зависший процесс
Файл /opt/oax/somefile держит открытым зависший процесс. Освободите файл, не удаляя его.
0 комментариевЧистка истории команд
В истории команд остались вызовы, которых там быть не должно. Уберите их, не сломав историю.
0 комментариев
Как устроены задачи HireOps
Каждая задача: рабочая система с внесённой поломкой, упавший сервис, забитый диск, процесс, съедающий CPU. Терминал даёт полный доступ, чекпоинты проверяют результат автоматически, без ручной проверки.
Форматы разные: от одного сломанного сервиса на десять минут до многошагового расследования на час. Условие одно: система должна снова работать, не только выглядеть рабочей.
Задачи открыты всем и бесплатны, поэтому в оценке кандидатов на настоящем интервью не участвуют: интервьюер собирает сессию из другого набора кейсов. Подробнее о формате технических интервью на главной странице HireOps.