Чекліст підготовки до техінтерв’ю (AT JavaScript)

JS / TypeScript

  • Типи в TS, type vs interface, generics, utility types.
  • Замикання, область видимості, хостинг.
  • this, контекст виклику, call/apply/bind.
  • Прототипи, класи, наслідування, приватні поля.
  • Асинхронщина: колбеки, проміси, async/await, мікро/макротаски.
  • Події та таймери (addEventListener, setTimeout/Interval).
  • Модулі: ESM vs CommonJS (import/export vs require).
  • Map/Set, ітератори/генератори, спред/рест.
  • Деструктуризація, опціональний ланцюжок ?. і nullish-об’єднання ??.

Node.js

  • npm-скрипти, npx, lock-файли.
  • require vs import, type: "module".
  • Змінні оточення (process.env, .env), конфіги.

Автотестування веб

  • Cypress / Playwright / WebDriver: локатори, явні/неявні очікування.
  • Фікстури/дані, Page Object, параметризація тестів.
  • Скриншоти/відео, робота з алертами/фреймами/завантаженням файлів.
  • Боремося з flaky: стабільні локатори, ретраї, мережеві стаби.
  • Асерти: Chai / Jest / expect-matchers.
  • Моки/стаби мережі: cy.intercept(), Playwright route, фіктивні відповіді.

CI/CD та репорти

  • Запуск у GitHub Actions / GitLab CI, кеш npm, матриці браузерів.
  • Збереження артефактів: відео, скріни, логи.
  • Звіти: Allure / JUnit / HTML-reports, публікація у CI.

Теорія тестування

  • Піраміда тестування, рівні (unit / API / e2e / інтеграційні).
  • Види тестів: позитивні/негативні, регресія, smoke, критичні шляхи.
  • Принципи написання кейсів: ясність, ізольованість, пріоритезація.
  • Техніки проєктування: еквівалентні класи, граничні значення, таблиці рішень, діаграми переходів станів.
  • Грамотний bug-report: кроки відтворення, очікувано/фактично, середовище, логи/скріни, пріоритет/северіті.

Web & API

  • HTTP: методи, коди статусів, заголовки, кешування.
  • Cookies vs localStorage/sessionStorage, SameSite, HttpOnly, Secure.
  • CORS, preflight, налаштування на бекенді/фронтенді.
  • REST принципи, ідempotent/безстанність, ресурси/ендпоїнти.
  • Тестування API: Postman / VSCode REST Client, колекції, змінні оточення.
  • Валідація JSON-схем, контрактні тести (узгодженість API).

Дані / SQL (база)

  • SELECT, WHERE, ORDER BY, LIMIT/OFFSET.
  • Об’єднання: INNER/LEFT JOIN.
  • Простий агрегаційний запит: GROUP BY, COUNT/SUM/AVG.

Порада на фініш

Підготуй 2–3 короткі демо-проєкти (UI+API тести) в GitHub із CI-запуском і Allure-звітами — це сильний плюс на співбесіді.