← Усі теми

Питання на співбесіді з навантажувального тестування з відповідями

Навантажувальне тестування й продуктивність: load, stress, spike і soak-тести, перцентилі затримки й пропускна здатність, відкрита й закрита моделі навантаження, сценарії, перевірки й пороги k6, JMeter, Gatling і Locust, тестові дані й кореляція, вузькі місця й метод USE, coordinated omission, планування потужностей і SLO.

227 запитань для співбесіди з теми Навантажувальне тестування з відповідями й поясненнями - рівні Junior, Middle і Senior. Приклади запитань, онлайн-тести й задачі на код.

Запитання за рівнями

Приклади запитань

Кілька запитань із кожного рівня з правильною відповіддю й поясненням.

Навантажувальне тестування · Junior

  1. Яка головна мета навантажувального тесту?
    Показати відповідь

    Правильна відповідь: Перевірити, як система поводиться за очікуваної кількості користувачів

    Навантажувальний тест подає трафік, який очікують у продакшені, зазвичай звичайний пік, і перевіряє, що час відповіді й частка помилок лишаються в межах цілей.

  2. Чим стрес-тест відрізняється від навантажувального?
    Показати відповідь

    Правильна відповідь: Він виходить за очікуване навантаження, щоб побачити, де і як система ламається

    Навантажувальний тест тримається очікуваного рівня. Стрес-тест іде вище, щоб знайти точку зламу й побачити, чи система деградує м'яко і чи відновлюється.

  3. Що перевіряє spike-тест?
    Показати відповідь

    Правильна відповідь: Як система витримує раптовий різкий стрибок трафіку

    Spike-тест за секунди стрибає від низького навантаження до дуже високого, як під час розпродажу чи після пуш-сповіщення, і перевіряє, чи система виживе й відновиться.

  4. Для чого потрібен soak-тест (тест на витривалість)?
    Показати відповідь

    Правильна відповідь: Щоб знайти проблеми, які з'являються лише після годин сталого навантаження

    Soak-тест годинами тримає звичайне навантаження. Він виявляє витоки пам'яті, черги, що ростуть, диски, що заповнюються, і з'єднання, які ніколи не звільняються.

Усі 75 запитань з відповідями →

Навантажувальне тестування · Middle

  1. У чому ключова різниця між закритою і відкритою моделлю навантаження?
    Показати відповідь

    Правильна відповідь: Закрита: нові запити чекають на старі. Відкрита: надходження не залежить від відповідей

    У закритій моделі фіксована кількість користувачів, і кожен шле наступний запит після повернення попереднього. У відкритій запити надходять із заданим темпом, як справжній інтернет-трафік, хоч би яким був час відповіді.

  2. Чому закрита модель може сховати сповільнення?
    Показати відповідь

    Правильна відповідь: Коли сервер сповільнюється, користувачі шлють менше запитів, і навантаження падає саме

    100 VU з відповіддю за 1 с дають ~100 RPS. Якщо відповідь триває 5 с, виходить ~20 RPS. Система отримує полегшення, якого справжній трафік ніколи б їй не дав.

  3. Який виконавець k6 тримає сталий темп запитів незалежно від часу відповіді?
    Показати відповідь

    Правильна відповідь: constant-arrival-rate

    Виконавці arrival-rate запускають ітерації з заданим темпом і за потреби беруть VU з пулу. constant-vus - закрита модель.

  4. Про що каже ненульова метрика dropped_iterations у тесті з arrival-rate?
    Показати відповідь

    Правильна відповідь: У k6 не було вільного VU для старту ітерації, тож цільового темпу не досягнуто

    Якщо всі VU зайняті і maxVUs досягнуто, k6 пропускає ітерації. Збільште maxVUs або зафіксуйте, що система була надто повільна для такого темпу.

Усі 76 запитань з відповідями →

Навантажувальне тестування · Senior

  1. Ви будуєте модель навантаження для публічного API. Яке джерело патерну надходження найкраще?
    Показати відповідь

    Правильна відповідь: Логи доступу продакшену: темпи за ендпоінтами, піки й сплески

    Логи показують справжній мікс запитів, денні піки й наскільки трафік сплескоподібний. Модель на їхній основі відповідає на питання про реальний ризик.

  2. Коли закрита модель навантаження - правильний вибір?
    Показати відповідь

    Правильна відповідь: Коли клієнти справді фіксований пул, наприклад N воркерів чи кол-центр

    Якщо в реальній системі фіксована кількість клієнтів, що чекають на відповіді, закрита модель їй відповідає. Публічний трафік надходить незалежно, тож там пасує відкрита.

  3. Як wrk2 уникає coordinated omission?
    Показати відповідь

    Правильна відповідь: Шле зі сталим темпом і міряє від запланованого часу надсилання

    Затримку рахують від моменту, коли запит мав піти за розкладом. Тоді зависання видно як затримку, яку побачили б справжні користувачі.

  4. Сторінка паралельно викликає 100 бекенд-сервісів, у кожного p99 = 1 с. Яка приблизно частка завантажень сторінки має хоча б один виклик від 1 с?
    Показати відповідь

    Правильна відповідь: Близько 63%

    1 − 0,99^100 ≈ 0,63. Розгалуження робить рідкісний хвіст звичайним, тому хвостова затримка така важлива у великих системах.

Усі 76 запитань з відповідями →

Задачі на код

Напишіть рішення просто в браузері - тести перевірять його одразу. Класика співбесід на JavaScript (debounce, deepClone, Promise.all, LRU-кеш), на TypeScript (дженерики, звуження й утилітні типи, перевіряє справжній компілятор), серверна логіка на Node.js (middleware, обмеження частоти, черги задач), SQL-запити в справжньому PostgreSQL і на React: компоненти й хуки на кшталт списку справ, вкладок, useDebounce та useInterval.

Відкрити задачі →