Назад к материалам

Видео + статья / Собеседования

Собеседование QA в Сбере: 13 вопросов и правильные ответы

Разбираем 13 вопросов QA-собеседования в Сбере: теория тестирования, REST, HTTP, SQL и поиск причины белого экрана.

Компания
Сбер
Опубликовано
Обновлено
Видео вышло
Видео
13:01
Текст
9 минут

Если ролик не загружается, выберите другую площадку.

Смотреть на

В основе материала — 13 вопросов, которые автор связывает с собеседованием QA-тестировщика в Сбере. Это не полная запись диалога: в исходном ролике собраны сами вопросы и подготовленные ответы. Мы проверили формулировки по документации и превратили подборку в самостоятельный конспект без личных данных участников.

Верификация, валидация и уровни тестирования

Вопрос: чем верификация отличается от валидации?

Ответ: верификация проверяет соответствие заданным требованиям. Валидация проверяет, подходит ли продукт для предполагаемого использования и решает ли задачу пользователя. Например, форма может точно соответствовать макету и техническому заданию, но оставаться неудобной на телефоне. Формально верификация пройдена, а при валидации обнаружится проблема.

Вопрос: какие бывают уровни тестирования?

В актуальной программе ISTQB Foundation Level выделены компонентное тестирование, компонентная интеграция, системное тестирование, системная интеграция и приёмочное тестирование. Уровень говорит не о том, «насколько тщательно» тестируют, а какой объект и какие взаимодействия находятся в фокусе.

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

Статическое и динамическое тестирование, тестовый процесс

Вопрос: чем статическое тестирование отличается от динамического?

При статическом тестировании программу не запускают: команда рецензирует требования и код, применяет статический анализ. Так можно найти неоднозначность требования ещё до разработки. При динамическом тестировании код выполняется, а специалист сравнивает фактическое поведение с ожидаемым.

Вопрос: что такое STLC?

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

Хороший ответ показывает связь: требования дают основу для условий тестирования, из них появляются тесты и данные, выполнение даёт фактические результаты, а завершение — вывод о качестве и незакрытых рисках.

Эквивалентные классы и поле со значениями от 1 до 10

Вопрос: как протестировать поле, принимающее целые числа от 1 до 10?

Сначала уточняем контракт: обязательное ли поле, разрешён ли ручной ввод, как обрабатываются пробелы, знак и вставка из буфера. Затем делим данные на классы, внутри которых ожидаем одинаковое поведение. Для допустимых целых это 1…10, для слишком маленьких — всё меньше 1, для слишком больших — всё больше 10. После этого проверяем границы.

Проверка Пример Ожидаемый результат
Нижняя граница 0, 1, 2 0 отклонён, 1 и 2 приняты
Верхняя граница 9, 10, 11 9 и 10 приняты, 11 отклонён
Значение внутри 5 Принято
Неверный формат 1.5, текст, пробелы Обработка по контракту без падения
Нет значения Пустое поле Понятная ошибка, если поле обязательно
Необычный ввод +1, очень длинное число, вставка Без обхода ограничений и поломки интерфейса

Такой набор сильнее фразы «проверю от 1 до 10»: он показывает технику тест-дизайна и внимание к интерфейсу.

REST, HTTP и JSON без смешения понятий

Вопрос: что такое REST API?

REST — архитектурный стиль. В диссертации Роя Филдинга описаны ограничения client-server, stateless, cache, uniform interface, layered system и необязательное code-on-demand. Поэтому ответ «REST — это HTTP с JSON» неверен: HTTP часто используют для REST API, а JSON часто выбирают как формат данных, но это разные уровни системы. Первичный источник — работа Филдинга.

Вопрос: из чего состоит HTTP-запрос и как клиент узнаёт формат ответа?

У запроса есть метод, адрес цели, заголовки и, когда нужно, содержимое. У ответа — статус, заголовки и возможное содержимое. Заголовок Content-Type описывает медиатип переданных данных: например, application/json. Это закреплено в HTTP Semantics, RFC 9110.

Важно уточнить: заголовок сам по себе не превращает строку в объект приложения. Клиентская библиотека или код должны прочитать ответ и разобрать JSON, а при ошибке формата — обработать исключение.

COUNT и внешние JOIN в SQL

Вопрос: чем COUNT(1) отличается от COUNT(*)?

В PostgreSQL COUNT(*) считает входные строки, а COUNT(выражение) — строки, где выражение не равно NULL. Константа 1 всегда ненулевая, поэтому COUNT(1) и COUNT(*) возвращают одно число. А COUNT(email) пропустит строки с NULL в email. Это напрямую следует из документации PostgreSQL.

Не стоит обещать одинаковую скорость во всех базах данных. Если интервьюер спрашивает о производительности, корректный следующий шаг — назвать конкретную СУБД и посмотреть план выполнения.

Вопрос: чем LEFT JOIN отличается от RIGHT JOIN?

LEFT JOIN сохраняет все строки левой таблицы и подставляет NULL, если справа пары нет. RIGHT JOIN делает то же относительно правой таблицы. Их часто можно переписать друг через друга, поменяв таблицы местами. На практике важнее не направление в названии, а точное понимание, какие строки обязаны остаться в результате.

Белый экран: как локализовать дефект

Вопрос: на сайте появился белый экран. Что делать?

Мы советуем идти от наблюдаемого симптома к доказательствам:

  1. Повторить сценарий и записать окружение: адрес, пользователь, браузер, время, входные данные.
  2. Открыть Console и проверить ошибки JavaScript.
  3. В Network найти неуспешные, зависшие или неожиданные запросы.
  4. Сопоставить запрос, статус и тело ответа с контрактом API.
  5. Проверить DOM и состояние приложения: данные могли прийти, но компонент не отрисовался.
  6. Сравнить другой браузер, чистую сессию, кеш, флаги и права пользователя.

Статус 500 указывает, что серверная сторона не смогла обработать запрос, но не называет корневую причину: она может быть в самом сервисе, шлюзе или зависимом компоненте. Задача QA — приложить факты, а не назначить виноватого по одному коду.

Ответ 200 и пустое тело: один баг или два

Вопрос: в логах ответ 200, но тело пустое и интерфейс сломан. На кого заводить дефект?

Сначала смотрим контракт. Если API обязан вернуть объект, но отдаёт пустое содержимое со статусом успеха, это нарушение на стороне API. Если фронтенд из-за пустого ответа падает в белый экран вместо понятного пустого или ошибочного состояния, у интерфейса тоже есть проблема устойчивости.

Иногда это один дефект с согласованным владельцем, иногда — два связанных тикета. Решение зависит от устройства команд и критериев учёта. В отчёте важнее зафиксировать ожидаемое и фактическое поведение, запрос, ответ, время, окружение и связь между симптомами.

Получил ли кандидат оффер

В доступном материале нет полных ответов кандидата и решения работодателя. Поэтому честный вывод — данных недостаточно. Мы можем оценить только программу интервью: она проверяет базовую теорию QA, тест-дизайн, API, SQL и умение локализовать сбой.

Кандидат выглядит сильнее, если не угадывает «правильную команду», а спокойно уточняет контракт, приводит пример и отделяет наблюдение от гипотезы. Именно этот навык стоит тренировать вслух. В тренажёре собеседований ЮНИКОД можно пройти вопросы по своему направлению, увидеть пробелы и повторить темы до живого интервью.

Источники

частые вопросы

Короткие ответы

Какие темы повторить перед собеседованием QA-тестировщика?

Повторите базовую теорию тестирования, техники тест-дизайна, устройство HTTP и REST API, чтение логов и простые SQL-запросы. Важно не только знать определения, но и показать ход проверки на конкретном примере.

Чем верификация отличается от валидации?

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

COUNT(1) и COUNT(*) дают одинаковый результат?

В PostgreSQL COUNT(*) считает строки, а COUNT(1) — строки, где константа 1 не равна NULL, поэтому результат одинаков. Сравнивать скорость без указания СУБД и плана выполнения некорректно.

Можно ли определить виноватую команду только по коду ответа API?

Нет. Код и тело ответа дают направление, но нужны контракт API, логи, запрос, данные и ожидаемое поведение интерфейса. Иногда один сценарий обнаруживает два разных дефекта.

следующий шаг

Проверьте ответы до настоящего собеседования

В тренажёре собеседований ЮНИКОД можно пройти вопросы по своей профессии, увидеть пробелы и собрать понятный план подготовки.

Открыть тренажёр →