Запитання до позиції на співбесіду Middle QA фахівець

Ось кілька запитань, які можуть бути корисними на співбесіді для позиції Middle QA фахівця:

Критерії розробників: Мова; База даних; Каркаси (фреймворки); Мережі; Практичні навички + інструменти та адаптивна розробка.

Основи тестування

  1. Які основні цілі тестування?
    Виявлення дефектів, перевірка відповідності вимогам, забезпечення стабільності продукту, підвищення якості.
  2. Як протестувати форму реєстрації на сайті?
    Перевірити функціональність, валідацію, юзабіліті, перформанс, тестувати помилки.
  3. Що робити, якщо специфікація недостатня?
    З’ясувати вимоги через діалог з аналітиком або використовувати аналогії.
  4. Які види тестування ви знаєте?
    Функціональне, нефункціональне, регресійне, smoke, sanity, тестування безпеки, юзабіліті.
  5. Як би ви протестували пошуковий рядок на сайті?
    Перевірити функціональність, порожній запит, спецсимволи, перформанс.
  6. Що таке негативне тестування?
    Перевірка на неправильні або неочікувані дані (наприклад, букви замість цифр).
  7. Як оцінити якість тестових кейсів?
    Чіткість, покриття сценаріїв, відповідність вимогам, можливість повторного використання.
  8. Як реалізувати функцію перевірки на просте число?
    Використовувати цикл для перевірки ділення на всі числа до квадратного кореня числа.
  9. Як перевірити, чи є слово паліндромом?
    Порівняти слово з його перевернутим варіантом.

Алгоритми та структури даних

  1. Як працює геш-таблиця?
    Зберігає пари “ключ-значення”, використовує геш-функцію для швидкого доступу.
  2. У яких випадках використовують дерево пошуку?
    Для швидкого пошуку, додавання та видалення елементів у впорядкованому списку.
  3. Як працює “двійковий пошук”?
    Знаходить елемент у відсортованому масиві, розділяючи діапазон пошуку на половину.
  4. Як знайти дублікат у масиві чисел?
    Використовувати множину для перевірки, чи з’являється число вдруге.
  5. Що таке черга і які є типи черг?
    Черга — структура даних FIFO. Типи: звичайна, двостороння, пріоритетна.

Бази даних

  1. Поясніть різницю між SQL та NoSQL базами даних.
    SQL: реляційні, таблиці, чітка схема. NoSQL: документи, ключ-значення, гнучка схема.
  2. Напишіть SQL-запит, щоб отримати клієнтів, які зробили покупку в останні 30 днів.
    SELECT * FROM customers WHERE purchase_date >= CURDATE() - INTERVAL 30 DAY;
  3. Як би ви реалізували фільтрацію даних у SQL?
    SELECT * FROM products WHERE price > 100 AND category = 'electronics';
  4. Що таке нормалізація в базах даних?
    Процес оптимізації структури бази даних для уникнення надлишкових даних.
  5. Що таке транзакція в SQL? Назвіть її властивості.
    Транзакція — набір операцій, які виконуються як єдиний блок. Властивості: Atomicity, Consistency, Isolation, Durability (ACID).
  6. Як би ви створили індекс у SQL?
    CREATE INDEX idx_name ON table_name(column_name);

Архітектура веб

  1. Що таке DNS і яку роль він відіграє у вебархітектурі?
    DNS перетворює доменні імена на IP-адреси серверів для доступу до вебресурсів.
  2. Що таке CDN?
    Мережа серверів для швидшого доставки контенту користувачам.
  3. Що таке Load Balancer?
    Сервер для розподілу навантаження між кількома серверами.
  4. Як працює кешування?
    Кешування зберігає дані тимчасово для зменшення часу доступу.
  5. Що таке CORS?
    Механізм, який дозволяє вебсайтам запитувати ресурси з інших доменів.
  6. Як працює крос-доменний запит (CORS)?
    Регулюється заголовками, які вказують на дозволені запити з інших доменів.
Roadmap de un QA

CI/CD та Docker

  1. Що таке CI/CD?
    CI: автоматизація інтеграції змін у коді. CD: автоматизація розгортання нових версій продукту.
  2. Які інструменти використовуються для CI/CD?
    Jenkins, GitLab CI/CD, CircleCI, TravisCI, Docker, Kubernetes.
  3. Як Docker допомагає у тестуванні?
    Забезпечує ізольоване середовище для запуску тестів.
  4. Що таке контейнеризація?
    Це процес пакування застосунку та його залежностей у контейнер, щоб забезпечити консистентне виконання застосунку в різних середовищах.
  5. Що таке Kubernetes і для чого він використовується?
    Оркестрація контейнерів для автоматизації розгортання та масштабування застосунків.

Автоматизоване тестування

  1. Як автоматизувати перевірку логіну на сайті?
    Використовувати Selenium для автоматичного заповнення форми логіну та перевірки результату.
  2. Що таке Page Object Model (POM)?
    Патерн для організації коду в автоматизованих тестах, що спрощує підтримку.
  3. Як працює Selenium WebDriver?
    Автоматизує браузери через API для взаємодії з вебелементами.
  4. Як створити стабільний тест на UI?
    Використовувати надійні локатори, обробку очікувань, оновлювати тести при зміні інтерфейсу.
  5. Як автоматизувати тестування REST API?
    Використовувати Postman, RestAssured для перевірки статусів, заголовків та відповіді.
  6. Як би ви розгорнули автоматизовані тести у хмарі?
    Використовувати Docker для контейнеризації, налаштувати CI/CD пайплайн у хмарі.
  7. Як автоматизувати тестування мобільного застосунку?
    Використовувати Appium або Selenium для тестування мобільних платформ.
  8. Як здійснити тестування UI за допомогою Selenium?
    Автоматично перевіряти взаємодії користувача з елементами інтерфейсу: кнопки, поля вводу.

QA Design

  1. Що таке QA Design?
    Процес створення стратегії тестування, визначення інструментів, методів та створення тест-кейсів.
  2. Які основні етапи тестування у життєвому циклі розробки програмного забезпечення (SDLC)?
    Планування, дизайн тестів, виконання тестування, звітність, закриття тестування.
  3. Як аналізуєте вимоги перед тестуванням?
    Перевірка вимог на повноту, зрозумілість та взаємозв’язок з тестами.
  4. Як створюються тест-кейси?
    Тест-кейси створюються на основі вимог, описують вхідні дані, очікувані результати, кроки виконання.
  5. Як проводити оцінку ризиків у тестуванні?
    Ідентифікація критичних компонентів системи та ризиків, які можуть вплинути на якість.
  6. Як би ви протестували форму реєстрації в багатьох браузерах?
    Перевірка відображення та функціональності форми у різних браузерах.
  7. Як визначити покриття тестами?
    Визначити відсоток функціональності, перевіреної тестами.
  8. Як створити тестову стратегію?
    Визначити підходи до тестування, типи тестів, інструменти, ресурси, методології.
  9. Що таке smoke тестування?
    Швидке тестування базових функцій продукту для перевірки його працездатності.
  10. Що таке regression тестування?
    Перевірка, чи не були порушені раніше працюючі функції після внесення змін.
  11. Як оцінюється ефективність тестування?
    Через метрики, такі як кількість знайдених дефектів, покриття тестами, час виконання тестів.