Ось кілька запитань, які можуть бути корисними на співбесіді для позиції Middle QA фахівця:
Критерії розробників: Мова; База даних; Каркаси (фреймворки); Мережі; Практичні навички + інструменти та адаптивна розробка.
Основи тестування
- Які основні цілі тестування?
Виявлення дефектів, перевірка відповідності вимогам, забезпечення стабільності продукту, підвищення якості. - Як протестувати форму реєстрації на сайті?
Перевірити функціональність, валідацію, юзабіліті, перформанс, тестувати помилки. - Що робити, якщо специфікація недостатня?
З’ясувати вимоги через діалог з аналітиком або використовувати аналогії. - Які види тестування ви знаєте?
Функціональне, нефункціональне, регресійне, smoke, sanity, тестування безпеки, юзабіліті. - Як би ви протестували пошуковий рядок на сайті?
Перевірити функціональність, порожній запит, спецсимволи, перформанс. - Що таке негативне тестування?
Перевірка на неправильні або неочікувані дані (наприклад, букви замість цифр). - Як оцінити якість тестових кейсів?
Чіткість, покриття сценаріїв, відповідність вимогам, можливість повторного використання. - Як реалізувати функцію перевірки на просте число?
Використовувати цикл для перевірки ділення на всі числа до квадратного кореня числа. - Як перевірити, чи є слово паліндромом?
Порівняти слово з його перевернутим варіантом.
Алгоритми та структури даних
- Як працює геш-таблиця?
Зберігає пари “ключ-значення”, використовує геш-функцію для швидкого доступу. - У яких випадках використовують дерево пошуку?
Для швидкого пошуку, додавання та видалення елементів у впорядкованому списку. - Як працює “двійковий пошук”?
Знаходить елемент у відсортованому масиві, розділяючи діапазон пошуку на половину. - Як знайти дублікат у масиві чисел?
Використовувати множину для перевірки, чи з’являється число вдруге. - Що таке черга і які є типи черг?
Черга — структура даних FIFO. Типи: звичайна, двостороння, пріоритетна.
Бази даних
- Поясніть різницю між SQL та NoSQL базами даних.
SQL: реляційні, таблиці, чітка схема. NoSQL: документи, ключ-значення, гнучка схема. - Напишіть SQL-запит, щоб отримати клієнтів, які зробили покупку в останні 30 днів.
SELECT * FROM customers WHERE purchase_date >= CURDATE() - INTERVAL 30 DAY;
- Як би ви реалізували фільтрацію даних у SQL?
SELECT * FROM products WHERE price > 100 AND category = 'electronics';
- Що таке нормалізація в базах даних?
Процес оптимізації структури бази даних для уникнення надлишкових даних. - Що таке транзакція в SQL? Назвіть її властивості.
Транзакція — набір операцій, які виконуються як єдиний блок. Властивості: Atomicity, Consistency, Isolation, Durability (ACID). - Як би ви створили індекс у SQL?
CREATE INDEX idx_name ON table_name(column_name);
Архітектура веб
- Що таке DNS і яку роль він відіграє у вебархітектурі?
DNS перетворює доменні імена на IP-адреси серверів для доступу до вебресурсів. - Що таке CDN?
Мережа серверів для швидшого доставки контенту користувачам. - Що таке Load Balancer?
Сервер для розподілу навантаження між кількома серверами. - Як працює кешування?
Кешування зберігає дані тимчасово для зменшення часу доступу. - Що таке CORS?
Механізм, який дозволяє вебсайтам запитувати ресурси з інших доменів. - Як працює крос-доменний запит (CORS)?
Регулюється заголовками, які вказують на дозволені запити з інших доменів.
CI/CD та Docker
- Що таке CI/CD?
CI: автоматизація інтеграції змін у коді. CD: автоматизація розгортання нових версій продукту. - Які інструменти використовуються для CI/CD?
Jenkins, GitLab CI/CD, CircleCI, TravisCI, Docker, Kubernetes. - Як Docker допомагає у тестуванні?
Забезпечує ізольоване середовище для запуску тестів. - Що таке контейнеризація?
Це процес пакування застосунку та його залежностей у контейнер, щоб забезпечити консистентне виконання застосунку в різних середовищах. - Що таке Kubernetes і для чого він використовується?
Оркестрація контейнерів для автоматизації розгортання та масштабування застосунків.
Автоматизоване тестування
- Як автоматизувати перевірку логіну на сайті?
Використовувати Selenium для автоматичного заповнення форми логіну та перевірки результату. - Що таке Page Object Model (POM)?
Патерн для організації коду в автоматизованих тестах, що спрощує підтримку. - Як працює Selenium WebDriver?
Автоматизує браузери через API для взаємодії з вебелементами. - Як створити стабільний тест на UI?
Використовувати надійні локатори, обробку очікувань, оновлювати тести при зміні інтерфейсу. - Як автоматизувати тестування REST API?
Використовувати Postman, RestAssured для перевірки статусів, заголовків та відповіді. - Як би ви розгорнули автоматизовані тести у хмарі?
Використовувати Docker для контейнеризації, налаштувати CI/CD пайплайн у хмарі. - Як автоматизувати тестування мобільного застосунку?
Використовувати Appium або Selenium для тестування мобільних платформ. - Як здійснити тестування UI за допомогою Selenium?
Автоматично перевіряти взаємодії користувача з елементами інтерфейсу: кнопки, поля вводу.
QA Design
- Що таке QA Design?
Процес створення стратегії тестування, визначення інструментів, методів та створення тест-кейсів. - Які основні етапи тестування у життєвому циклі розробки програмного забезпечення (SDLC)?
Планування, дизайн тестів, виконання тестування, звітність, закриття тестування. - Як аналізуєте вимоги перед тестуванням?
Перевірка вимог на повноту, зрозумілість та взаємозв’язок з тестами. - Як створюються тест-кейси?
Тест-кейси створюються на основі вимог, описують вхідні дані, очікувані результати, кроки виконання. - Як проводити оцінку ризиків у тестуванні?
Ідентифікація критичних компонентів системи та ризиків, які можуть вплинути на якість. - Як би ви протестували форму реєстрації в багатьох браузерах?
Перевірка відображення та функціональності форми у різних браузерах. - Як визначити покриття тестами?
Визначити відсоток функціональності, перевіреної тестами. - Як створити тестову стратегію?
Визначити підходи до тестування, типи тестів, інструменти, ресурси, методології. - Що таке smoke тестування?
Швидке тестування базових функцій продукту для перевірки його працездатності. - Що таке regression тестування?
Перевірка, чи не були порушені раніше працюючі функції після внесення змін. - Як оцінюється ефективність тестування?
Через метрики, такі як кількість знайдених дефектів, покриття тестами, час виконання тестів.