Собеседование автоматизатора — это три слоя: инструменты (селекторы, ожидания, фреймворк), инженерная культура (POM, CI, flaky) и базовый язык. Ниже — типовые вопросы каждого слоя и что на самом деле проверяет интервьюер.
Юнит → интеграционные → E2E: чем выше, тем дороже и нестабильнее. Хотят: почему «всё через UI» — антипаттерн и где место ваших тестов.
Страница = класс, локаторы и действия внутри, тесты читаются как сценарии. Плюс — сказать про перебор: для 5 тестов POM может быть оверинжинирингом.
Фикстуры, фабрики, генерация через API, изоляция между тестами, очистка. Проверяют главную боль реальных проектов — зависимые данные.
Playwright: автоожидания, скорость, трейсы; Selenium: экосистема, легаси, Grid. Хотят аргументы, а не религию: «зависит от проекта, вот критерии».
data-testid → id → устойчивый CSS → XPath в крайнем случае. Критерии: устойчивость к правкам вёрстки, читаемость.
Неявные — глобальный таймаут, явные — ждать условие. sleep всегда либо медленный, либо недостаточный. Это вопрос-фильтр: sleep в ответе = красный флаг.
Скрины/видео/трейсы из CI, различия окружений (разрешение, таймауты, данные, параллельность), логи приложения. Проверяют системность мышления.
Причина (гонки, ожидания, данные), карантин, а не бездумный retry. Ответ «ставлю retry=3» без анализа — минус.
Подготовка/очистка через DI: function, class, module, session; yield для teardown. Пример: одна авторизация на session вместо каждой в тесте.
@pytest.mark.parametrize — один тест на наборе данных; ids для читаемых отчётов. Связка с классами эквивалентности — сильный ответ.
Общие фикстуры и хуки для пакета тестов без импортов. Плюс: иерархия conftest'ов по папкам.
httpx/requests: статус → схема ответа (pydantic/jsonschema) → бизнес-проверки → негатив; данные через API, а не UI. Проверка схемы, а не только 200 — то, что отличает мидла.
Триггеры (PR/ночь), стадии, параллелизация, Allure-отчёты, артефакты падений. Хотят: тесты как часть конвейера, а не локальная кнопка.
Feature-ветки, PR с ревью; rebase — линейная история, merge — сохранение контекста. Достаточно уверенного рабочего процесса, а не гуру-ответа.
Готовьте цифры заранее: сколько тестов, что покрывали, сколько времени экономил прогон, что ловили. «Не помню» звучит как «не писал».
История: контекст → проблема → варианты → решение → результат. Технические детали в истории — доказательство реального опыта.
Пришлите текст вакансии — бесплатно вернём вероятные вопросы по ней, риски и слабые темы. А в приложении SkillCue — тренировка ответов и подсказки прямо во время созвона.
Разобрать мою вакансию бесплатно