P
prepair.app
Пройти интервью →
EnglishУкраїнськаРусскийDeutsch
🤖

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

Middle · 2–4 года опыта

На собеседовании QA Automation проверяют знание фреймворков, паттернов автоматизации и — прежде всего — умение писать тесты, которые остаются зелёными не по случайности. Ниже — частые вопросы с эталонными ответами. Middle: более глубокое понимание, оптимизацию и реальные рабочие ситуации.

Попробовать — без регистрации
Готовим вопрос…

Темы для подготовки

Selenium WebDriver и Playwright
Page Object Model
Явные и неявные ожидания
API-тестирование
Интеграция с CI/CD
Flaky-тесты и их устранение

7 вопросов уровня Middle с ответами

1

Что относится к каждому слою пирамиды тестов и что происходит, когда форма переворачивается?

Ответ

Юнит-тесты покрывают логику и идут миллисекунды, интеграционные — стыки между компонентами, e2e — несколько путей, которые не должны ломаться никогда. Когда форма переворачивается в рожок мороженого, то есть в основном UI-тесты, набор становится медленным, нестабильным и дорогим в поддержке, а команда начинает игнорировать красную сборку. Пирамида — утверждение о скорости обратной связи, а не о проценте покрытия.

2

Как клиентская библиотека общается с браузером?

Ответ

Selenium шлёт HTTP-запросы процессу драйвера, тот переводит их в собственный протокол автоматизации браузера — один круг на команду, поэтому болтливые тесты медленные. Playwright держит одно WebSocket-соединение и говорит по протоколу DevTools напрямую, поэтому умеет ждать автоматически и перехватывать сетевой трафик. Эта архитектурная разница объясняет большинство практических.

3

Как запускать тесты параллельно, чтобы они не мешали друг другу?

Ответ

Каждому тесту нужны свои данные и свой контекст браузера. Обычный виновник — общие фикстуры, созданные один раз на набор: два теста меняют одного пользователя и падают только при совпадении по времени. Лечится созданием данных на тест с уникальным ключом и уборкой после, плюс свежим контекстом на воркер, чтобы куки и хранилище не протекали.

4

Тест проходит локально и падает в CI. Назовите вероятные причины по порядку.

Ответ

Сначала время: CI медленнее, и гонка, незаметная локально, становится видимой. Затем окружение: другая версия браузера, отсутствующий шрифт, меняющий вёрстку, другой часовой пояс. Затем данные: локально остался объект, которого в CI нет, или наоборот. Затем параллельность, если CI гонит то, что вы запускали последовательно. В таком порядке причина находится куда быстрее, чем чтением диффа.

5

Что вы мокаете в автотесте, а что нет?

Ответ

Мокают сторонние сервисы, которыми не управляют, особенно платные, и всё недетерминированное — время, случайность. Не мокают собственный бэкенд в e2e-тесте, иначе фронт проверяется против выдумки. Полезная середина — перехват сети: реальная система работает, а заглушается только тот вызов, который нужно уронить по требованию.

6

Как HashMap находит значение и почему важен hashCode?

Ответ

Хеширует ключ, чтобы выбрать корзину, дальше сравнивает через equals внутри неё. Если hashCode плохой или константный, всё попадает в одну корзину и поиск деградирует с константного времени до линейного перебора списка. Поэтому переопределить equals без hashCode — ошибка: равные объекты хешируются по-разному и пропадают из карты, куда вы их только что положили.

7

Что такое контрактный тест и что он ловит из того, что не ловит e2e?

Ответ

Он проверяет, что поставщик и потребитель согласны о форме сообщения, не запуская обоих одновременно. Ловит изменение, о котором никто не объявил — переименованное поле, расширенный тип, необязательное ставшее обязательным — в момент внесения, а не в ночном прогоне. Ценность растёт с числом сервисов, поэтому одному монолиту он редко нужен.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Middle QA Automation →
Бесплатно · 3 интервью в месяц

Другие уровни — QA Automation

Junior QA AutomationSenior QA AutomationВсе вопросы QA Automation

Другие специализации

🔍Middle QA ManualMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend💎Middle Ruby on Rails🟣Middle .NET Backend Developer🔷Middle C++🟨Middle JavaScript