← Wszystkie tematy

Pytania rekrutacyjne z testowania API z odpowiedziami

Testowanie API HTTP: metody i kody odpowiedzi, nagłówki i uwierzytelnianie, Postman i Newman, curl, testy negatywne i graniczne, JSON Schema, testy kontraktowe z Pact i OpenAPI, mocki i wirtualizacja usług, idempotentność i współbieżność, OWASP API Security Top 10, testy obciążeniowe i asynchroniczne API.

225 pytań na rozmowę rekrutacyjną z tematu Testowanie API 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.

Testowanie API · Junior

  1. Czym jest testowanie API?
    Pokaż odpowiedź

    Poprawna odpowiedź: Sprawdzaniem interfejsu aplikacji dla programów, bez UI

    Testy API wysyłają zapytania do endpointów i sprawdzają kody odpowiedzi, treść, nagłówki i skutki uboczne. Są szybsze i stabilniejsze niż testy UI i sięgają przypadków, które UI ukrywa.

  2. Dlaczego testy API często robi się przed testami UI?
    Pokaż odpowiedź

    Poprawna odpowiedź: API jest gotowe wcześniej, a błędy w nim taniej znaleźć

    Endpointy backendu zwykle powstają przed ekranami. Wczesne testy znajdują błędy logiki i walidacji, gdy UI jest jeszcze budowany.

  3. Czym REST API zwykle identyfikuje zasoby?
    Pokaż odpowiedź

    Poprawna odpowiedź: Adresami URL jak /users/42

    W REST każdy zasób ma adres, a metody HTTP mówią, co z nim zrobić: GET /users/42 odczytuje, DELETE /users/42 usuwa.

  4. Która metoda HTTP powinna tylko odczytywać dane?
    Pokaż odpowiedź

    Poprawna odpowiedź: GET

    GET jest metodą bezpieczną: nie może zmieniać stanu serwera. GET, który coś usuwa lub aktualizuje, to błąd, bo mogą go wywołać cache, crawlery i prefetch.

Wszystkie 75 pytań z odpowiedziami →

Testowanie API · Middle

  1. Po co z czasem przenosić sprawdzenia API z Postmana do testów w kodzie?
    Pokaż odpowiedź

    Poprawna odpowiedź: Kod żyje w Gicie z przeglądem, reużyciem i zwykłym CI

    Testy w tym samym repozytorium co usługa są przeglądane razem z kodem, dzielą helpery i działają jak każdy zestaw testów. Postman zostaje przydatny do eksploracji.

  2. Czym jest REST Assured?
    Pokaż odpowiedź

    Poprawna odpowiedź: Biblioteką Javy do czytelnych testów API

    Oferuje styl given/when/then: given().body(...).when().post("/users").then().statusCode(201).

  3. Jak sprawdzić treść odpowiedzi względem JSON Schema w testach JavaScript?
    Pokaż odpowiedź

    Poprawna odpowiedź: Skompilować schemat walidatorem jak Ajv i sprawdzić treść

    Ajv zwraca błędy walidacji ze ścieżkami jak /items/0/price, więc awarie łatwo czytać.

  4. Co łapie additionalProperties: false w schemacie odpowiedzi?
    Pokaż odpowiedź

    Poprawna odpowiedź: Nieoczekiwane pola, np. ujawnione dane

    Ścisłe schematy wykrywają nowe lub ujawnione pola jak passwordHash. Zespoły decydują per API, czy ścisłość pomaga, czy daje szum.

Wszystkie 75 pytań z odpowiedziami →

Testowanie API · Senior

  1. Jak rozłożyć testy API na poziomy dla mikroserwisu?
    Pokaż odpowiedź

    Poprawna odpowiedź: Dużo testów jednostkowych i komponentowych, kontrakty, mało E2E

    Testy komponentowe uruchamiają usługę z zaślepionymi zależnościami i szybko pokrywają logikę. Kontrakty pilnują integracji; kilka ścieżek E2E dowodzi, że cały system działa.

  2. Na jakie pytanie odpowiada sprawdzenie Pact can-i-deploy?
    Pokaż odpowiedź

    Poprawna odpowiedź: Czy wersję zweryfikowano z wersjami, z którymi działa

    Pact Broker wie, które wersje konsumentów i dostawców zweryfikowały każdy kontrakt. Sprawdzenie blokuje wdrożenie, które zepsułoby partnera już działającego na produkcji.

  3. Jakie jest główne ryzyko testów kontraktowych pisanych tylko przez zespół dostawcy?
    Pokaż odpowiedź

    Poprawna odpowiedź: Testują to, co dostawca uważa za użycie, a nie realne użycie

    Kontrakty od konsumentów oddają realne użycie. Kontrakty tylko od dostawcy często pomijają pole, od którego zależy klient, lub testują pola, których nikt nie używa.

  4. Po co przeglądać projekt API przed napisaniem kodu?
    Pokaż odpowiedź

    Poprawna odpowiedź: Późniejsza zmiana opublikowanego kontraktu jest droga dla klientów

    Przegląd specyfikacji z góry łapie niejasne błędy, brak paginacji czy niespójne nazwy, gdy poprawka to jedna edycja, a nie migracja z wersjami.

Wszystkie 75 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 →