← Wszystkie tematy

Pytania rekrutacyjne Playwright z odpowiedziami

Automatyzacja testów end-to-end w Playwright: lokatory i auto-waiting, asercje web-first, fixtures i projekty, logowanie przez storageState, mockowanie sieci i testy API, trace'y i debugowanie, uruchamianie równoległe, sharding i CI, niestabilne testy i architektura zestawu.

227 pytań na rozmowę rekrutacyjną z tematu Playwright z odpowiedziami i wyjaśnieniami - poziomy Junior, Middle i Senior. Przykładowe pytania, testy online i zadania z kodu.

Pytania według poziomu

Przykładowe pytania

Kilka pytań z każdego poziomu z poprawną odpowiedzią i wyjaśnieniem.

Playwright · Junior

  1. Które polecenie tworzy nowy projekt Playwright Test z konfiguracją i przykładowym testem?
    Pokaż odpowiedź

    Poprawna odpowiedź: npm init playwright@latest

    Polecenie init zadaje kilka pytań (TypeScript czy JavaScript, folder testów, workflow GitHub Actions), instaluje @playwright/test i przeglądarki oraz tworzy playwright.config.ts z przykładowym testem.

  2. Co robi npx playwright install?
    Pokaż odpowiedź

    Poprawna odpowiedź: Pobiera wersje przeglądarek potrzebne Playwright

    Każda wersja Playwright jest testowana z konkretnymi buildami Chromium, Firefox i WebKit. npx playwright install je pobiera; --with-deps instaluje też biblioteki systemowe, co przydaje się na linuksowych maszynach CI.

  3. Jakie trzy silniki przeglądarek Playwright Test obsługuje od razu?
    Pokaż odpowiedź

    Poprawna odpowiedź: Chromium, Firefox i WebKit

    Playwright dostarcza buildy Chromium, Firefox i WebKit. Markowe Chrome i Edge może też uruchamiać przez opcję channel.

  4. Które polecenie uruchamia wszystkie testy Playwright w projekcie?
    Pokaż odpowiedź

    Poprawna odpowiedź: npx playwright test

    npx playwright test znajduje pliki testów w testDir, uruchamia je równolegle w skonfigurowanych projektach i wypisuje wyniki przez ustawione reportery.

Wszystkie 75 pytań z odpowiedziami →

Playwright · Middle

  1. Co zmienia fullyParallel: true?
    Pokaż odpowiedź

    Poprawna odpowiedź: Testy w jednym pliku też działają równolegle

    Domyślnie pliki działają równolegle, ale testy w pliku idą po kolei w jednym workerze. fullyParallel rozkłada pojedyncze testy między workery, co wymaga niezależności każdego testu.

  2. Dlaczego wiele konfiguracji ma workers: process.env.CI ? 1 : undefined?
    Pokaż odpowiedź

    Poprawna odpowiedź: Maszyny CI bywają słabe, a jeden worker jest stabilny

    Lokalnie Playwright używa około połowy rdzeni CPU. Na małym runnerze CI wiele przeglądarek walczy o CPU i dostaje timeouty. Zespoły z większymi runnerami lub shardingiem zwiększają liczbę.

  3. Co daje retries: process.env.CI ? 2 : 0?
    Pokaż odpowiedź

    Poprawna odpowiedź: Powtarza awarie w CI, a lokalnie pokazuje je od razu

    Lokalnie chcesz od razu zobaczyć awarię. W CI powtórki pochłaniają rzadkie problemy infrastruktury, a testy przechodzące przy powtórce są oznaczane jako flaky do naprawy.

  4. Co oznacza test oznaczony jako "flaky" w raporcie Playwright?
    Pokaż odpowiedź

    Poprawna odpowiedź: Najpierw padł, a przy powtórce przeszedł

    Testy flaky nie oblewają uruchomienia, ale wymagają uwagi: ukrywają wyścigi lub wspólny stan. --fail-on-flaky-tests zamienia je w porażki.

Wszystkie 75 pytań z odpowiedziami →

Playwright · Senior

  1. Zestaw Playwright trwa w CI 50 minut. Jaki pierwszy krok jest zwykle najskuteczniejszy?
    Pokaż odpowiedź

    Poprawna odpowiedź: Znaleźć wolne testy i setup, shardować i przenieść sprawdzenia niżej

    Raport pokazuje, gdzie idzie czas: logowanie przez UI, długie ścieżki, czekanie. Naprawa tego, przeniesienie sprawdzeń logiki do testów API lub jednostkowych i sharding między maszynami zwykle dają największy zysk.

  2. Jak --shard=2/4 dzieli pracę?
    Pokaż odpowiedź

    Poprawna odpowiedź: Uruchamia mniej więcej ćwierć testów, drugą część

    Shardy dzielą testy między maszyny. Z fullyParallel: true podział idzie per test, co równoważy lepiej niż per plik.

  3. Dlaczego fullyParallel pomaga równoważyć shardy?
    Pokaż odpowiedź

    Poprawna odpowiedź: Między shardy trafiają testy, a nie całe pliki

    Bez niego shard dostaje całe pliki, więc jeden ogromny plik może uczynić ten shard dużo wolniejszym od innych.

  4. Jak dostać jeden raport z czterech shardowanych jobów CI?
    Pokaż odpowiedź

    Poprawna odpowiedź: Reporter blob w każdym i merge-reports na końcu

    Każdy shard wysyła raport blob jako artefakt, a końcowy job scala je w jeden raport HTML.

Wszystkie 77 pytań z odpowiedziami →

Testy łączone z tym tematem

Pytania z kilku tematów naraz - jak na rozmowie rekrutacyjnej na konkretne stanowisko.

Zadania z kodu

Napisz rozwiązanie prosto w przeglądarce, a testy od razu je sprawdzą. Klasyka rozmów rekrutacyjnych z JavaScriptu (debounce, deepClone, Promise.all, cache LRU), z TypeScriptu (generyki, zawężanie i typy narzędziowe, sprawdza prawdziwy kompilator), logika backendu w Node.js (middleware, limity żądań, kolejki zadań), zapytania SQL w prawdziwym PostgreSQL i z Reacta: komponenty i hooki, takie jak lista zadań, zakładki, useDebounce i useInterval.

Otwórz zadania →