👋 QA Prep Pro v3 — Serdar
Полная подготовка к QA-интервью (Junior+). v3: 120+ Q&A карточек, 40+ квиз-вопросов, отдельная TKI-вкладка под вакансию, исправлены все неточности. Личные секции под кодом.
130+
вопросов
0
изучено
0%
готовность
✅ Твой текущий уровень — честно
Software QA Engineer с фокусом на API Testing и UI Automation. Стек: Java 17 · RestAssured · Selenium · TestNG · SQL · JDBC. Сильная зона — API (39 автотестов в Onyx — apiRegression зелёный, JWT cookie helper, data-driven negative через CSV + DataProvider). Зоны роста — Selenium стабильность, Java глубина, CI/CD. Не Junior+, не Middle-ready — реалистично Junior QA готовый к first role в DE/EU.
🎯 ONYX TaskTracker — твой проект NEW
BE/FE/QA архитектура, что сделал, как сделал, что улучшить. STAR-story для интервью.
💎 Cheat Code — формула ответа NEW
Универсальный шаблон ответа на любой interview вопрос. 5 шагов = чёткий ответ.
📅 План повторения 4 недели NEW
Manual → API → Java/Selenium → SQL/Interview. День за днём.
📚 Ресурсы — курсы + YouTube + сайты NEW
TAU курсы, лучшие YouTube каналы, интерактивные тренажёры, job-платформы DE/EU.
🔥 Топ вопросы за 10 лет
HOT/CLASSIC/TREND — что спрашивают 90%+ компаний.
🎯 Матрица навыков
MUST KNOW / SHOULD KNOW / PLUS / WOW — чёткий приоритет для Junior QA.
📋 Q&A карточки
Все темы курса: Manual, Selenium, Java, API, SQL, Git, Frontend, Python, Mobile, BDD, CI/CD
🎮 Тест-квиз
4 варианта, объяснение, счёт. Фильтр по темам.
📖 Шпаргалки — 12 модулей
Код + команды + паттерны. Весь курс AIT TR компактно.
🎤 Скрипты RU/EN/DE
Готовые фразы для всех типичных вопросов. UpTeam, зарплата, баги.
🏢 Топ компании
DE / EU / Международные. Что спрашивают, какой стек требуют.
🎯 TKI — боевая вкладка
Software Test Engineer · Chemnitz · telecom/fiber software. HR-скрининг (Ms. Kolata) пройден — дальше IT-отдел. Их стек: SQL · PostgreSQL · Oracle · test scenarios · automation · ticket docs. Всё здесь — на твоём реальном коде, без воды.
⚠️ Главный риск — немецкий A2
Закрываешь его сам, первым, уверенно. Не ждёшь пока спросят. Если команда работает технически на английском — у тебя реальный шанс.
🎤 Самопрезентация — твоя живая версия (~45 сек)
"I'm Serdar Kerimov. I recently finished QA training and I'm continuing to work with my team on Onyx — a task tracker with backend, frontend and database. My main work is testing API flows, checking bugs in Postman, writing automated tests with Java and REST Assured, and verifying data with SQL. I'm strongest in API testing and bug analysis. Before QA I worked in IT infrastructure, so I understand networks, troubleshooting and technical documentation — that's a natural fit for what TKI builds. My German is A2 right now, I'm working on it — for technical work English is fine."
НЕ НАДО
Не начинать с биографии, детства, PUBG, инвестиций. Интервьюеру нужен инженер, не история жизни.
GAP в CV
Одна фраза: "During that period I was relocating with my family and supporting my wife's academic career at TU Chemnitz." Дальше — молча.
ПОЧЕМУ TKI
"Your software is connected to telecom and real infrastructure, not just a simple website — that's where my network background and QA connect."
🔄 «Почему уходишь из UpTeam?» — без оправданий
"UpTeam was part of my QA training — a project-based internship. The official period was April–May, but the project is still active so I keep contributing with the team. It's not permanent full-time employment. I'm now looking for my first long-term QA role where I can apply API testing, automation, SQL and bug analysis in a professional product team."
КЛЮЧ
Спокойно. Не "хочу уйти с работы" — а "ищу первую долгосрочную роль". Это разные вещи для рекрутера.
🐞 Bug stories — формула: Symptom → Cause → Found → Outcome
Говори "seemed related to", не "root cause was exactly" — ты не писал фикс, не присваивай. И не говори "я нашёл 15 багов" — попросят все 15.
① BUG-BE-012 — intermittent 500 (главный)
PRIMARY"POST /tasks sometimes returned 500 instead of 201 — but not consistently. I ran the same suite 11 times: 7 failed, 4 passed, different tests each run. That non-determinism ruled out a test-side issue and pointed to a backend race or transaction problem. I documented the pattern, reopened the ticket with full analysis, and it went back to the developer. A single passing run doesn't prove an intermittent bug is fixed — you need repeated runs."
② BUG-BE-001 — secure cookie on HTTP
SECONDARY"After login every protected endpoint returned 401. The cookie was sent but rejected. It seemed related to the Secure flag on the JWT cookie while local dev runs over HTTP, not HTTPS — so the client dropped it. This is where my network background helps: the bug wasn't business logic, it was transport level — cookies, HTTP vs HTTPS, headers."
③ BUG-BE-007 — user enumeration (security)
SECURITY"On login with a non-existent email the server returned 'User not found: email'. That's user enumeration — it tells an attacker which emails are registered. I flagged it as a security bug, not just UX. Fixed by returning a generic error regardless of whether the email exists."
💎 Золотая фраза: "For me, a good bug report isn't just saying something failed — I show where it failed and give the developer enough evidence to reproduce it quickly."
⚙️ REST Assured структура — твой реальный код
СЛОВАМИ
"A test starts with getting auth cookies via AuthHelper, then calls the endpoint with a request DTO, asserts the status code, extracts the id, and @AfterMethod cleans up the created data so tests stay independent."
// ARRANGE: auth cookies + request data
Map<String,String> cookies = AuthHelper.getAuthCookies();
ProjectRequestDto dto = ProjectFactory.validProject("Test");
// ACT + ASSERT: call, check status, extract id
createdProjectId = ProjectHelper.createProject(cookies, dto)
.then().statusCode(201)
.extract().jsonPath().getString("id");
// CLEANUP: @AfterMethod deletes it → tests independent
Happy
createProjectSuccessTest → 201 + id
Negative
createProjectUnauthorizedTest → 401 (no cookies)
Security
getForeignProjectReturns404Test → 404 (не 403!)
Data-driven
registrationInvalidPasswordTest → 400 через CSV + DataProvider
DB
registrationSuccessTest → JDBC читает confirm-code из MySQL
404 ≠ 403. Для чужого доступа к проекту контракт BE-26 = 404 (ресурс скрыт полностью). Старый readiness pack врёт что 403. Говори 404.
🗄️ Вопрос PostgreSQL / Oracle (почти точно спросят)
"My hands-on database experience is MySQL with JDBC, but for QA the core skills transfer directly — SELECT, JOINs, WHERE vs HAVING, aggregates, parameterized queries against injection. The differences are dialect-level: data types, sequences vs auto-increment, pagination like Oracle's ROWNUM versus LIMIT. My approach: get the connection and schema, learn the dialect specifics for the queries I need, validate with small test queries first. The QA logic — does the API actually persist correct data — stays the same regardless of engine."
Auto ID
MySQL: AUTO_INCREMENT · Postgres: SERIAL/IDENTITY · Oracle: SEQUENCE/IDENTITY
Limit
MySQL/PG: LIMIT 10 · Oracle: FETCH FIRST 10 ROWS ONLY / ROWNUM
Concat
MySQL: CONCAT() · PG/Oracle: ||
Quotes
MySQL: backtick ` · PG/Oracle: double "
🇩🇪 Немецкий — закрываешь сам, уверенно
"My German is A2 and I'm actively improving — I live here and practice daily. For technical work I'm fluent in English at C1. If the team works technically in English, I can contribute strongly from day one while my German keeps improving."
❓ Спросить интервьюера (выбери 2-3)
QA process
How is testing organized today — manual, automated, or mixed?
Tools
Which tools/frameworks do you use for test automation?
DB (умный)
Which database is most common in your testing — PostgreSQL or Oracle?
Growth
What would success look like in the first three months?
Collab
How closely does QA work with developers during bug analysis and retesting?
🏢 Что за компания TKI и как они проводят интервью
ПРОДУКТ
In-house ПО для планирования, строительства и документации оптоволоконных/telecom сетей. 30+ лет на рынке, Chemnitz. Это не веб-стартап — это инженерный софт для инфраструктуры.
РОЛЬ
Functional + non-functional тестирование, test scenarios, test plans, test automation, SQL/БД, ticket-документация, тесная работа с разработчиками.
СТЕК
SQL · PostgreSQL · Oracle обязательно. ISTQB — плюс, не требование. Automation как часть QA по умолчанию.
ПРОЦЕСС
HR-скрининг → IT-отдел / глава продукта → обычно 1-2 собеседования (общее + техническое или одно сразу) → возможно пробное задание. Ревью резюме до ~месяца.
ТВОЙ КОЗЫРЬ
Network/telecom background (TCP/IP, Cisco, VPN) ложится прямо на их домен. Большинство QA-джунов этого не имеют.
РИСК
Немецкий. JD просит sehr gute Deutsch- und Englischkenntnisse. У тебя A2. Закрываешь честно + упор на English C1 для технической работы.
💎 Твой козырь — B.Sc. Telecommunications
"My degree is actually in Telecommunications, and TKI builds software for telecom network planning. So I understand the domain your software models — not just how to test it, but what it represents. With my Cisco and network background, I read your product's context faster than a typical QA candidate."
ФАКТ
B.Sc. Telecommunications (Kharkiv) + Cisco Networking Essentials + TCP/IP/VPN опыт. Их продукт — софт для fiber/telecom-сетей. Прямое попадание в домен.
ПОДАЧА
Большинство QA придут тестировать "какой-то софт". Ты приходишь понимая что такое telecom-сеть. Подавай это жирно.
НЕ
Не продавай telecom как актуальную экспертизу (диплом 2018). Продавай как понимание домена, не как hands-on.
⚠️ Расхождения в документах — заготовь ответы
CV "QA Engineer, Present" vs Zeugnis "Praktikant 07.04–05.05"
ГЛАВНОЕ"It was a project-based QA internship — the official period was April to May. The project is still active so I keep contributing with the team. I labelled it by the work I did, not by the contract type." Спокойно, без оправданий.
CV "Jenkins, GitHub Actions" — на самом деле course-level
"Course-level exposure. Onyx automation was Java + REST Assured + TestNG. I'd be comfortable adding CI but I won't claim production ownership I don't have."
Сертификат содержит Cucumber / Appium / OkHttp — в CV их нет
Если спросят: "Studied in the course, didn't use in Onyx. I understand the concept and could integrate if a project needs it." Не присваивай hands-on.
Немецкий A2 vs JD просит "sehr gute Deutsch"
Поднимаешь сам, первым: "My German is A2, actively improving daily — for technical work English is C1. If the team works technically in English I contribute from day one." Это главный риск, владей им.
🎯 По чему тебя будут проверять (3 зоны)
Automation
Реально ли ты писал автотесты или только видел Postman. → Отвечаешь кодом: AuthHelper, ProjectsTests, 39 тестов, suites.
Testing mindset
Умеешь ли писать сценарии, думать рисками, edge cases, негативом. → Test design login, BVA/EP, security checks.
SQL / БД
JD прямо называет SQL/Postgres/Oracle. → JOINs, WHERE vs HAVING, validate after API, dialect-таблица.
📋 TKI Q&A банк — 18 вопросов под их стек
Нажми карточку — ответ. Это не общий QA-набор, а заточено под TKI: SQL/БД, automation, telecom-domain, scenario.
🎮 TKI квиз — проверь себя
15 вопросов по их стеку. Отвечай как на интервью.
🧩 Scenario-вопросы (любят на таких интервью)
«Как протестируешь login-форму?»
"I'd cover all dimensions, not just happy path. Positive: valid credentials → 200 + token. Negative: wrong password → 401; non-existent email → 401 with a generic message, no user enumeration. Boundary: empty fields → 400; password length edges. Security: SQL injection in inputs → rejected, no 500; access a protected route after logout → 401. On the API level I'd use Postman first, then automate with REST Assured; on UI level I'd check error messages render and redirect after success."
«Требования неполные. Что делаешь?»
"First I clarify the missing parts — password policy, error messages, expected status codes — and document my assumptions. Then I break the feature into testable scenarios: valid, invalid, boundary, security. I bring the concrete list (HTTP status, response body, side effects) to the developer and we align on the contract. I had exactly this on Onyx with project ownership — Swagger and UI contradicted each other, so we agreed foreign access returns 404 and my tests became the spec."
«Критический баг в проде. Шаги?»
"Assess severity and how many users are affected. Reproduce in a test environment using logs, request/response and steps. Notify the team — it's never my call alone, Product and the lead decide on a hotfix vs known issue. After the fix: retest thoroughly in staging, run regression on related functionality, and review why our tests missed it so we close the gap."
«UI часто меняется — как автоматизировать?»
"Use stable locators — IDs over XPath, data-test attributes if devs add them. Page Object Model so a UI change is fixed in one place, not across every test. State-based waits, never Thread.sleep. And push the heaviest coverage to the API layer where it's far more stable than UI — UI tests only for the critical user-visible flows."
🗄️ SQL углублённо — то что реально спросят
Триггер
Хранимая логика, срабатывающая на INSERT/UPDATE/DELETE. Для QA: может незаметно менять данные — учитывай при DB-валидации.
Индекс
Ускоряет чтение (поиск по колонке), но замедляет запись (каждый INSERT обновляет индексы). B-Tree — дефолт.
Транзакция / ACID
Atomicity, Consistency, Isolation, Durability. Либо всё применилось, либо ничего. Важно для тестов с несколькими записями.
Медленный запрос
EXPLAIN ANALYZE → смотришь план: индексы, тип join, размер таблицы. Иногда переписать запрос быстрее чем добавить индекс.
PRIMARY vs FOREIGN KEY
PK — уникальный non-null идентификатор строки. FK — ссылка на PK другой таблицы, обеспечивает целостность связей.
SELECT * — почему плохо
Тянет лишние колонки, ломается при изменении схемы, мешает оптимизатору. Бери только нужные поля.
🔀 PostgreSQL vs Oracle — расширенная таблица
Тип
PG — open-source ORDBMS. Oracle — проприетарный enterprise, PL/SQL, RMAN backup, GoldenGate репликация.
Auto ID
PG: SERIAL / IDENTITY · Oracle: SEQUENCE / IDENTITY · MySQL: AUTO_INCREMENT
Limit
PG: LIMIT 10 · Oracle: FETCH FIRST 10 ROWS ONLY (старое — ROWNUM)
Case-insensitive
PG: ILIKE · Oracle: UPPER()/LOWER()
DUAL table
Oracle: SELECT 1 FROM DUAL. PG: просто SELECT 1 (DUAL есть как совместимость).
EXPLAIN
PG: EXPLAIN ANALYZE + pg_stat_statements. Oracle: SQL Plan Management (SPM).
QA-вывод
"Диалекты разные, но QA-логика одна: проверить что API реально записал корректные данные. Синтаксис подтяну под движок."
⚙️ TestNG / Framework — быстрая шпаргалка
@BeforeMethod
перед каждым тестом (свежее состояние). У тебя в TestBase ставит baseURI.
@BeforeClass
один раз на класс. Для shared auth эффективнее.
DataProvider
много наборов данных в один тест. У тебя — invalid passwords из CSV.
Suites
apiSmoke / apiRegression / apiAuth / apiProjects / apiTasks / apiUsers — TestNG XML.
@AfterMethod
cleanup удаляет созданные данные → тесты независимы.
RetryAnalyzer
есть, но честно: retry может маскировать intermittent баг (BUG-BE-012). Использовать аккуратно.
✅ За 30 минут до звонка
□
Самопрезентация вслух 1 раз — ~45 сек, своими словами
□
Onyx за 90 сек: Spring Boot + JWT cookies + MySQL, 39 тестов
□
2 bug story готовы: BUG-BE-012 + BUG-BE-001
□
Немецкий ответ — A2, уверенно, первым
□
"Почему уходишь" = "ищу первую долгосрочную роль", не "хочу уйти"
□
404 не 403 для cross-user · "seemed related to" не "exactly"
□
2 вопроса им готовы · вода, блокнот, тихая комната
🔥 Топ вопросы — 10 лет
Частые вопросы на QA-интервью по темам. Отмечены HOT / CLASSIC / TREND.
🎯 Матрица навыков Junior QA 2026
Приоритет навыков для Junior QA: что критично, что желательно, что бонус.
🔴 MUST
🟡 SHOULD
🟢 PLUS
⭐ WOW
Красный = потеряешь оффер без этого
🏢 Топ компании для Junior QA
DE / Европа / Международные. Что спрашивают, какой стек, уровень зарплат.
📋 Вопросы & Ответы
Нажми карточку — увидишь ответ. Повторяй пока не отвечаешь без подсказки.
🎮 Тест-квиз
Отвечай как на реальном интервью.
📖 Шпаргалки
Весь материал курса по модулям.
🎤 Скрипты ответов
Готовые формулировки на RU/EN/DE.
✅ Чек-лист подготовки
Отмечай что знаешь. Прогресс сохраняется.
📊 Анализ рынка DE 2026
Реальные данные: зарплаты, тренды инструментов, стратегия поиска.
🎯 ONYX TaskTracker — твой главный проект
Месячная Betriebliche Lernphase в UpTeam GmbH. Spring Boot + MySQL + React с JWT-авторизацией. Это твоя главная история на интервью.
⚙️ Архитектура — три репозитория
📦 onyx-be
Backend — Spring Boot 3, Spring Security, JWT (HttpOnly cookies), JPA, MySQL 8 на Docker.
База пакетов:
База пакетов:
de.upteams.tasktracker. Endpoints: auth, users, projects, tasks.
🎨 onyx-fe
Frontend — Vite + React, общается с BE через REST API. JWT хранится в HttpOnly cookie (не localStorage — это важно для безопасности).
🧪 onyx-qa
QA репо — Java 17, Gradle, TestNG, Selenium WebDriver, RestAssured, JDBC, HikariCP.
База пакетов:
База пакетов:
de.ait.taskTracker. API + UI + DB слои.
✅ Что было сделано
🔌 API Layer — RestAssured + TestNG
DONE
ЧТО
39 автотестов на endpoints
/auth, /users, /projects, /tasks — позитивные, негативные, валидация. apiRegression зелёный 39/39.КАК
DTO классы (
AuthRequestDto.builder()), helper layer для переиспользования JWT access/refresh токенов через HttpOnly cookies, endpoint client покрывающий все flows.ЗАЧЕМ
Чтобы не повторять auth-логику в каждом тесте — один раз настроил, переиспользуешь. Стандартный production-pattern.
FLAGSHIP
Data-driven negative tests на 11 невалидных паролей через
CSV + @DataProvider — один метод проверяет 11 вариантов автоматически.🖥️ UI Layer — Selenium + POM
DONE
ЧТО
Page Object Model для LoginPage, RegisterPage, HeaderPage, ProjectsPage. BasePage с общими waits и alert handling.
КАК
By-локаторы внутри page-классов, action methods отдельно от локаторов, каждая страница extends BasePage с общими waits.
ЗАЧЕМ
UI меняется чаще всего — POM позволяет править один файл вместо десяти тестов. Это база любого UI фреймворка.
FLAGSHIP
E2E flow test:
login → create project → verify across UI and API layers — это уже не курсовая работа.🗄️ DB Layer — JDBC + MySQL
DONE
ЧТО
Валидация состояния БД через JDBC после API/UI операций. UUID HEX confirm-code lookup. Parameterized cleanup через
DELETE с PreparedStatement.КАК
DriverManager + PreparedStatement (защита от SQL injection). HikariCP убрали из build.gradle — оказался лишним для текущего объёма тестов.ЗАЧЕМ
API может вернуть 200 OK а в БД ничего не записалось — без DB-валидации это не поймаешь. Это уровень выше "UI клацал, не упало".
🐞 3 задокументированных бага с HTTP root cause
DONE
BUG-BE-001
Secure cookie ломает auth на HTTP — после логина все protected endpoints отдавали 401. Cookie отправлялась, но отклонялась. Причина: флаг Secure на JWT-cookie, а локалка работает на HTTP не HTTPS — клиент дропал cookie. Поймал на HTTP-уровне.
BUG-BE-012
Intermittent 500 на POST /tasks — падал ~50%, недетерминированно. Прогнал 11 раз подряд: 7 fail / 4 pass, разные тесты падали. Это исключило test-side, указало на race/transaction на backend. Reopened с полным анализом.
BUG-BE-007
User enumeration на login — при логине с несуществующим email сервер возвращал "User not found: email". Это утечка: атакующий узнаёт какие email зарегистрированы. Завёл как security-баг. Фикс: generic-сообщение независимо от существования email.
ВЫВОД
Все три — на HTTP/backend-уровне: cookie transport, race condition, security. Не "кнопка не нажалась". Для junior это сильно.
📋 Process & Team
DONE
TRELLO
QA / BE / FE / BUG columns. Каждый ticket с шагами reproduction и severity.
DOCS
Написал
ONBOARDING.md для следующего стажёра: 6-step Docker → BE → Beekeeper → FE → test user → Gradle checklist.TOOLS
IntelliJ IDEA Ultimate, Docker Desktop, Beekeeper Studio (MySQL), Postman, Swagger UI, Chrome DevTools, Fiddler Classic.
🟡 Что ещё нужно сделать (для роста)
🚀 Стабилизация API framework
NEXT
RequestSpec
Вынести base URI, common headers, auth в
RequestSpecification — сейчас дублируется в каждом тесте.Schema
Добавить JSON Schema validation — сейчас проверяешь поля вручную, schema validation поймает structural changes автоматически.
Reporting
Подключить Allure Report — нормальный HTML отчёт с историей запусков и скриншотами при падении.
⚙️ CI/CD — GitHub Actions
NEXT
ЧТО
Workflow
.github/workflows/qa.yml: на каждый push в onyx-qa автоматически запускается Gradle suite, артефакты публикуются.ЗАЧЕМ
На любом интервью спросят про CI/CD. Один зелёный workflow в репо = реальное evidence, а не разговоры про Jenkins.
ВРЕМЯ
Один выходной — от подключения до зелёной галочки. Самое выгодное вложение времени.
🔧 UI стабильность
TODO
Waits
Убрать любые остатки
Thread.sleep() — заменить на WebDriverWait + ExpectedConditions.Locators
Перевести оставшиеся XPath в CSS Selectors где возможно — быстрее и стабильнее.
Screenshots
TestNG
ITestListener с screenshot-on-failure — стандарт production-grade фреймворков.Parallel
TestNG
parallel="methods" + ThreadLocal<WebDriver> — для запуска suite в 3-4 раза быстрее.⭐ STAR-история для интервью — выучить наизусть
S
Situation: Месячная Betriebliche Lernphase в UpTeam GmbH на проекте Onyx TaskTracker — Spring Boot + MySQL + React приложение для управления задачами с JWT cookie-авторизацией. Работа в команде с разработчиками BE/FE.
T
Task: Покрыть API и UI флоу автотестами, провести exploratory testing, документировать найденные дефекты с root cause анализом до HTTP-уровня.
A
Action: Построил API-фреймворк на Java 17 + REST Assured + TestNG + Gradle — 39 автотестов (auth/users/projects/tasks). Сделал helper-слой для JWT cookie auth, data-driven negative тесты через CSV + DataProvider, JDBC-валидацию состояния БД. Разбил на TestNG-suites: apiSmoke / apiRegression / apiAuth / apiProjects / apiTasks / apiUsers.
R
Result: Зафиксировал баги с HTTP-уровневым root cause — secure cookie на HTTP (401 auth-wide), intermittent 500 на POST /tasks (race condition), user enumeration на login (security). apiRegression остался зелёный 39/39. Документировал каждый баг с reproduction steps и expected vs actual.
💡 Главный приём на интервью
Когда спрашивают "расскажи про последний проект" — отвечаешь STAR за 90 секунд. Если спрашивают деталь (например "как делал auth?") — переключаешься на технический ответ через формулу Cheat Code. Это структура — она работает на любой компании.
💎 Cheat Code — формула ответа на любой вопрос
Финальный шаблон. Любой технический вопрос → 5 шагов → чёткий ответ. После месяца практики ты отвечаешь как Doctor Strange: видишь все возможные варианты ответа и выбираешь лучший.
🦸 Marvel-формула QA-инженера на интервью
Четыре режима мышления — ты переключаешься между ними в зависимости от вопроса. Это не философия, это рабочая модель.
Режим 1
🔥 Cyclops — Лазерный фокус
Видишь термин в вопросе и сразу выдаёшь точное определение в одну строку. Никаких "ну это типа...". Severity — техническая критичность дефекта. Точка. Это базовое определение, остальное — детали.
Режим 2
💚 Hulk — Разрываешь на куски
Сложный вопрос ("как тестируешь API?") разбиваешь на маленькие части: auth flow, positive cases, negative cases, status codes, schema. Каждую часть отвечаешь отдельно — интервьюер видит структурное мышление.
Режим 3
⚡ Iron Man — Решаешь проблему
"Как бы ты протестировал X?" — даёшь конкретный план: выбрал бы технику (BVA + EP), написал бы N тест-кейсов, использовал бы Y инструмент, проверил бы Z побочные эффекты. Не теория — реальное решение.
Режим 4
🔮 Doctor Strange — Видишь все варианты
В конце ответа добавляешь trade-off: "сейчас сделал бы так, но если бы у нас был CI/CD — добавил бы schema validation". Это показывает что ты думаешь о системе, а не только о тесте.
📐 Универсальная формула ответа — 5 шагов
1
ЧТО ЭТО
Одна строка определения. "Severity — техническая критичность дефекта для системы."
2
ЗАЧЕМ НУЖНО
Use case в одно предложение. "Нужно чтобы команда понимала какие баги бьют по системе сильнее всего."
3
КАК РАБОТАЕТ
Короткая механика. "4 уровня: Critical → Major → Minor → Trivial. Назначает QA при создании баг-репорта."
4
ПОЧЕМУ ИМЕННО ТАК (trade-off)
Отличие от похожего понятия. "Не путать с Priority — Priority это бизнес-срочность, не техническая."
5
ПРИМЕР ИЗ ONYX
Твой реальный кейс. "В Onyx был баг: secure cookie на HTTP — все protected endpoints отдавали 401, Severity Critical, блокировал весь suite."
🎯 Примеры применения формулы
Вопрос: «Что такое POM?»
1. ЧТО
Page Object Model — паттерн где каждая страница приложения = отдельный Java-класс.
2. ЗАЧЕМ
Разделить логику теста и структуру UI — чтобы при изменении вёрстки не переписывать все тесты.
3. КАК
Локаторы и action methods внутри page-класса. Тест вызывает только методы — не знает про XPath/CSS.
4. TRADE-OFF
Альтернатива — линейные тесты с локаторами внутри. Это работает на 5 тестах, но при 50 становится кошмаром поддержки.
5. ONYX
В onyx-qa у меня LoginPage, RegisterPage, HeaderPage, ProjectsPage — каждая extends BasePage с общими waits.
Вопрос: «401 vs 403 — разница?»
1. ЧТО
Оба HTTP-коды отказа в доступе, но из разных причин.
2. ЗАЧЕМ
Сервер сообщает клиенту что именно не так — не залогинен или нет прав.
3. КАК
401 Unauthorized — токена нет или истёк (не аутентифицирован). 403 Forbidden — токен есть, но прав на этот ресурс нет (не авторизован).
4. TRADE-OFF
Запоминать так: 401 = «кто ты?», 403 = «знаю кто ты, но сюда нельзя».
5. ONYX
У меня был BUG-BE-001 с 401 auth-wide — secure cookie дропалась на HTTP. А для cross-user доступа к чужому проекту мы по контракту вернули 404 (BE-26), чтобы вообще не раскрывать существование ресурса.
🧠 Mental Triggers — что говорить когда не знаешь
НЕ ЗНАЮ
Никогда не говори «не знаю» сухо. Говори: «Не работал с этим напрямую, но по аналогии с X я бы предположил Y». Это показывает мышление а не пробел.
ЗАБЫЛ
«Дайте секунду подумать» — нормально. Молчание 3-5 секунд лучше неточного ответа.
УТОЧНИ
«Уточните контекст — вы про мобильное или веб?» — задавать встречные вопросы это не слабость, это профессионализм QA.
КОНКРЕТНО
Если интервьюер задал общий вопрос — сужай. «На примере Onyx я делал так:..» — конкретный пример всегда сильнее теории.
ВЛОЖИ ВРЕМЯ
Если 2+ собеседника — отвечай тому кто задал, но смотри периодически на всех. Это базовая social awareness.
📅 План повторения — 4 недели до интервью
Не учить заново — освежить термины и закрепить через практику. 1.5 часа в будни, 3 часа в выходные. Цель: к концу 4-й недели уверенно проходить mock interview.
— WEEK 1 —
🧪 Manual QA + Test Design
Пн
SDLC vs STLC — фазы каждого. Источник: ISTQB Foundation v4.0 PDF, главы 1-2.
Вт
Test case vs Checklist vs Test Plan vs Test Strategy. Сделать: добавить 10 терминов в Anki.
Ср
Severity vs Priority — 2 конкретных примера. Verification vs Validation.
Чт
Smoke / Sanity / Regression / Retesting — разница и когда применять.
Пт
EP + BVA на примере поля «возраст 18-65» — проговорить вслух.
Сб
Decision Table + State Transition + Pairwise. Применить: построить Decision Table для login-формы Onyx.
Вс
30 manual QA вопросов на JavaTpoint — отвечать вслух по формуле Cheat Code.
— WEEK 2 —
🔌 API · HTTP · RestAssured
Пн
HTTP methods + idempotency. Источник: developer.mozilla.org → Web/HTTP.
Вт
Status codes — все 2xx/4xx/5xx наизусть. 401 vs 403 vs 422 — разница.
Ср
Headers, Cookies, JWT structure (header.payload.signature). Открой: jwt.io и разбери токен из Onyx.
Чт
REST принципы — stateless, uniform interface, resource-based. Postman: collections, variables, auth, scripts.
Пт
RestAssured:
given/when/then, RequestSpec, ResponseSpec. Курс: TAU REST Assured Lesson 1-2.Сб
Практика: добавить JSON Schema validation в один тест onyx-qa. Серьёзный шаг.
Вс
DTO serialization/deserialization. DataProvider + CSV. 20 API вопросов из этого приложения.
— WEEK 3 —
☕ Java · Selenium · POM
Пн
Java OOP — 4 принципа. ArrayList vs LinkedList. Источник: Baeldung «Java Collections».
Вт
Checked vs Unchecked exceptions.
== vs .equals(). String vs StringBuilder.Ср
TestNG:
@BeforeMethod vs @BeforeClass — порядок исполнения. DataProvider. Soft vs Hard assertions.Чт
Selenium locators — CSS vs XPath, что когда выбирать.
findElement vs findElements.Пт
Implicit vs Explicit wait — никогда не миксовать! StaleElementReferenceException — почему.
Сб
Практика: стабилизировать 1 flaky UI test в onyx-qa через WebDriverWait + ExpectedConditions.
Вс
POM архитектура — почему action methods отдельно от локаторов. 20 Selenium вопросов из квиза.
— WEEK 4 —
🗄️ SQL · Git · Mock Interview
Пн
SQL: INNER JOIN vs LEFT JOIN с примером. Источник: SQLBolt Lesson 6-8.
Вт
WHERE vs HAVING. GROUP BY с агрегатами. Найти дубликаты email — классика интервью.
Ср
Statement vs PreparedStatement (SQL injection!). Transactions, ACID. JDBC основы.
Чт
Git: merge vs rebase. Что делать при merge conflict. Тренажёр: learngitbranching.js.org.
Пт
STAR-история про Onyx — выучить наизусть. 90 секунд без запинки.
Сб
Mock interview: записать себя на видео 60 минут. Tell me about yourself + 20 технических вопросов.
Вс
Посмотреть запись. Зафиксировать слабые места. Доработать формулировки.
✅ Результат после 4 недель
Ты отвечаешь на любой interview-вопрос за 30-60 секунд по формуле Cheat Code. Не плаваешь на терминах. Можешь рассказать STAR про Onyx с цифрами и примерами. Открываешь любую вакансию Junior QA в DE и понимаешь требования с первого прочтения.
📚 Ресурсы — Курсы · YouTube · Сайты · Работа
Всё что нужно для роста в одном месте. Отфильтровано из 4 AI-анализов — только то что реально работает.
🎓 Курсы — приоритет от важного к опциональному
REST Assured — Test Automation University≈ 3h · FREE
Твоя сильная зона, её нужно полировать а не учить заново. Курс даёт RequestSpec / ResponseSpec, сериализацию через DTO, schema validation и переиспользуемые helper-методы — именно то чего не хватает твоему onyx-qa.
testautomationu.applitools.com
Selenium WebDriver with Java — TAU≈ 5h · FREE
UI у тебя слабее API и на интервью это частая зона провала: explicit vs implicit wait, XPath vs CSS, StaleElementReferenceException. Курс закроет waits, locators, frames, POM.
testautomationu.applitools.com
ISTQB Foundation Level v4.0 SyllabusPDF · FREE
Не курс, а официальный словарь QA-терминологии. На интервью в Германии формулировки из ISTQB звучат правильнее любого блога — используй как справочник когда не помнишь точное определение.
istqb.org → Downloads
Rest API Testing with REST Assured — Rahul ShettyUdemy · €€
Когда TAU закроет основу, этот курс даёт реальный end-to-end framework с интеграцией Cucumber и Jenkins — то что можно положить в портфолио как полноценный проект.
Complete SQL Bootcamp — Jose PortillaUdemy · €€
Твой SQL застрял на SELECT и одном JOIN. Курс ведёт до advanced JOINs, GROUP BY с агрегациями и оконных функций — на любом QA-интервью в DE спросят INNER vs LEFT JOIN с примером.
GitHub Actions — Maximilian SchwarzmüllerUdemy · €
Решит проблему CI/CD за выходные: прикрутишь workflow к onyx-qa, и в репо появится зелёный значок успешного прогона — это реальное CI evidence, не разговоры про Jenkins.
📺 YouTube — каналы для повторения и обучения
Automation Step by Step (Raghav Pal)EN · Beginner-Mid
Видео по 10-15 минут на каждую конкретную тему: Selenium, RestAssured, Postman, JMeter, Git. Идеально для фоновой прослушки и быстрого освежения термина перед интервью.
SDET-QA Automation Techie (Pavan)EN · Mid
Java для тестировщиков и framework design — то место где у тебя реальный пробел между «пишу тесты» и «проектирую фреймворк». Плейлисты со 100+ interview-вопросами с разбором.
Naveen AutomationLabsEN · Mid-Advanced
Самый глубокий канал по RestAssured и Java OOP в QA-контексте. Один из немногих кто реально объясняет почему так а не просто как.
The Testing AcademyEN · All
Разборы реальных вакансий, interview Q&A, советы по CV и LinkedIn. Меньше кода, больше карьеры — полезно когда начнёшь подавать на позиции.
Hussein NasserEN · All
Backend-инженер простыми словами объясняет HTTP, TCP, JWT, cookies, REST. Закрывает теоретическую сторону твоей самой сильной зоны.
Артём Русов QARU · All
Лучший QA-канал на русском со схемами и без воды. Особенно полезен плейлист с разбором interview-вопросов в DE/EU контексте.
🎮 Интерактивные тренажёры — без рекламы, бесплатно
sqlbolt.comSQL · FREE
Лучший в мире сайт для повторения SQL — проходишь урок и тут же решаешь задачи в браузере без установки. Закроет JOIN-ы и GROUP BY за один вечер.
codingbat.com/javaJava · FREE
Сотни маленьких задач на Java с автопроверкой: строки, массивы, циклы. Возвращает пальцам "мышечную память" Java-синтаксиса перед интервью.
learngitbranching.js.orgGit · FREE
Визуальная игра-симулятор Git. После часа здесь понимаешь branch, merge, rebase лучше чем после месяца команд в терминале.
jwt.ioJWT · FREE
Декодер JWT-токенов + объяснение структуры header.payload.signature. Открой и разбери реальный токен из Onyx — поймёшь раз и навсегда.
reqres.in · jsonplaceholder.typicode.comAPI · FREE
Готовые fake REST API для практики GET/POST/PUT/DELETE без поднятия своего бэкенда. Идеально для тренировки Postman и RestAssured.
exercism.org/tracks/javaJava · FREE
Задачи на Java с возможностью получить code review от живого ментора бесплатно. Идеально когда хочешь чтобы кто-то указал на грязный код в твоих тестах.
📖 Справочники — открывать когда не знаешь термин
developer.mozilla.org (MDN)FREE
Единственный правильный источник по HTTP, cookies, headers, CORS, JSON. Не блог, а официальная документация веба.
baeldung.comFREE
Короткие статьи «what is X» по Java, TestNG, RestAssured. Лучший справочник по Java-стеку для QA — пишут практикующие инженеры.
rest-assured.io · selenium.dev · testng.orgFREE
Официальные доки — всегда правильнее блогов. Использовать когда блоги дают противоречивые ответы.
🌍 Где искать работу — Германия и EU
LinkedIn Jobsглавный канал DE/EU
70% входящих от рекрутеров в DE приходит сюда. Фильтр "English" обязателен, иначе утонешь в немецкоязычных JD. Профиль должен быть открыт для recruiter outreach.
StepStone.deDE-локальный
Самый объёмный немецкий job-board по QA. Много локальных вакансий которых нет на LinkedIn, но половина требует немецкий B2+.
arbeitnow.comEnglish-only DE/EU
Агрегатор английских вакансий в DE/EU — твой главный фильтр при A2 немецком. Много стартапов и remote-friendly позиций где знание немецкого не критично.
honeypot.iodeveloper-focused
Заполнил профиль один раз — компании сами пишут когда матчишься. Получаешь приглашения на собес вместо холодного apply.
kununu.com · glassdoor.deDE
Отзывы сотрудников + зарплаты + interview-questions по конкретной компании перед apply. Используй обязательно перед собесом.
roadmap.sh/qaкарта навыков
Визуальная карта всех QA-навыков. Видишь пробелы наглядно — что знаешь, что нет, что приоритет.
🧰 Daily tools — держи открытыми
jsoncrack.com · визуализация JSON-ответов API в виде графа
regex101.com · отладчик регулярок для locators и API validation
anki / quizlet · флэшкарточки терминов с интервальным повторением
excalidraw.com · рисовать схему архитектуры на собеседовании
pramp.com · бесплатные mock interviews с реальными людьми