Топ-50 вопросов на собеседовании тестировщика в 2026 году
Полный список реальных вопросов с технических интервью на тестировщика в Яндекс, Сбер, VK. Java Core, Collections, HTTP, TestNG, Selenium. С ответами и примерами кода.
Вопросы для собеседования тестировщика 2026: полный список
Эти вопросы встречаются на реальных технических интервью на тестировщика в Яндексе, Сбере, VK, Ozon и других крупных IT-компаниях. Список составлен на основе сотен собеседований QA Automation инженеров в 2025–2026 году. Изучи их — и ты будешь готов к 80% вопросов на любом интервью.
Теория тестирования — вопросы на собеседовании
1. Что такое тест-план и что в него входит?
Тест-план — документ, описывающий стратегию тестирования. Включает: цели, объём, подходы, ресурсы, риски, критерии входа/выхода.
2. Чем отличается smoke от sanity тестирования?
Smoke — быстрая проверка основных функций после сборки. Sanity — проверка конкретного исправления или новой функциональности.
3. Что такое регрессионное тестирование?
Проверка того, что новые изменения не сломали существующую функциональность. Один из самых частых вопросов на собеседовании QA.
4. Разница между верификацией и валидацией?
Верификация — делаем ли мы продукт правильно (соответствие требованиям). Валидация — делаем ли мы правильный продукт (соответствие ожиданиям пользователя).
Автоматизация и инструменты — вопросы на интервью
5. Что такое Page Object Model?
Паттерн проектирования, где каждая страница приложения представлена отдельным классом. Методы класса описывают действия на странице. Упрощает поддержку автотестов.
6. Чем отличается $ от $$ в Selenide?
$ возвращает один элемент (SelenideElement) — аналог findElement. $$ возвращает коллекцию элементов (ElementsCollection) — аналог findElements. Selenide автоматически ждёт появления элемента.
7. Что такое явное и неявное ожидание? Как Selenide решает эту проблему?
В Selenium нужно явно писать WebDriverWait. Selenide решает это автоматически — каждое действие ждёт элемент по умолчанию 4 секунды (настраивается через Configuration.timeout).
8. Как работает XPath? Приведи пример.
XPath — язык запросов для навигации по XML/HTML. Пример: //div[@class='button' and text()='Войти'] — найти div с классом button и текстом Войти.
9. Что такое CSS-селектор? Чем отличается от XPath?
CSS-селектор — синтаксис выбора элементов через CSS. Быстрее XPath в большинстве браузеров, но не поддерживает навигацию вверх по дереву.
10. Как тестировать REST API?
Проверять: статус-коды ответов, структуру JSON/XML, заголовки, время ответа, граничные значения, авторизацию, обработку ошибок.
Java Core — вопросы на собеседовании QA Automation
11. Что такое аннотации @Test, @BeforeEach, @AfterEach в JUnit 5?
@Test — метод является тестом. @BeforeEach — выполняется перед каждым тестом. @AfterEach — после каждого теста.
12. Что такое параметризованные тесты?
Тесты, которые запускаются с разными наборами данных. В JUnit 5 — @ParameterizedTest с @ValueSource, @CsvSource и другими.
13. Как работает AssertJ?
Библиотека для fluent-assertions. Пример: assertThat(result).isNotNull().isEqualTo(expected).contains(exp).
14. Что такое Allure Report?
Фреймворк для генерации красивых HTML-отчётов о результатах тестирования с шагами, скриншотами и историей запусков.
CI/CD и инфраструктура — вопросы на интервью QA
15. Что такое Jenkins Pipeline?
Скрипт (Jenkinsfile) описывающий шаги сборки и тестирования. Позволяет автоматически запускать тесты при каждом коммите.
16. Зачем нужен Docker в тестировании?
Изолированная среда для запуска тестов. Одинаковое окружение на всех машинах. Selenide + Selenium Grid в Docker для параллельного запуска.
17. Что такое Selenium Grid?
Инструмент для параллельного запуска тестов на нескольких браузерах и машинах одновременно. Selenide работает поверх Selenium Grid без изменений в коде тестов.
Java Collections — вопросы на собеседовании
18. В чем разница между ArrayList и LinkedList?
ArrayList основан на массиве — быстрый доступ O(1), медленная вставка O(n). LinkedList основан на двусвязном списке — медленный доступ O(n), быстрая вставка O(1). В 99% случаев используйте ArrayList.
19. Как работает HashMap внутри? Что такое collision?
HashMap хранит данные в массиве корзин. hashCode() определяет корзину, equals() используется при коллизиях. Collision — когда разные ключи попадают в одну корзину. До Java 8 — связный список, с Java 8 — дерево при >8 элементах.
20. Чем обеспечивается уникальность Set?
Уникальность в Set обеспечивается методами equals() и hashCode(). При добавлении элемента Set проверяет: если hashCode() одинаковый И equals() возвращает true, то элемент считается дубликатом и не добавляется.
HTTP и API тестирование — вопросы на интервью
21. Какие основные HTTP методы существуют?
GET — получение данных, POST — создание, PUT — полное обновление, PATCH — частичное обновление, DELETE — удаление, HEAD — получение заголовков, OPTIONS — доступные методы.
22. В чем разница между PUT и PATCH?
PUT — полная замена ресурса (все поля обязательны), PATCH — частичное обновление (только указанные поля). PUT идемпотентен, PATCH может быть неидемпотентным.
23. Что такое идемпотентность HTTP методов?
Идемпотентность — многократное выполнение дает тот же результат. Идемпотентные: GET, PUT, DELETE, HEAD, OPTIONS. Неидемпотентные: POST, PATCH.
24. Какие основные HTTP статус-коды нужно знать?
2xx — успех (200 OK, 201 Created, 204 No Content), 4xx — ошибка клиента (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found), 5xx — ошибка сервера (500 Internal Server Error).
TestNG и JUnit — вопросы на собеседовании
25. Что такое жизненный цикл теста в TestNG?
Порядок выполнения: @BeforeSuite → @BeforeTest → @BeforeClass → @BeforeMethod → @Test → @AfterMethod → @AfterClass → @AfterTest → @AfterSuite.
26. Что такое DataProvider в TestNG?
DataProvider — механизм параметризации тестов. Позволяет запускать один тест с разными наборами данных. Возвращает Object[][] где каждая строка — отдельный запуск теста.
1@DataProvider(name = "loginData")
2public Object[][] getLoginData() {
3 return new Object[][] {
4 {"user1@example.com", "password123", true},
5 {"invalid@example.com", "wrong", false}
6 };
7}
8
9@Test(dataProvider = "loginData")
10public void testLogin(String email, String password, boolean shouldSucceed) {
11 boolean result = performLogin(email, password);
12 Assert.assertEquals(result, shouldSucceed);
13}27. Как организовать параллельный запуск тестов?
TestNG: настройка parallel и thread-count в testng.xml. JUnit 5: настройка через junit-platform.properties. Важно: тесты должны быть независимыми, используйте ThreadLocal для WebDriver.
Stream API — вопросы на собеседовании
28. Что такое flatMap? peek?
flatMap() разворачивает вложенные структуры — преобразует Stream<Stream<T>> в Stream<T>. peek() позволяет выполнить действие с каждым элементом без изменения потока, полезен для отладки.
29. Что такое функциональный интерфейс?
Функциональный интерфейс содержит ровно один абстрактный метод. Может содержать любое количество default и static методов. Аннотация @FunctionalInterface проверяет это условие.
SQL — вопросы для QA Automation
30. Чем отличается Union от Join?
UNION объединяет результаты двух SELECT запросов в один результат (вертикальное объединение). JOIN соединяет строки из разных таблиц по условию (горизонтальное объединение).
31. Как вывести только повторяющиеся строки?
1SELECT email, COUNT(*)
2FROM users
3GROUP BY email
4HAVING COUNT(*) > 1;Подготовься к собеседованию с мок-интервью ThreadQA
Знать ответы на вопросы — это половина успеха. Вторая половина — уметь отвечать под давлением интервью. Мок-собеседование с Senior QA от ThreadQA поможет отработать навыки интервью, получить детальную обратную связь и список что подтянуть до реального собеседования.
Также на платформе ThreadQA — 50+ записей реальных QA-собеседований в Яндексе, Сбере, VK с таймкодами и разбором от экспертов. Посмотри как проходят реальные интервью изнутри.