# Projektowanie API REST (Go) > Zasady REST, wersjonowanie, paginacja, filtrowanie, HATEOAS, kody statusu, OpenAPI/Swagger - 20 pytań z rozmów - Mid-Level - [Pytania z rozmów: Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne.md) ## 1. Jaka jest fundamentalna zasada REST? **Odpowiedź** REST opiera się na zasadzie reprezentowania zasobów dostępnych poprzez unikalne URI. Każdy zasób (użytkownik, produkt, zamówienie) ma URI i może być manipulowany za pomocą standardowych czasowników HTTP (GET, POST, PUT, DELETE). Ten paradygmat zorientowany na zasoby umożliwia skalowalną i luźno powiązaną architekturę, w której serwer nie przechowuje stanu sesji klienta. ## 2. Której metody HTTP użyć do idempotentnej pełnej aktualizacji zasobu? **Odpowiedź** PUT jest idempotentny i całkowicie zastępuje zasób. Wielokrotne wywołanie PUT z tymi samymi danymi daje ten sam wynik co pojedyncze wywołanie. Z kolei POST nie jest idempotentny (utworzyłby wiele zasobów), PATCH wykonuje częściowe aktualizacje, a DELETE usuwa zasób. Idempotentność PUT gwarantuje bezpieczeństwo ponawiania prób w przypadku błędów sieci. ## 3. Jaki kod HTTP zwrócić po pomyślnym utworzeniu nowego zasobu? **Odpowiedź** Kod 201 Created wskazuje, że zasób został pomyślnie utworzony. Towarzyszy mu nagłówek Location wskazujący na URI nowego zasobu. Kod 200 OK jest zbyt ogólny dla tworzenia, 204 No Content jest używany, gdy nie ma treści odpowiedzi, a 202 Accepted sygnalizuje przetwarzanie asynchroniczne, które jeszcze się nie zakończyło. ## Jeszcze 17 dostępnych pytań - Jaka istotna różnica odróżnia API REST od API RPC? - Co oznacza zasada statelessness w REST? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Go - [Podstawy Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-basics.md): 25 pytań, Junior - [Struktury danych w Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-data-structures.md): 20 pytań, Junior - [Interfejsy w Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-interfaces.md): 18 pytań, Junior - [Obsługa błędów](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/error-handling.md): 20 pytań, Junior - [Podstawy goroutines](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/goroutines-basics.md): 20 pytań, Junior - [Channels](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/channels.md): 22 pytań, Junior - [Go Modules](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-modules.md): 18 pytań, Mid-Level - [Serwer HTTP](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/http-server.md): 24 pytań, Mid-Level - [Klient HTTP](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/http-client.md): 18 pytań, Mid-Level - [Kodowanie JSON](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/json-encoding.md): 20 pytań, Mid-Level - [Database/SQL](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/database-sql.md): 22 pytań, Mid-Level - [Pakiet context](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/context-package.md): 20 pytań, Mid-Level - [Testing](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/testing.md): 22 pytań, Mid-Level - [Wzorce współbieżności](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/concurrency-patterns.md): 24 pytań, Mid-Level - [Prymitywy synchronizacji](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/sync-primitives.md): 22 pytań, Mid-Level - [Frameworki webowe Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/go-web-frameworks.md): 20 pytań, Mid-Level - [gRPC](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/grpc.md): 22 pytań, Mid-Level - [Reflection](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/reflection.md): 20 pytań, Senior - [Zarządzanie pamięcią](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/memory-management.md): 24 pytań, Senior - [Optymalizacja wydajności](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Generics](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/generics.md): 20 pytań, Senior - [Go Design Patterns](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/design-patterns.md): 24 pytań, Senior - [Microservices](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/microservices.md): 24 pytań, Senior - [Bezpieczeństwo i uwierzytelnianie](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/security-authentication.md): 24 pytań, Senior - [Docker & Containerization](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/docker-containerization.md): 20 pytań, Senior - [Kubernetes Basics](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/kubernetes-basics.md): 22 pytań, Senior - [Zaawansowany Go](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/advanced-go.md): 20 pytań, Senior - [Tworzenie CLI](https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/cli-development.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/go/pytania-rekrutacyjne/rest-api-design