Прохождение собеседования на нагрузочного тестировщика. Что интересует работодателя?

YOUTUBE · 29.11.2025 04:15

Ключевые темы и таймкоды

Введение и представление

0:03
  • Начало открытого урока по теме прохождения собеседования на тестировщика.
  • Проверка записи и трансляции, приглашение к обратной связи в чате.
  • Представление ведущего: инженер по нагрузочному тестированию с более чем восьмилетним опытом.

Опыт и цель урока

1:00
  • Ведущий прошёл путь от начинающего сотрудника до начальника отдела нагрузочного тестирования.
  • Цель урока — помочь тем, кто впервые идёт на собеседование или давно не практиковался.

План урока

1:51
  • Знакомство с программой урока: введение, обсуждение OTS, основная часть о собеседовании.
  • Примеры вопросов и ответов без подробностей.

Технические настройки

2:51
  • Обсуждение проблем со звуком и шумоподавлением.
  • Переход на микрофоны в наушниках для улучшения качества звука.

О курсе и обратной связи

3:05
  • Приглашение на курс нагрузочного тестирования.
  • Обещание рассказать о карьерной информации и обратной связи через опрос.

OTS и его особенности

5:08
  • OTS — сайт обучения с различными направлениями и сертификатами.
  • Упоминание о лицензии и положительных отзывах обучающихся.

Целевая аудитория

6:55
  • Урок полезен для джунов и мидлов с ограниченным опытом.
  • Также полезен для тех, кто хочет нанять сотрудников.
  • Не подходит для сеньоров с большим опытом.

Важность мотивации

9:35
  • Мотивация соискателя — важная часть собеседования.
  • Работодатель должен создать комфортную атмосферу для соискателя.
  • Соискателю важно демонстрировать готовность обучаться и работать в компании.

Демонстрация заинтересованности

12:23
  • Соискатель должен знать о компании и её задачах.
  • Демонстрация заинтересованности в работе вызывает интерес у работодателя.
  • Пример: обсуждение возможных задач в банке.

Переход к техническим вопросам

13:42
  • Начало обсуждения технических вопросов.
  • Ограниченное время собеседования обычно около часа.

Определение областей знаний

14:04
  • Собеседующий выясняет, в какой области знания соискателя наиболее полны.
  • Начинающие могут сразу указать свои сильные стороны, например, опыт в программировании.

Интересы работодателей

14:58
  • Работодатели интересуются пониманием нагрузочного тестирования и работой с базами данных, особенно PostgreSQL.
  • Опыт работы с другими базами данных, такими как Oracle или Microsoft SQL Server, также ценится.

Знание метрик

15:52
  • Важно понимать мониторинг систем, включая утилизацию процессора, памяти, дисков и сети.
  • Знание различий между свободной и доступной памятью, кэшем и RSS ценится.

Открытые вопросы

17:10
  • Собеседующий задаёт открытые вопросы, моделируя цели тестирования.
  • Пример вопроса: «Из каких шагов будет состоять ваше тестирование?»

Этапы тестирования

18:07
  • Выяснение цели тестирования, создание методики-профиля.
  • Проверка стенда, сравнение с prod, написание скриптов и заглушек.
  • Оценка результатов, отчёт, ретесты после оптимизаций.

Написание скриптов

20:51
  • Определение действий, которые нужно заскриптовать.
  • Запись скрипта, добавление корреляций и параметризации.
  • Проверка скрипта в системе, включая создание сущностей и анализ логов.

Проверка скриптов

23:01
  • Проверка скрипта под разными пользователями и в нескольких потоках.
  • Анализ логики скрипта: выполнение действий при получении разных ответов.

Предыдущий опыт

25:35
  • Обсуждение предыдущего опыта, включая работу системным администратором или автотестером.
  • Определение любимых видов задач для назначения правильных задач.

Взаимодействие с бизнесом

26:33
  • Вопрос от представителя бизнеса: «Что вам нужно знать об этой системе?»
  • Собеседующий начинает придумывать ответы, чтобы услышать ответы соискателя.

Определение целей тестирования

27:16
  • Бизнес-отдел просит протестировать систему.
  • Вместе формулируют техническую цель тестирования.
  • Если нагрузка на систему не превышает одну операцию одновременно, тестирование не требуется.

Оценка опыта по открытым вопросам

28:06
  • По уверенным и детальным ответам можно оценить опыт кандидата.
  • Вопросы о технических знаниях в нагрузочном тестировании.

Виды нагрузочных тестов

29:02
  • Важные тесты: на поиск максимальной производительности и тест стабильности.
  • В тесте производительности нагрузку постепенно наращивают до момента, когда система «сдохнет».
  • В тесте стабильности подают нагрузку, которую система выдерживает, но долго, чтобы посмотреть, что будет дальше.
  • Регрессионное тестирование проверяет, не ухудшилось ли поведение системы при одинаковых условиях.

Протоколы и типы систем

30:01
  • Обсуждение протоколов, которые кандидат использовал в обучении.
  • Оценка знаний о нагрузочных тестах для различных типов систем, например, баз данных.

Тестирование на слабом стенде

31:00
  • Вопрос о необходимости знания системы перед началом тестирования.
  • Тестирование на стенде, который слабее продуктивного, позволяет сделать выводы о производительности на проде.
  • На слабом стенде можно проводить сравнительные тесты между релизами.

Влияние характеристик стендов

32:54
  • Различия в характеристиках стендов могут влиять на результаты тестов.
  • Свободные ресурсы процессора важны для точности тестов.
  • Если на проде процессор загружен на 10%, это не значит, что для теста можно использовать процессор в два раза слабее.

Сбор профиля тестирования

33:27
  • Профиль тестирования включает набор операций и их интенсивности.
  • Идеальная ситуация — наличие статистики по системе за последний месяц.
  • Необходимо определить дни с существенной нагрузкой и составить средний нагруженный день.

Анализ нагрузки и согласование профиля

34:11
  • Оценить рост нагрузки на систему за последний период.
  • Отбросить выходные и другие дни с низкой нагрузкой.
  • Усреднить интенсивности операций за каждый час.

Взаимодействие с отделами

35:07
  • Получить информацию от бизнес-отделов, разработчиков, аналитиков.
  • Согласовать операции, добавить или исключить их из профиля.
  • Учесть одинаковые операции, которые могут называться по-разному.

Инструменты нагрузочного тестирования

36:00
  • Знание одного инструмента не исключает возможности использования другого.
  • Пример разницы: в JMeter скрипты создаются мышкой, в Gatling — кодом.
  • Понимание основ корреляции и анализа результатов важно для работы с любыми инструментами.

Вопросы на собеседовании

37:52
  • Вопрос о подаче конкретной нагрузки, например, 10 бизнес-кейсов в секунду.
  • Оценка реакции кандидата на ошибки и его способности делать выводы.
  • Пример ошибки: запуск виртуального пользователя без учёта пауз реальных пользователей.

Исправление ошибок

39:39
  • Работа тестировщика требует постоянного поиска и исправления ошибок.
  • Важно уметь видеть и исправлять свои ошибки.
  • Пример исправления: добавление задержек для учёта времени выполнения запросов.

Рассуждения вслух

42:27
  • Озвучивание хода мыслей помогает собеседующему лучше понять кандидата.
  • Кандидат, который рассуждает вслух, более привлекателен для работодателя.
  • Интровертам может быть сложнее исправлять ошибки, поэтому важно научиться разговаривать.

Начало собеседования по базам данных

44:20
  • Собеседующий начинает с простых вопросов о SELECT и UPDATE.
  • Если кандидат знает основы, переходят к более сложным темам, например, JOIN.
  • Важно, чтобы кандидат не стеснялся задавать вопросы, если что-то непонятно.

Оценка знаний кандидата

45:16
  • Собеседующий оценивает, насколько хорошо кандидат понимает базовые концепции.
  • Если кандидат хорошо разбирается в SELECT, но не в UPDATE, переходят к другим темам.
  • Не стоит стесняться задавать вопросы, чтобы сэкономить время.

Определение соответствия кандидата

46:15
  • Собеседующий быстро понимает, подходит ли кандидат для работы.
  • Даже если кандидат хорошо разбирается в базах данных, важно выяснить его навыки в других областях.
  • Пример: кандидат знает базы данных, но не умеет писать скрипты, поэтому спрашивают о мониторинге и программировании.

Вопросы по базам данных

47:00
  • Вопросы включают SELECT, UPDATE, JOIN, подзапросы, переменные в запросах и табличные переменные.
  • Спрашивают о работе с процедурами и функциями.
  • Обсуждают транзакции: их назначение, проблемы и последствия.

Понятие транзакций

48:56
  • Транзакция — это набор действий, которые выполняются либо все вместе, либо ни одно из них.
  • Пример транзакции: перевод денег со счёта Васи на счёт Пети.
  • Если одно из действий транзакции не выполнено, вся транзакция откатывается.

Проблемы с транзакциями

50:37
  • Забытые открытые транзакции могут блокировать ресурсы на неопределённое время.
  • Приложение может зависать из-за заблокированных транзакций.
  • Важно понимать последствия незавершённых транзакций.

Наполнение базы данных

51:37
  • Наполнение базы данных необходимо для тестирования системы.
  • Нужно генерировать похожее количество записей в тестовой базе.
  • Варианты наполнения: напрямую в базу данных или через API.

Методы наполнения базы данных

53:30
  • Прямой метод: вставка данных в базу данных с помощью INSERT.
  • Метод через API: создание данных через систему, сервер приложений и базу данных.
  • Пример: создание клиентов и операций через API.
  • Часто в базе данных больше таблиц, чем кажется на первый взгляд.

Создание клиента в базе данных

54:42
  • Разработчики рекомендуют создавать клиента через интерфейс сайта, а не напрямую в базе данных.
  • Для нагрузочного тестирования могут потребоваться заглушки для SMS-сообщений.
  • Создание сущностей в базе данных возможно через механизм, которым пользуются клиенты.

Вставка данных в базу данных

55:41
  • Необходимо выяснить, какие таблицы задействованы для вставки данных.
  • Можно запросить информацию у разработчиков или проанализировать состояние базы данных.
  • После вставки данных нужно проверить изменения в базе.

Анализ запросов и создание скрипта

56:32
  • При большом количестве запросов можно обратиться к разработчикам за помощью.
  • Если запросов немного, можно вручную выполнить запросы и проверить результаты.
  • Необходимо написать скрипт для массовой вставки данных в базу.

Поиск узких мест в базе данных

58:26
  • Важно анализировать блокировки и запросы, которые занимают много ресурсов.
  • Нужно проверять текст запросов и планы запросов для оптимизации.
  • Начинающие могут начать с анализа планов запросов.

Инструменты для анализа базы данных

1:02:13
  • Для Oracle: AWR отчёты и SAS Viewer.
  • Для Microsoft: Query Analyzer.
  • Инструменты позволяют анализировать производительность системы и запросы.

Метрики производительности

1:04:28
  • Основные метрики: процессор, диск, сеть и память.
  • Загрузка процессора не всегда отражает его реальную производительность.
  • Чем больше процессор занят, тем медленнее он обрабатывает новые задачи.

Влияние загрузки процессора на производительность

1:06:23
  • При загрузке процессора на 50% новым задачам придётся ждать, пока процессор освободится.
  • Это снижает общую производительность системы.

Мониторинг производительности

1:06:50
  • Обсуждение причин, по которым процессор может быть загружен не полностью, но работать медленнее.
  • Важность знания утилит для мониторинга.
  • Упоминание Prometheus как популярной утилиты с множеством экспортеров.

Альтернативные утилиты

1:07:50
  • Описание Telegraf как агента для сбора информации о ресурсах.
  • Особенности встроенных плагинов в Telegraf.
  • Сравнение с другими утилитами, такими как Zabbix.

Преимущества современных утилит

1:08:43
  • Современные утилиты отображают метрики на графиках во время сбора.
  • Упоминание встроенной утилиты Perfmon в Windows.
  • Сравнение Perfmon с Prometheus и Telegraf.

Графана как инструмент отображения метрик

1:10:23
  • Графана используется для отображения метрик в виде графиков и таблиц.
  • Возможность импорта и создания собственных дашбордов.
  • Значение опыта работы с Графаной.

Оценка дисковой подсистемы

1:12:53
  • Проблемы с метрикой процента утилизации диска при наличии нескольких дисков.
  • Неинформативность метрики дисковой очереди.
  • Ограниченность метрики операций в секунду OPS.

Метрики времени отклика диска

1:16:25
  • Важность метрик времени отклика диска в Windows и Linux.
  • Ожидаемые значения времени отклика: от 1 до 5 миллисекунд.
  • Различие между метриками IO Time и SERF Time.

Специфические метрики для различных систем

1:18:23
  • Рекомендации по изучению метрик для баз данных, Java-приложений и систем очередей.
  • Примеры метрик для Kafka: размер невычитанных сообщений, количество сообщений в очереди, скорость записи и чтения сообщений.
  • Ключевые метрики для Java: размер хипа, количество тредов.
  • Метрики для баз данных: количество блокировок, длительность блокировок, количество одновременно работающих запросов.

Программирование в нагрузочном тестировании

1:20:36
  • Основная задача для начинающих — написание простых заглушек.
  • Опытные программисты могут искать проблемы в чужом коде и оптимизировать его.
  • Пример задачи: обработка запроса с ID и отправка ответа по шаблону.

Инструменты для написания заглушек

1:21:34
  • Возможность использования сервисов для написания заглушек.
  • Важность понимания инструментов и их возможностей.
  • Оценка навыков программирования через обсуждение кода.

Сроки выполнения задач

1:23:30
  • Начинающие могут обещать быстрое выполнение задач, но это может быть неискренне.
  • Опытные специалисты учитывают время на проверку и отладку.
  • Готовность к ошибкам помогает сэкономить время.

Тестовые задания

1:24:43
  • Тестовые задания полезны для оценки уровня кандидата.
  • Примеры задач: замена системы на заглушку, проверка логики.
  • Проверка способности применять логику к работе нагрузочного тестировщика.

Подход компании Performance

1:27:48
  • Компания Performance обучает новых сотрудников с нуля.
  • Тестовые задания заменяют собеседования.
  • Успешное прохождение школы нагрузочного тестирования ведёт к получению работы.

Логические загадки

1:30:01
  • Логические загадки полезны для разминки и оценки навыков.
  • Важно оценивать не только правильный ответ, но и процесс рассуждения.
  • Примеры загадок: определение причин и следствий проблем в системе.

Обсуждение логических загадок

1:32:37
  • Загадки должны быть сложными, но не иметь однозначного ответа.
  • Интерес вызывает процесс рассуждения кандидата вслух.
  • Обсуждение загадок помогает лучше понять навыки кандидата.

Поиск вакансий для джунов-нагрузочников

1:33:10
  • В текущей компании нет вакансий для джунов-нагрузочников, так как работает только один нагрузочный тестировщик.
  • Рекомендуется искать вакансии на сайтах вроде HeadHunter.

Преимущества работы в компаниях-аутсорсерах

1:34:05
  • Компании-аутсорсеры предлагают возможность работать на сложных проектах и учиться у опытных коллег.
  • Примеры компаний: Perfomance, Ланит.

Условия работы в компаниях-аутсорсерах

1:36:01
  • Зарплаты в компаниях-аутсорсерах невысокие, около 40–60 тысяч рублей, но это хороший старт для начинающих.
  • Важно учиться и получать опыт для повышения зарплаты.

Статистика зарплат

1:36:48
  • Медиана зарплаты для стажёров — 183 тысячи рублей, но реальные зарплаты могут быть ниже.
  • С опытом зарплаты увеличиваются до 70–80 тысяч рублей и выше.

Описание курса

1:38:47
  • Курс начинается 29 августа и длится четыре месяца.
  • Занятия с 8 до 9:30, есть открытые уроки и домашние задания.
  • После курса можно претендовать на должность выше стажёра.

Содержание курса

1:40:09
  • Изучение инструментов нагрузочного тестирования: Shemeter, LoadRunner, Gatling, K6.
  • Теоретическая часть: методика, статистика, анализ, профилирование, отчёты.
  • Практические занятия: эмуляторы, метрики, базы данных.
  • Итоговый проект и защита.

Дополнительные возможности

1:42:53
  • Вебинары два раза в неделю, домашние задания с поддержкой преподавателей.
  • Доступ к видеоурокам после курса.
  • Возможность общения с другими обучающимися в чате нагрузочного тестирования в Telegram.
  • Получение сертификата по окончании курса.

Заключение

1:43:52
  • Приглашение задавать вопросы в Telegram-чате.
  • Прощание и пожелание хорошего дня.