Эйч
Эйч
  • Эйч Плюс
  • Все менторы
Гайды/QA Automation/Собес в Альфа-Банк · QA Engineer (Python) Middle+

Собес в Альфа-Банк · QA Engineer (Python) Middle+

Материал Эйч · Опубликовано 21 июля 2026

Обзор

Автоматизация веб-продуктов на Python (PyTest + Playwright), API-тестирование, CI/CD и тестирование AI/RAG/MCP-флоу в финтехе

Python и PyTest
Playwright UI/E2E
API и REST/WebSocket
CI/CD и Docker
Тест-дизайн и документация
AI/RAG/MCP и агентные сценарии
OAuth/SSO и хранилища S3
Логи, метрики и разбор инцидентов

Фишка: Фокус на современном стеке (Python, Playwright, PyTest) и тестировании AI/RAG/MCP-флоу в продуктовых командах банка; сильная инженерная культура с публикациями на Habr про LLM-проекты, нагрузочное тестирование core-систем и интеграционные платформы до 150k RPS

ЭтапДлительностьЧто проверяют
HR-скрининг30–45 минОпыт 4+ лет в QA веб-продуктов, мотивация в финтех, формат работы (гибрид), зарплатные ожидания, готовность к задачам с AI-флоу
Техническое интервью60–90 минPyTest/Playwright, API-тестирование, пирамида тестирования, CI/CD, Git, Docker; разбор реальных кейсов автоматизации и регресса
Практика / live-coding45–60 минНаписание API- или UI-автотеста, тест-дизайн для фичи или AI-сценария, анализ баг-репорта или логов
Финал с лидом / hiring manager30–45 минSoft skills, работа с инцидентами, взаимодействие с разработкой, планы развития, вопросы о команде и процессах

Стек и темы

Обязательный минимум

  • Python 3: фикстуры, параметризация, conftest, маркеры PyTest
  • Playwright: Page Object, auto-wait, локаторы, скриншоты/трейсы
  • API-тестирование: REST, статус-коды, схемы JSON, requests/httpx
  • Пирамида тестирования: unit / integration / E2E, smoke и regression
  • CI/CD: запуск автотестов в пайплайне, артефакты, flaky-тесты
  • Git: branch flow, pull/fetch, merge vs rebase
  • Docker: поднять окружение, посмотреть логи контейнера
  • Тест-документация: тест-план, чек-лист, баг-репорт
  • OAuth/SAML/SSO на уровне сценариев тестирования
  • REST и WebSocket: отличия, типовые проверки
  • S3/MinIO: загрузка/скачивание файлов в тестах
  • Observability: логи, метрики, traces при разборе падений

Плюсом будет

  • LLM/RAG/MCP: архитектура пайплайна, детерминированный flow vs агент
  • LangFlow и инструменты оценки промптов (Langfuse)
  • Kubernetes: базовое понимание pod/deployment для тестовых стендов
  • Нагрузочное тестирование: k6, JMeter, RPS, перцентили
  • Использование LLM для ускорения написания тестов и анализа логов

Основы QA и тест-дизайн

Какие есть виды тестирования?

Функциональное vs нефункциональное; smoke/regression/sanity; позитив/негатив; ручное vs автоматизированное; по уровню — unit, integration, system, acceptance

Что такое пирамида тестирования?

Много быстрых unit/integration внизу, меньше медленных E2E наверху. Цель — баланс скорости обратной связи и покрытия рисков

Какие знаешь техники тестирования дизайна?

Эквивалентное разбиение, граничные значения, pairwise, decision table, state transition, use case — назови 3–4 с примером применения

Какими характеристиками должен обладать хороший автотест?

Быстрый, изолированный, детерминированный, читаемый, независимый, с понятным assert и минимумом зависимостей от окружения

Что такое TDD?

Red-Green-Refactor: сначала падающий тест, потом минимальный код, потом рефакторинг. В QA — понимание, как это влияет на качество и регресс

Фишка: В Альфа-Банке ценят системный подход: тест-планы, чек-листы и участие в разборе инцидентов — не только «написать автотесты»

Ловушка: Не своди виды тестирования только к «ручное/авто» — покажи понимание уровней, целей и рисков в финтехе

Python и PyTest

С какими фреймворками и библиотеками для автоматизации работал?

PyTest как runner, fixtures, parametrize, pytest-xdist для параллели, allure/pytest-html для отчётов, requests/httpx для API

Как организуешь структуру автотестов на PyTest?

tests/ по слоям (api/ui), conftest.py для фикстур, markers (@smoke, @regression), отдельные конфиги для стендов через env

Как борешься с flaky-тестами?

Стабильные локаторы, явные waits, изоляция данных, retry только как временная мера, quarantine + анализ root cause в CI

Какие используешь структуры данных в тестах?

dict/list для payload, dataclass/pydantic для моделей, factory/fixture для генерации тестовых данных

Совет: На собесе часто просят написать фикстуру с setup/teardown или параметризованный тест — потренируйся на API-кейсе с 3–4 наборами данных

Ловушка: time.sleep() в Playwright/PyTest — красный флаг; используй auto-wait и expect

Playwright и UI/E2E

Чем Playwright отличается от Selenium?

Auto-wait, trace/video, параллельные контексты, стабильные локаторы (role/text), нативная поддержка network interception

Как стабилизируешь UI-автотесты?

Page Object, data-testid, изоляция тестовых пользователей, моки API через route, скриншот при падении, trace on first retry

Как тестируешь OAuth/SSO-сценарии в UI?

Тестовый IdP/stub, сохранение storageState, отдельные фикстуры auth, проверка redirect URL и токенов на API-уровне

Фишка: В вакансии явно указан Playwright для UI-автотестов — будь готов показать реальный E2E-сценарий с login → action → assert

Совет: Playwright codegen и trace viewer — хороший аргумент на собесе, если используешь их для ускорения отладки

API-тестирование

Расскажи про свой опыт тестирования API

Инструменты (Postman/httpx/PyTest), проверки status/body/headers/schema, негативные кейсы, контрактное тестирование, auth (Bearer/OAuth)

В чём разница между POST, PUT и PATCH?

POST — создание/действие; PUT — полная замена ресурса (идемпотентен); PATCH — частичное обновление

Как выбрать между POST, PUT и PATCH в тестах?

Смотри контракт API: PUT требует полного тела, PATCH — delta; проверяй идемпотентность и side effects

Как тестируешь WebSocket?

Подключение, ping/pong, сообщения по протоколу, reconnect, таймауты, параллельные клиенты; в Playwright — page.on('websocket')

Ловушка: Не ограничивайся проверкой 200 OK — в банке важны коды ошибок, идempotency, валидация полей и безопасность

Совет: Подготовь пример: как бы протестировал endpoint перевода/оплаты — позитив, негатив, границы, авторизация

CI/CD, Git, Docker

Что такое CI/CD и как автотесты встроены в пайплайн?

CI — сборка + тесты на каждый PR; CD — деплой после gate. Smoke на merge, full regression nightly, артефакты (allure, logs, traces)

В чём разница между git pull и git fetch?

fetch скачивает изменения без merge; pull = fetch + merge/rebase локальной ветки

В чём разница между git rebase и git merge?

merge сохраняет историю ветвления; rebase переписывает коммиты поверх base — линейная история, но опасен для shared branches

Как используешь Docker в тестировании?

docker-compose для стенда, поднять mock-сервис, docker logs для диагностики, volume для артеfactов

Фишка: Вакансия требует интеграции автотестов с корпоративными системами и CI — расскажи про конкретный пайплайн (GitLab/Jenkins/GitHub Actions)

Ловушка: rebase на main/master в команде — спорная тема; покажи, что понимаешь trade-offs

AI/RAG/MCP и агентные сценарии

Как бы тестировал LLM/RAG-пайплайн?

Golden dataset, метрики качества (precision/recall ответа), проверка fallback, детерминированные vs агентные flow, логирование промптов

Что такое MCP и зачем он QA?

Model Context Protocol — стандарт подключения инструментов к LLM; тестируй контракт tools, ошибки, таймауты, безопасность вызовов

Чем отличается детерминированный flow от AI-агента?

Flow — фиксированная цепочка шагов; агент сам выбирает инструменты и порядок. Для QA: разные стратегии тестирования и метрики

Как оцениваешь качество ответов AI-ассистента?

Rule 90%: на проде сложно >90% точности; цепочка RAG умножает вероятности ошибок; нужны eval-наборы и мониторинг

Фишка: Это ключевой differentiator вакансии — даже без глубокого опыта покажи архитектурное понимание и идеи тест-кейсов для AI-флоу

Совет: Почитай статьи Альфы на Habr про LLM-проекты и RAG — на финале можно задать умный вопрос про eval и Langfuse

Observability, инциденты и нагрузка

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

Корреляция по trace_id, timeline, метрики latency/error rate, сравнение с baseline, эскалация dev с воспроизводимым кейсом

Какой опыт нагрузочного тестирования?

k6/JMeter: сценарии, RPS, p95/p99 latency, ramp-up, bottlenecks; понимание, что «150k RPS синтетики» ≠ боевая нагрузка

В чём разница между контейнеризацией и виртуализацией?

VM — полная ОС на гипервизоре; контейнер — изоляция процессов, общее ядро. Docker быстрее стартует, меньше overhead

Фишка: Альфа публикует кейсы нагрузочного тестирования core-систем — полезно упомянуть разнообразие RPS, размеров payload и p95

Ловушка: Не путай нагрузочное тестирование с функциональным — разные цели, метрики и инструменты

Задачи

API-автотест: создание и получение ресурса

Есть REST API: POST /api/v1/documents принимает JSON {"title": str, "type": str}, возвращает 201 и {"id": uuid, "title", "type", "created_at"}. GET /api/v1/documents/{id} возвращает 200 или 404. Напиши PyTest-тесты: успешное создание, получение по id, 404 для несуществующего id, 400 при пустом title.

import pytest
import httpx

BASE = "https://test-api.example.com"

@pytest.fixture
def client():
    with httpx.Client(base_url=BASE, timeout=10) as c:
        yield c

@pytest.fixture
def created_doc(client):
    r = client.post("/api/v1/documents", json={"title": "Test", "type": "report"})
    assert r.status_code == 201
    return r.json()

def test_create_document(client):
    r = client.post("/api/v1/documents", json={"title": "Smoke", "type": "invoice"})
    assert r.status_code == 201
    body = r.json()
    assert body["title"] == "Smoke"
    assert "id" in body

def test_get_document(client, created_doc):
    doc_id = created_doc["id"]
    r = client.get(f"/api/v1/documents/{doc_id}")
    assert r.status_code == 200
    assert r.json()["id"] == doc_id

def test_get_missing_returns_404(client):
    r = client.get("/api/v1/documents/00000000-0000-0000-0000-000000000000")
    assert r.status_code == 404

@pytest.mark.parametrize("payload", [{"title": "", "type": "x"}, {"type": "x"}])
def test_create_validation(client, payload):
    r = client.post("/api/v1/documents", json=payload)
    assert r.status_code == 400

Сложность: O(1) на запрос

Playwright: login и проверка дашборда

Веб-приложение: /login (email, password), после успеха редирект на /dashboard с элементом [data-testid="welcome-message"]. Напиши E2E-тест: login тестовым пользователем → assert welcome → logout → assert redirect на /login.

import pytest
from playwright.sync_api import Page, expect

@pytest.fixture
def auth_page(page: Page, base_url):
    page.goto(f"{base_url}/login")
    page.get_by_label("Email").fill("qa@test.local")
    page.get_by_label("Password").fill("secret")
    page.get_by_role("button", name="Войти").click()
    expect(page).to_have_url(f"{base_url}/dashboard")
    return page

def test_dashboard_after_login(auth_page: Page):
    expect(auth_page.get_by_test_id("welcome-message")).to_be_visible()

def test_logout(auth_page: Page, base_url):
    auth_page.get_by_role("button", name="Выйти").click()
    expect(auth_page).to_have_url(f"{base_url}/login")

Сложность: O(1)

Тест-дизайн: RAG-чат поддержки

Банковский чат-бот на RAG отвечает на вопросы клиентов по базе знаний (вход в кабинет, блокировка карты и т.д.). Pipeline: rewrite query → RAG search → generate answer. Составь набор тест-кейсов и метрик качества.

Тест-кейсы:
1. Позитив: «Не могу войти в личный кабинет» → релевантная инструкция из KB
2. Out-of-scope: «Курс доллара завтра» → корректный отказ/fallback
3. Ambiguous: «Войти» → уточняющий вопрос или best-effort
4. Adversarial: prompt injection в user input → не выполняет системные команды
5. Regression: стоп-лист известных bad cases после оркестрации

Метрики:
- Answer relevance (human/LLM-as-judge на golden set)
- Groundedness: ответ опирается на найденные chunks
- Latency p95
- Fallback rate
- End-to-end accuracy ≈ product шагов (например 0.95×0.80×0.99 для 3-шагового pipeline)

Сложность: O(n) по размеру eval-набора

System Design

  • Спроектируй архитектуру автотестов для микросервисного банковского продукта: UI + API + smoke в CI
  • Как организовать тестирование AI-агента с RAG и MCP-tools: что автоматизировать, что оставить manual/eval
  • Как встроить автотесты в регресс каждой сборки при 500+ E2E и ограничении времени пайплайна 20 мин

Каркас ответа

  1. Контекст и риски: что критично для бизнеса (платежи, auth, AI-ответы)
  2. Пирамида и слои: unit → contract/API → integration → E2E smoke
  3. Инфраструктура: Docker/K8s стенды, test data management, mocks/stubs
  4. CI/CD стратегия: parallel, sharding, quarantine flaky, nightly full regression
  5. Observability: allure, traces, метрики pass rate и duration
  6. Для AI: golden dataset, eval pipeline, мониторинг качества на проде

Поведенческое

  • Расскажи о сложном баге, который нашёл через логи/метрики — как довёл до fix?
  • Как выстраивал автоматизацию с нуля или переносил с одного фреймворка на другой?
  • Был ли конфликт с разработкой по приоритету багов — как решали?
  • Как организуешь регресс перед релизом при нехватке времени?
  • Пример, когда автотесты поймали регресс, который ручное тестирование пропустило
  • Как используешь LLM в рабочих процессах QA?
  • Почему Альфа-Банк и эта роль?
  • Какие зарплатные ожидания?
  • В каком направлении хочешь развиваться?
  • Какие у тебя есть вопросы к нам?

План подготовки

3 дня

  • Повторить пирамиду тестирования, виды тестов и техники тест-дизайна
  • Освежить PyTest: fixtures, parametrize, markers, conftest
  • Пройти 5–10 API-задач: POST/PUT/PATCH, auth headers, JSON schema
  • Повторить Playwright: locators, expect, trace, storageState
  • Прочитать описание вакансии и выписать 3 истории из опыта под каждый блок

7 дней

  • Написать с нуля мини-набор API-тестов на httpx + PyTest
  • Сделать один Playwright E2E с Page Object
  • Разобрать CI/CD: как бы встроил smoke + regression
  • Изучить основы RAG/MCP: статья Альфы на Habr про LLM-проекты
  • Подготовить ответ про OAuth/SSO и S3 в контексте тестов
  • Повторить Git (merge/rebase/fetch) и Docker basics

14 дней

  • Полный mock-interview с другом или самозапись
  • Подготовить eval-подход для AI-сценария (golden questions + метрики)
  • Изучить основы k6 или JMeter — один простой сценарий
  • Собрать вопросы к интервьюеру про AI-флоу, CI, команду
  • Повторить behavioral STAR-истории: инцидент, автоматизация, конфликт приоритетов
БлокГотов, если...
Тест-дизайнможешь за 5 минут набросать чек-лист для API или UI-фичи с позитив/негатив/границы
PyTestможешь написать фикстуру, parametrize и тест API без подсказок
Playwrightможешь написать login-flow с expect и объяснить auto-wait
APIобъясняешь POST/PUT/PATCH и типовые проверки REST + auth
CI/CDможешь нарисовать пайплайн: PR → smoke → merge → nightly regression
AI/RAGобъясняешь цепочку RAG, риски качества и идеи eval-набора
Behavioral3 STAR-истории готовы: баг/инцидент, автоматизация, работа с dev

В день собеседования

  • Проверить связь, камеру, тихое место
  • Открыть IDE с заготовками PyTest/Playwright
  • Иметь под рукой примеры баг-репортов и тест-плана
  • Повторить финальный checklist за 30 минут
  • Подготовить 5 вопросов команде (AI-тестирование, CI, onboarding)

Профессия

QA Automation

Темы

Python и PyTest
Playwright UI/E2E
API и REST/WebSocket
CI/CD и Docker
Тест-дизайн и документация
AI/RAG/MCP и агентные сценарии
OAuth/SSO и хранилища S3
Логи, метрики и разбор инцидентов

Компания

Альфа-БанкАльфа-Банк

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

🍪 Мы используем cookie и Яндекс Метрику, чтобы сайт работал и становился лучше. Подробнее в политике.

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Сервисы
AI поиск работы newПоиск вакансий newПоиск компаний newКонструктор резюме newВопросы с собеседований newЗадачи с собеседований newГайды к собеседованиям newПроверятор резюме newГенератор сопроводительных new
Поиски себя
Войти в ITКарьерная стратегияПовысить доходПрофориентация
Работа в России
Сопровождение до оффера Найти работу в РоссииРевью портфолиоРевью резюмеТестовое собеседование
Работа за рубежом
Найти работу за границейПомощь в оформлении LinkedInРевью резюме на английскомТестовое собеседование на английском
Навыки
Личный брендОценка навыковРазвитие навыков и компетенций
Поддержка
ВыгораниеОтношения с коллективомОтношения с руководителемСиндром самозванцаСложное увольнение
Для бизнеса
Аудит процессов компанииВыступление на внутреннем мероприятии компанииКонсалтинг бизнеса
Профессии
HRАдминистрированиеАналитикаДизайнИнформационная безопасностьИскусственный интеллектИсследованияКонсалтингКонтентМаркетингМенеджментНаука и образованиеОфисПоддержкаПредпринимательство
Компания
С чем помогаемОтзывы Вопросы и ответыСертификатыВебинарыСтать ментором

Услуги оказывает ООО «Эйч Карьера»
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, г. Москва, Старопименовский пер., д. 18, стр. 2, помещ./ком./этаж I/19/2
Платформа принадлежит ООО «Эйч Карьера»

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта