Pytania rekrutacyjne z projektowania API (Junior) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Projektowanie API (Junior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Czym w praktyce jest REST API?
- 2.Który projekt URL-a jest zgodny z typowymi konwencjami REST?
- 3.Co oznacza „bezstanowość” (stateless) dla REST API?
- 4.Która metoda HTTP powinna tworzyć nowy zasób w kolekcji, np. nowe zamówienie?
- 5.Czym różni się
PUTodPATCH? - 6.Które metody HTTP są „bezpieczne” (safe)?
- 7.Które metody są idempotentne według semantyki HTTP?
- 8.Co powinno zwrócić
DELETE /orders/42, gdy zamówienie usunięto i nie ma nic do odesłania? - 9.Co zawiera nagłówek
Locationw odpowiedzi201 Created? - 10.Dlaczego nazwy zasobów w URL-ach to zwykle rzeczowniki w liczbie mnogiej, np.
/users? - 11.Co oznacza
400 Bad Request? - 12.Czym różnią się
401 Unauthorizedi403 Forbidden? - 13.Który kod statusu pasuje do „e-mail jest już zarejestrowany” przy tworzeniu użytkownika?
- 14.Co mówi klientowi
429 Too Many Requests? - 15.Kiedy API powinno zwracać kody
5xx? - 16.Co zwykle oznacza
503 Service Unavailable? - 17.Dlaczego zwracanie
200 OKz{ "error": "not found" }to zła praktyka? - 18.Co oznacza
404 Not FounddlaGET /orders/999? - 19.Co nagłówek żądania
Content-Type: application/jsonmówi serwerowi? - 20.Do czego służy nagłówek
Accept? - 21.Jak reprezentować daty i godziny w JSON API?
- 22.Dlaczego API może zwracać duże liczbowe ID jako stringi w JSON?
- 23.Jakiego stylu nazw pól powinno używać JSON API?
- 24.Gdzie w żądaniu REST powinny trafiać opcje filtrowania i sortowania?
- 25.Co zawiera dobre body odpowiedzi z błędem?
- 26.Czym jest RFC 9457 (Problem Details)?
- 27.Dlaczego endpointy list powinny być stronicowane?
- 28.Czym różni się paginacja offsetowa od kursorowej?
- 29.Dlaczego kursor paginacji powinien być nieprzezroczysty dla klientów?
- 30.Jak API może poinformować klientów, że są kolejne strony?
- 31.Jak zwykle wysyła się bearer token do API?
- 32.Dlaczego API trzeba udostępniać tylko przez HTTPS?
- 33.Do czego zwykle służy klucz API?
- 34.O co głównie chodzi w OAuth 2.0?
- 35.Co kontroluje CORS?
- 36.Dlaczego API powinno walidować wszystkie dane wejściowe, nawet jeśli oficjalny klient już to robi?
- 37.Czym jest OpenAPI?
- 38.Jaka jest zaleta podejścia „najpierw projekt” (design-first) do API?
- 39.Po co API style guide?
- 40.Do czego w API służy JSON Schema?
- 41.Która zmiana istniejącej odpowiedzi API jest zwykle wstecznie kompatybilna?
- 42.Jaki jest popularny sposób wersjonowania REST API?
- 43.Dlaczego klienci powinni ignorować nieznane pola w odpowiedziach?
- 44.Jak API powinno ogłosić, że endpoint zostanie usunięty?
- 45.Które odpowiedzi cache HTTP mogą przechowywać najbezpieczniej?
- 46.Czym jest
ETag? - 47.Dlaczego API może kompresować odpowiedzi?
- 48.Czym jest GraphQL?
- 49.Czym jest webhook?
- 50.Do czego zwykle używa się gRPC?
- 51.Czym różnią się API w stylu REST i RPC?
- 52.Kiedy Server-Sent Events są lepsze niż odpytywanie?
- 53.Co zwraca
HEAD /files/report.pdf? - 54.Dlaczego wysyłane są żądania preflight CORS
OPTIONS? - 55.Jak używać zagnieżdżonych zasobów w URL-ach?
- 56.Jakie jest rozsądne maksimum parametru
limitw endpoincie listy? - 57.Po co API nagłówek z ID żądania, np.
X-Request-Id? - 58.Jakim narzędziem często ręcznie próbuje się żądań API?
- 59.Co oznacza „nadmiarowe pobieranie” (over-fetching)?
- 60.Co oznacza „niedostateczne pobieranie” (under-fetching, „gadatliwe” API)?
- 61.Czy API powinno bezpośrednio ujawniać wewnętrzne ID bazy i strukturę tabel?
- 62.Jak nazywać flagi logiczne w danych API?
- 63.Dlaczego enumy w odpowiedziach API trudno rozszerzać?
- 64.Czego żądanie
GETnigdy nie powinno robić? - 65.Co oznacza
Retry-After: 120w odpowiedzi? - 66.Czym jest model dojrzałości Richardsona?
- 67.Czym jest HATEOAS?
- 68.Użytkownik klika dwa razy „Zapłać” i klient wysyła
POST /paymentsdwa razy. Jakie jest ryzyko i typowe rozwiązanie? - 69.Co oznacza
202 Accepted? - 70.Jak klient może śledzić długą operację rozpoczętą z
202 Accepted? - 71.Kiedy można tworzyć zasób przez
PUT? - 72.Dlaczego wiele API zwraca
{ "data": [...] }zamiast gołej tablicy JSON dla list? - 73.Co dają klientom nagłówki typu
RateLimit-Remaining(lubX-RateLimit-Remaining)? - 74.Jak klient może pobrać kilku użytkowników po ID w jednym żądaniu w REST API?
- 75.Jaka jest popularna nazwa parametru zapytania do wyszukiwania pełnotekstowego w kolekcji?