Mock Interview на позицию инженера по Нагрузочному Тестированию.
Мок-интервью инженера по нагрузочному тестированию с разбором подхода к проекту, БД, мониторинга, автоматизации, Kubernetes и профилирования. Включает практическую задачу по моделированию асинхронного банковского процесса.
Это мок-интервью на позицию инженера по нагрузочному тестированию. Кандидат рассказывает, как принимает унаследованный проект: проверяет тесты и методику, поднимает мониторинг, актуализирует тестовые данные и делает артефакты единообразными. Основная часть посвящена диагностике производительности баз данных, мониторингу приложений, очередей и инфраструктуры, а в практической задаче разбирается сценарий асинхронной обработки зарплатного реестра с опросом статуса.
При входе в старый НТ-проект сначала нужно проверить валидность существующих кейсов и бизнес-логику на реальном контуре, а затем постепенно унифицировать скрипты, инструкции и связанные артефакты.
Методику тестирования следует актуализировать после сбора описания системы, инфраструктуры и недостающих сведений у команды; тестовые данные также нельзя считать пригодными без отдельной проверки.
Для исследования деградации БД под нагрузкой полезно сравнивать прогон на копии production с расширенными данными, анализировать блокировки, занятые процессы, CPU, индексы и типичность нагрузки.
Если запрос медленный только под нагрузкой, причина может быть не только в плане или индексе: нужно проверить ожидания блокировок, исчерпание соединений и очереди выполнения.
Наблюдаемость стоит строить вокруг Prometheus, экспортёров, Grafana и метрик приложения: RPS, ошибки, процент успешности, нагрузка по сервисам и эндпоинтам, метрики БД и очередей.
Для очередей важно отделять накопление сообщений из-за проблем самого брокера от отставания потребляющего сервиса; в RabbitMQ отдельно полезно смотреть время неподтверждённых сообщений.
Асинхронный сценарий в нагрузочном скрипте можно реализовать как загрузку файла, циклический polling статуса до ожидаемого результата и финальный запрос на выполнение операции; отдельно стоит измерять длительность фоновой обработки.
В автоматизации кандидат использует Jenkins, Git и Python: проверяет параметры JMeter-планов, запускает тесты на агентах и хранит вспомогательную логику вне веб-интерфейса Jenkins.