top 20 restful web services interview question
Lista najczęściej zadawanych usług internetowych RESTful pytań i odpowiedzi, które pomogą Ci przygotować się do nadchodzącej rozmowy kwalifikacyjnej:
Usługi internetowe, bardzo dobrze znany termin, kiedy mówimy o wymianie pewnego rodzaju danych między wieloma aplikacjami lub, powiedzmy, oprogramowaniu. Opierając się na modelu klient-serwer, usługi te mogą być używane przez wiele aplikacji napisanych w różnych językach, a ponadto mają tę zaletę, że działają na różnych platformach.
Podobnie REST, Representational State Transfer jest również oparta na architekturze bezstanowej typu klient-serwer, do której można łatwo uzyskać dostęp przez sieć i jest identyfikowana przez URI, tj. Uniform Resource Identifier.
Głównym celem opisania powyższej definicji usług internetowych, a także REST jest pomoc w nawiązaniu do tego terminu ' RESTful web services ” ponieważ usługi internetowe zgodne z REST są zdefiniowane jako usługi internetowe, które używają metody HTTP i są oparte na architekturze REST. Posiada przydatne funkcje, takie jak wysoka skalowalność i łatwość konserwacji, tworzenie interfejsów API itp.
Lista prywatnych serwerów World of Warcraft
Dowiedz się więcej = >> Flask Restful API
W tym artykule znajdziesz zbiór pytań i odpowiedzi, które wyjaśnią Twoje podstawy i pomogą lepiej zrozumieć temat.
Przeczytaj także:
- Najczęstsze pytania do wywiadów dotyczących usług internetowych
- Najpopularniejsze pytania do wywiadu SoapUI
Lista pytań dotyczących usług sieci Web zgodnych z REST
Zaczynajmy.
Pytanie 1) Jak rozumiesz, czym są usługi sieciowe RESTful?
Odpowiedź: Podobnie jak SOAP (Simple Object Access Protocol), który jest używany do tworzenia usług internetowych metodą XML, usługi sieciowe RESTful wykorzystują protokół sieciowy, czyli metodę protokołu HTTP. Mają takie cechy, jak skalowalność, łatwość konserwacji, pomoc w komunikacji wielu aplikacji zbudowanych w różnych językach programowania itp.
Implementacja usługi internetowej RESTful definiuje sposób dostępu do różnych zasobów, które są wymagane przez klienta i wysłał żądanie do serwera za pośrednictwem przeglądarki internetowej.
Do ważnych aspektów tej implementacji należą:
- Zasoby
- Nagłówki żądań
- Treść żądania
- Treść odpowiedzi
- Kody stanu
Pytanie 2) Nazwij protokół, który jest używany przez usługi sieciowe RESTful.
Odpowiedź: Usługi sieciowe RESTful używają słynnego protokołu internetowego, tj. Protokołu HTTP. Służy jako medium do komunikacji danych między klientem a serwerem. Standardowe metody HTTP są używane do uzyskiwania dostępu do zasobów w architekturze usług WWW zgodnych z REST.
Pytanie 3) Wyjaśnij termin „adresowanie” w odniesieniu do usługi RESTful WEB.
Odpowiedź: Tak jak wymagamy adresu z kodem pocztowym, aby dotrzeć do dowolnej osoby, w ten sam sposób „Adresowanie” lokalizuje zasoby obecne na serwerze w celu hostowania usług internetowych. Odbywa się to zwykle za pomocą URI, tj. Unified Resource Identifier.
Pytanie 4) Wymień funkcje usług sieciowych RESTful.
Odpowiedź: Każda usługa sieciowa zgodna ze specyfikacją REST powinna mieć następujące funkcje i cechy wymienione poniżej:
- Na podstawie reprezentacji klient-serwer.
- Wykorzystanie protokołu HTTP do wykonywania funkcji, takich jak pobieranie danych z usługi internetowej, pobieranie zasobów, wykonywanie dowolnego zapytania itp.
- Komunikacja między serwerem a klientem odbywa się za pośrednictwem medium zwanego „przesyłaniem wiadomości”.
- Adresowanie zasobów dostępnych na serwerze poprzez identyfikatory URI.
- Oparty na koncepcji bezpaństwowości, w której każde żądanie klienta i odpowiedź są niezależne od innych, z całkowitą pewnością dostarczenia wymaganych informacji.
- Używa koncepcji buforowania.
- Działa na jednolitym interfejsie.
P # 5) Wyjaśnij technikę przesyłania wiadomości.
Odpowiedź: Komunikaty to sposób wymiany danych dla każdego rodzaju komunikacji. W ten sam sposób protokół HTTP pełni rolę komunikacji komunikatów między klientem a serwerem za pomocą metod HTTP Request i Response. Żądanie HTTP jest wysyłane przez klienta, który zawiera informacje o danych, a następnie otrzymuje odpowiedź HTTP z serwera.
Wiadomości to zbiór informacji o danych, czyli metadanych.
P # 6) Jakie są podstawowe składniki żądania HTTP i odpowiedzi HTTP?
Odpowiedź: Podstawowe składniki w ramach żądania HTTP to:
- Czasownik: Obejmuje metody takie jak GET, PUT, POST itp.
- Jednolity identyfikator zasobu do identyfikacji zasobów dostępnych na serwerze.
- Wersja HTTP do określenia wersji HTTP.
- Nagłówek żądania HTTP zawierający informacje o danych.
- Treść żądania HTTP zawierająca reprezentację używanych zasobów.
Podstawowe składniki odpowiedzi HTTP to:
- Kod zapytania: Zawiera różne kody określające stan odpowiedzi serwera.
- Wersja HTTP do określenia wersji HTTP.
- Nagłówek odpowiedzi HTTP zawierający informacje o danych.
- Treść odpowiedzi HTTP, która zawiera reprezentację używanych zasobów.
Q # 7) Wyjaśnij termin „bezpaństwowość” w odniesieniu do usługi RESTful WEB.
Odpowiedź: W REST sam ST definiuje transfer stanów, a bezpaństwowość oznacza całkowitą izolację. Oznacza to, że stan aplikacji klienta nigdy nie jest zapisywany na serwerze i przekazywany dalej.
W tym procesie klienci wysyłają wszystkie informacje wymagane przez serwer do zrealizowania wysłanego żądania HTTP. W ten sposób każdy klient żąda, a odpowiedź jest niezależna od drugiego, z całkowitą pewnością dostarczenia wymaganych informacji.
Każdy klient przekazuje „identyfikator sesji”, który działa również jako identyfikator każdej sesji.
Pytanie 8) Wymień zalety i wady „bezpaństwowości”.
Odpowiedź: W powyższym pytaniu zrozumieliśmy znaczenie bezpaństwowości w komunikacji klient-serwer. Przyjrzyjmy się teraz niektórym jego zaletom i wadom.
Zalety:
- Każda metoda wymagana do komunikacji jest identyfikowana jako metoda niezależna, tj. Nie ma zależności od innych metod.
- Jakakolwiek wcześniejsza komunikacja z klientem i serwerem nie jest utrzymywana, przez co cały proces jest bardzo uproszczony.
- Jeśli jakiekolwiek informacje lub metadane użyte wcześniej są wymagane w innej metodzie, klient ponownie wysyła te informacje z żądaniem HTTP.
- Protokół HTTP i usługa internetowa REST mają wspólną cechę bezstanowości.
Niedogodności:
- W każdym żądaniu HTTP od klienta usługa sieciowa wymaga dostępności pewnych informacji o stanie klienta.
Pytanie 9) Wymień kilka ważnych ograniczeń dla usług sieciowych RESTful.
Odpowiedź: Każde ograniczenie ma zarówno pozytywny, jak i negatywny wpływ i aby stworzyć ogólną architekturę, należy zachować równowagę między nimi.
Poniżej wymieniono kilka ważnych ograniczeń dla usługi internetowej RESTful:
- Dla każdego serwera i klienta powinny istnieć osobne obawy, które pomogą zachować modułowość w aplikacji. Zmniejszy to również złożoność i zwiększy skalowalność.
- Komunikacja klient-serwer powinna być bezstanowa, co oznacza, że nie są używane żadne poprzednie informacje, a pełne wykonanie jest wykonywane w izolacji. W przypadku awarii pomaga również klientowi odzyskać.
- W komunikacji klient-serwer odpowiedź HTTP powinna być buforowana, aby w razie potrzeby można było użyć kopii buforowanej, co z kolei zwiększa skalowalność i wydajność serwera.
- Czwartym ograniczeniem jest jednolity interfejs, który umożliwia łatwe zrozumienie interakcji klient-serwer. To ograniczenie jest dalej podzielone na cztery ograniczenia podrzędne, takie jak:
- Identyfikacja zasobów
- Manipulacja zasobami
- Każda wiadomość jest łatwa do zrozumienia i samoopisowa.
- Hipermedia, która jest zdefiniowana jako tekst z hiperłączami i po kliknięciu przenosi do innego stanu aplikacji.
- Komunikacja klient-serwer powinna odbywać się w systemie warstwowym, dlatego klient powinien mieć wiedzę tylko o poziomie pośrednim, z którym się komunikuje,
P # 10) Co to jest „Zasób”?
Odpowiedź: Podobnie jak instancja „Object”, której nauczyliśmy się w języku programowania Object Orient, w ten sam sposób „zasób” jest definiowany jako obiekt typu, który może być obrazem, plikiem HTML, danymi tekstowymi i dowolnym typem dane. Dostępne są różne formaty reprezentacji do reprezentowania zasobu.
Poniżej wymieniono niektóre najpopularniejsze zasoby:
- JSON
- YAML
- XML
- HTML
P # 11) Dlaczego wymagana jest właściwa reprezentacja zasobów?
Odpowiedź: Reprezentacja jest bardzo ważna, ponieważ decyduje o łatwej identyfikacji zasobów. Dzięki odpowiedniej reprezentacji zasobu w odpowiednim formacie, umożliwia klientowi łatwe zrozumienie formatu.
Pytanie 12) Wymień kilka ważnych punktów, o których należy pamiętać podczas projektowania reprezentacji zasobów dla usług sieciowych RESTful.
Odpowiedź: Ponieważ nie ma ograniczeń co do formatu, w którym reprezentacja zasobów jest wykonywana, ale głównym wymaganiem jest format reprezentacji powinien być zgodny z wymaganiami klienta.
Dobrą reprezentację zasobów projektuje się, biorąc pod uwagę następujące główne punkty:
- Format reprezentacji zasobów powinien być łatwo zrozumiały dla klienta i serwera.
- Reprezentacja powinna być kompletna niezależnie od struktury formatu, która może być złożona lub prosta.
- W przypadku powiązania zasobów z innymi zasobami, takie przypadki również należy rozważyć i załatwić.
P # 13) Co to jest buforowanie?
Odpowiedź: Buforowanie to proces, w którym odpowiedź serwera jest przechowywana, aby kopia z pamięci podręcznej mogła być używana w razie potrzeby i nie ma potrzeby ponownego generowania tej samej odpowiedzi. Ten proces nie tylko zmniejsza obciążenie serwera, ale z kolei zwiększa skalowalność i wydajność serwera. Tylko klient jest w stanie buforować odpowiedź i to również przez ograniczony czas.
Poniżej wymieniono nagłówki zasobów i ich krótki opis, aby można je było zidentyfikować na potrzeby procesu buforowania:
- Godzina i data utworzenia zasobu
- Godzina i data modyfikacji zasobu, która zwykle przechowuje ostatnie szczegóły.
- Nagłówek Cache-Control
- Data i godzina wygaśnięcia zasobu pamięci podręcznej.
- Wiek, który określa czas od momentu pobrania zasobu.
Q # 14) Wyjaśnij nagłówek Cache-Control.
Odpowiedź: Standardowy nagłówek Cache-Control może pomóc w osiągnięciu zdolności pamięci podręcznej. Poniżej znajduje się krótki opis różnych nagłówków kontroli pamięci podręcznej:
- Publiczny: Zasoby oznaczone jako publiczne mogą być buforowane przez dowolne komponenty pośrednie między klientem a serwerem.
- Prywatny: Zasoby oznaczone jako prywatne mogą być buforowane tylko przez klienta.
- Brak pamięci podręcznej oznacza, że określonego zasobu nie można buforować, a tym samym cały proces jest zatrzymywany.
P # 15) Jakie są najlepsze praktyki, których należy przestrzegać podczas projektowania usług sieciowych RESTful?
Odpowiedź: Aby zaprojektować bezpieczną usługę internetową zgodną ze standardem REST, należy wziąć pod uwagę kilka sprawdzonych metod lub wskazać kwestie.
Są one wyjaśnione w następujący sposób:
- Każde wejście na serwerze powinno zostać sprawdzone.
- Dane wejściowe powinny być dobrze sformułowane.
- Nigdy nie przekazuj żadnych poufnych danych przez URL.
- Dla każdej sesji użytkownik powinien zostać uwierzytelniony.
- Do wskazywania błędów należy używać wyłącznie komunikatów o błędach HTTP.
- Użyj formatu wiadomości, który jest łatwo zrozumiały i wymagany przez klienta.
- Jednolity identyfikator zasobów powinien być opisowy i łatwy do zrozumienia.
P # 16) Co to jest ładunek?
Odpowiedź: Dane żądania, które są obecne w części treści każdego komunikatu HTTP, są nazywane „ładunkiem”. W Restful web service ładunek może być przekazany do odbiorcy tylko za pomocą metody POST.
Nie ma ograniczeń co do wysyłania danych jako ładunku metodą POST, ale jedyną obawą jest to, że więcej danych pochłonie więcej czasu i przepustowości. Może to również zająć dużo czasu użytkownika.
Q # 17) Wymień niektóre metody HTTP wraz z opisem.
Odpowiedź: Poniżej znajduje się lista metod HTTP wraz z ich opisami:
- OTRZYMAĆ: Jest to operacja tylko do odczytu, która pobiera listę użytkowników na serwerze.
- POŁOŻYĆ: Ta operacja służy do tworzenia dowolnego nowego zasobu na serwerze.
- POCZTA: Ta operacja służy do aktualizowania starego zasobu lub tworzenia nowego zasobu.
- KASOWAĆ: Jak sama nazwa wskazuje, operacja ta służy do usuwania dowolnego zasobu na serwerze.
- OPCJE: Ta operacja pobiera listę wszystkich obsługiwanych opcji zasobów, które są dostępne na serwerze.
P # 18) Jaka jest różnica między metodą PUT a metodą POST?
Odpowiedź: Główną różnicą między metodami PUT i POST jest to, że wynik generowany metodą PUT jest zawsze taki sam, niezależnie od tego, ile razy operacja jest wykonywana. Z drugiej strony wynik generowany przez operację POST jest za każdym razem inny.
P # 19) Co rozumiesz na temat JAX-RS?
Odpowiedź: JAX-RS jest zdefiniowany jako interfejs API języka Java dla usługi sieciowej RESTful. Spośród wielu bibliotek i frameworka, jest to uważane za najbardziej odpowiedni interfejs API oparty na języku programowania Java, który obsługuje usługę sieciową RESTful.
Niektóre z implementacji JAX-RS to:
- Golf
- RESTEasy
- Apache CFX
- Grać
Wśród nich najpopularniejszym frameworkiem jest Jersey.
P # 20) Co to są kody stanu HTTP? Zbierz kilku ze znaczeniem.
Odpowiedź: Kody statusu HTTP są w zasadzie reprezentacją stanu zadania, które zostało wykonane na serwerze, z trybem niektórych kodów. Każdy kod ma swoje znaczenie.
Oto niektóre kody stanu HTTP wraz z ich znaczeniem:
- Kod 200: To wskazuje na sukces.
- Kod 201: Oznacza to, że zasób został pomyślnie utworzony.
- Kod 204: Oznacza to, że w treści odpowiedzi nie ma treści.
- Kod 404: Oznacza to, że nie ma dostępnej metody.
Takich kodów wskazujących status jest jeszcze kilka.
Wniosek
Ten artykuł pomoże Ci przygotować się do rozmowy kwalifikacyjnej dotyczącej usług internetowych RESTful i w prosty i łatwy sposób zrozumieć koncepcję. Starałem się omówić wszystkie obszary, które są bardzo potrzebne do uzyskania pełnej wiedzy na temat usług internetowych RESTful.
Dalsze czytanie - Samouczek interfejsu Flask API
Pamiętaj tylko, że może się zdarzyć, że nie będziesz w stanie odpowiedzieć na wszystkie pytania podczas rozmowy kwalifikacyjnej, ale każda odpowiedź powinna być dokładna. Twoja podstawowa koncepcja powinna być mocna, a poziom pewności siebie wysoki.
Wszystkiego najlepszego!!
rekomendowane lektury
- Niektóre trudne pytania i odpowiedzi do testowania ręcznego
- Ponad 20 pytań i odpowiedzi do wywiadów .NET
- 20 najpopularniejszych pytań i odpowiedzi do wywiadów TestNG
- 20 najważniejszych pytań i odpowiedzi do wywiadów dotyczących testowania API
- ETL Pytania i odpowiedzi podczas rozmowy kwalifikacyjnej testującej
- 20 najnowszych pytań i odpowiedzi do wywiadów DevOps na 2021 rok
- 20 pytań i odpowiedzi do wywiadów z najlepszymi analitykami biznesowymi (LISTA 2021)
- 20 najczęściej zadawanych pytań i odpowiedzi dotyczących usług internetowych RESTful
- 45 najczęściej zadawanych pytań i odpowiedzi dotyczących usług internetowych (RESTful, SOAP, pytania dotyczące bezpieczeństwa)