QA — автоматизация и мануальное тестирование
60 минут, middle QA. Тест-дизайн, API/UI automation, CI, регрессия, баг-репорты.
- Questions
- 14
- Live coding
- 2
Разогрев: опыт и контекст
Опыт в QA
Какой у вас бэкграунд: manual, automation, performance? Какой стек automation использовали?
Scoring rubric (0–10)
3–5: «Тестировал приложения» без стека и типов тестов. 6–8: Playwright/Cypress/Selenium; API Postman/REST; ratio manual/auto. 9–10: Ownership quality gates; shift-left; метрики дефектов и flaky tests. Красный флаг: «automation не нужен, достаточно ручного» на automation role.
Interviewer notes
2–3 минуты.
Тест-дизайн и процесс
Пирамида тестирования
Объясните test pyramid. Сколько e2e vs integration vs unit для типичного web-продукта?
Scoring rubric (0–10)
3–5: «E2E самые важные». 6–8: Много unit/integration, мало e2e; e2e медленные и flaky. 9–10: Contract tests; testing trophy для frontend; cost of maintenance. Красный флаг: только UI e2e без API layer.
Interviewer notes
4 минуты.
Эквивалентность и границы
Как применяете equivalence partitioning и boundary value analysis? Пример для поля «возраст 18–65».
Scoring rubric (0–10)
3–5: «Проверяем min и max». 6–8: Классы <18, 18–65, >65; границы 17,18,19,64,65,66; invalid types. 9–10: Pairwise для комбинаторики; risk-based prioritization. Красный флаг: только happy path.
Interviewer notes
4 минуты. Можно на доске.
Баг-репорт
Какие поля обязательны в хорошем баг-репорте? Приведите пример воспроизведения.
Scoring rubric (0–10)
3–5: «Описание и скрин». 6–8: Steps, expected/actual, env, severity/priority, logs/video. 9–10: Minimal repro; bisect; regression link; customer impact. Красный флаг: «не работает» без steps.
Interviewer notes
3 минуты.
Регрессия
Как планируете регресс перед релизом при ограниченном времени?
Scoring rubric (0–10)
3–5: «Прогоняем всё» или «наугад». 6–8: Smoke + risk areas; changed code coverage; automation suite first. 9–10: Release checklist; feature flags; canary + monitoring feedback loop. Красный флаг: пропуск regression «потому что мало изменений».
Interviewer notes
4 минуты.
Flaky tests
Что делаете с flaky e2e тестом, который иногда падает в CI?
Scoring rubric (0–10)
3–5: Re-run until green / skip test. 6–8: Quarantine; root cause (timing, data, network); explicit waits vs sleep. 9–10: Deterministic test data; trace on failure; policy no retry without ticket. Красный флаг: `@retry(5)` как permanent fix.
Interviewer notes
5 минут.
Практика: automation
Retry helper
Напишите async функцию retry(fn, attempts, delayMs), которая повторяет fn при ошибке до attempts раз с паузой delayMs.
Scoring rubric (0–10)
3–5: while true без лимита или без await delay. 6–8: for loop; try/catch; await sleep; throw last error. 9–10: Exponential backoff option; abort signal; jitter discussion. Красный флаг: sync sleep blocking event loop in Node context without mention.
Interviewer notes
10–15 минут.
Deep equal
Реализуйте shallowDeepEqual(a, b) для plain objects (без nested objects, только примитивы и массивы одного уровня).
Scoring rubric (0–10)
3–5: JSON.stringify compare only. 6–8: Same keys; typeof checks; array length and elements. 9–10: Discuss full deep equal recursion; Object.keys order independence. Красный флаг: == for objects.
Interviewer notes
10 минут.
API и UI automation
API тесты
Как тестируете REST API: auth, negative cases, contract?
Scoring rubric (0–10)
3–5: «Postman happy path». 6–8: Status codes; schema validation; 401/403/404; idempotency. 9–10: Pact/contract; test data factories; parallel isolation. Красный флаг: тесты на production DB.
Interviewer notes
4 минуты.
Page Object Model
Зачем Page Object в UI automation? Когда POM становится антипаттерном?
Scoring rubric (0–10)
3–5: «Чтобы не дублировать селекторы». 6–8: Encapsulation locators; reusable flows; separation from assertions. 9–10: Screenplay pattern; over-abstracted god Page; component objects. Красный флаг: селекторы размазаны по 50 spec файлам.
Interviewer notes
4 минуты.
Инженерная культура и вопросы
Run an interview with this template
Sign up free: copy the template to your org, schedule an interview, and run it in a room with live coding.
Get started in FlashTalk