top 20 restful web services interview question
Liste der am häufigsten gestellten Fragen und Antworten zu RESTful Web Services-Vorstellungsgesprächen zur Vorbereitung auf das bevorstehende Interview:
Webdienste, ein sehr bekannter Begriff, wenn wir über den Austausch von Daten zwischen mehreren Anwendungen oder Software sprechen. Basierend auf dem Client-Server-Modell können diese Dienste von mehreren Softwareanwendungen verwendet werden, die in verschiedenen Sprachen geschrieben sind, und sie haben auch den Vorteil, dass sie auf verschiedenen Plattformen ausgeführt werden können.
Ebenso basiert REST, Representational State Transfer, auf einer zustandslosen Client-Server-Architektur, auf die über das Netzwerk leicht zugegriffen werden kann und die durch URIs, d. H. Uniform Resource Identifier, identifiziert wird.
Das Hauptziel der Beschreibung der Definition von Webdiensten sowie von REST oben ist es, Ihnen dabei zu helfen, sich auf den Begriff zu beziehen ' RESTful-Webdienste “ weil RESTful-Webdienste als Webdienste definiert sind, die die HTTP-Methode verwenden und auf der Architektur von REST basieren. Es verfügt über nützliche Funktionen wie hohe Skalierbarkeit und Wartbarkeit, die Erstellung von APIs usw.
Erfahren Sie mehr = >> Flask Restful API
In diesem Artikel finden Sie eine Sammlung von Fragen und Antworten, die Ihre Grundlagen verdeutlichen und zu einem besseren Verständnis des Themas beitragen.
Lesen Sie auch:
Liste der Fragen zu RESTful Web Services
Lasst uns beginnen.
F # 1) Wie verstehen Sie RESTful-Webdienste?
Antworten: Genau wie SOAP (Simple Object Access Protocol), das zum Entwickeln von Webdiensten nach der XML-Methode verwendet wird, verwenden RESTful-Webdienste das Webprotokoll, d. H. Die HTTP-Protokollmethode. Sie verfügen über Funktionen wie Skalierbarkeit, Wartbarkeit, Unterstützung der Kommunikation mehrerer Anwendungen, die auf verschiedenen Programmiersprachen basieren, usw.
Die Implementierung eines RESTful-Webdienstes definiert die Methode für den Zugriff auf verschiedene Ressourcen, die vom Client benötigt werden, und er hat die Anforderung über den Webbrowser an den Server gesendet.
Die wichtigen Aspekte dieser Implementierung umfassen:
- Ressourcen
- Header anfordern
- Text anfordern
- Antwortkörper
- Statuscodes
F # 2) Nennen Sie das Protokoll, das von RESTful-Webdiensten verwendet wird.
Antworten: RESTful-Webdienste verwenden ein bekanntes Webprotokoll, d. H. Ein HTTP-Protokoll. Dies dient als Medium der Datenkommunikation zwischen Client und Server. HTTP-Standardmethoden werden verwendet, um auf Ressourcen in der RESTful-Webdienstarchitektur zuzugreifen.
F # 3) Erläutern Sie den Begriff 'Adressierung' in Bezug auf den RESTful WEB-Service.
Antworten: Genauso wie wir eine Adresse mit Postleitzahl benötigen, um eine Person zu erreichen, findet 'Adressierung' auch Ressourcen, die auf dem Server vorhanden sind, um Webdienste zu hosten. Dies erfolgt normalerweise mit URI, d. H. Unified Resource Identifier.
F # 4) Tragen Sie Funktionen von RESTful-Webdiensten ein.
Antworten: Jeder RESTful-Webdienst sollte die folgenden Funktionen und Merkmale aufweisen, die nachstehend aufgeführt sind:
- Basierend auf der Client-Server-Darstellung.
- Verwendung des HTTP-Protokolls zum Ausführen von Funktionen wie Abrufen von Daten vom Webdienst, Abrufen von Ressourcen, Ausführen von Abfragen usw.
- Die Kommunikation zwischen Server und Client erfolgt über das als 'Messaging' bezeichnete Medium.
- Adressierung der auf dem Server verfügbaren Ressourcen über URIs.
- Basierend auf dem Konzept der Staatenlosigkeit, bei dem jede Kundenanfrage und die Antwort unabhängig von der anderen ist und die vollständige Gewissheit hat, die erforderlichen Informationen bereitzustellen.
- Verwendet das Konzept des Caching.
- Funktioniert auf der Uniform-Oberfläche.
F # 5) Erklären Sie die Messaging-Technik.
Antworten: Nachrichten sind die Art des Datenaustauschs für jede Art von Kommunikation. Ebenso spielt das HTTP-Protokoll die Rolle der Nachrichtenkommunikation zwischen Client und Server über HTTP-Anforderungs- und Antwortmethoden. Die HTTP-Anforderung wird vom Client gesendet, der Informationen zu den Daten enthält und wiederum die HTTP-Antwort vom Server empfängt.
Nachrichten sind die Sammlung von Informationen über die Daten, d. H. Metadaten.
F # 6) Was sind die Kernkomponenten der HTTP-Anforderung und der HTTP-Antwort?
Antworten: Die Kernkomponenten unter HTTP-Anforderung sind:
- Verb: Beinhaltet Methoden wie GET, PUT, POST usw.
- Uniform Resource Identifier zur Identifizierung der auf dem Server verfügbaren Ressourcen.
- HTTP-Version zur Angabe der HTTP-Version.
- HTTP-Anforderungsheader zum Enthalten der Informationen zu den Daten.
- HTTP-Anforderungshauptteil, der die Darstellung der verwendeten Ressourcen enthält.
Die Kernkomponenten unter HTTP-Antwort sind:
- Anfrage Code: Dieser enthält verschiedene Codes, die den Status der Serverantwort bestimmen.
- HTTP-Version zur Angabe der HTTP-Version.
- HTTP-Antwortheader zum Enthalten der Informationen zu den Daten.
- HTTP-Antworttext, der die Darstellung der verwendeten Ressourcen enthält.
F # 7) Erläutern Sie den Begriff 'Staatenlosigkeit' in Bezug auf den RESTful WEB-Service.
Antworten: In REST definiert ST selbst State Transfer und Statelessness bedeutet vollständige Isolation. Dies bedeutet, dass der Status der Clientanwendung niemals auf dem Server gespeichert und weitergegeben wird.
In diesem Prozess senden die Clients alle Informationen, die der Server benötigt, um die gesendete HTTP-Anforderung zu erfüllen. Somit ist jede Kundenanfrage und die Antwort unabhängig von der anderen mit der vollständigen Gewissheit, die erforderlichen Informationen bereitzustellen.
Jeder Client übergibt eine 'Sitzungskennung', die auch als Kennung für jede Sitzung fungiert.
F # 8) Nennen Sie die Vor- und Nachteile von „Staatenlosigkeit“.
Antworten: In der obigen Frage haben wir die Bedeutung von Staatenlosigkeit in Bezug auf die Client-Server-Kommunikation verstanden. Lassen Sie uns nun einige seiner Vor- und Nachteile sehen.
Vorteile:
- Jede für die Kommunikation erforderliche Methode wird als unabhängige Methode identifiziert, d. H. Es gibt keine Abhängigkeiten zu anderen Methoden.
- Eine frühere Kommunikation mit dem Client und dem Server wird nicht aufrechterhalten, und daher wird der gesamte Prozess erheblich vereinfacht.
- Wenn Informationen oder Metadaten, die zuvor in einer anderen Methode verwendet wurden, erforderlich sind, sendet der Client diese Informationen erneut mit der HTTP-Anforderung.
- Das HTTP-Protokoll und der REST-Webdienst teilen beide das Merkmal der Staatenlosigkeit.
Nachteile:
- Bei jeder HTTP-Anforderung vom Client muss der Webdienst einige Informationen zum Clientstatus verfügbar machen.
F # 9) Tragen Sie einige wichtige Einschränkungen für RESTful-Webdienste ein.
Antworten: Jede Einschränkung hat sowohl positive als auch negative Auswirkungen. Um eine Gesamtarchitektur zu erstellen, sollte ein Gleichgewicht zwischen beiden bestehen.
Im Folgenden sind einige wichtige Einschränkungen für den RESTful-Webdienst aufgeführt:
- Für jeden Server und Client sollten separate Bedenken bestehen, die dazu beitragen, die Modularität innerhalb der Anwendung aufrechtzuerhalten. Dies verringert auch die Komplexität und erhöht die Skalierbarkeit.
- Die Client-Server-Kommunikation sollte zustandslos sein. Dies bedeutet, dass keine vorherigen Informationen verwendet werden und die vollständige Ausführung isoliert erfolgt. Im Fehlerfall hilft es dem Client auch bei der Wiederherstellung.
- Bei der Client-Server-Kommunikation sollte die HTTP-Antwort zwischengespeichert werden können, damit bei Bedarf eine zwischengespeicherte Kopie verwendet werden kann, was wiederum die Skalierbarkeit und Leistung des Servers verbessert.
- Die vierte Einschränkung ist die einheitliche Schnittstelle, über die die Client-Server-Interaktion leicht verständlich ist. Diese Einschränkung ist weiter in vier Unterbedingungen unterteilt:
- Ressourcenidentifikation
- Ressourcenmanipulation
- Jede Nachricht ist leicht verständlich und selbstbeschreibend.
- Hypermedia, das als Text mit Hyperlinks definiert ist und beim Klicken in einen anderen Anwendungsstatus verschoben wird.
- Die Client-Server-Kommunikation sollte auf einem Schichtsystem erfolgen, und daher sollte der Client nur Kenntnisse über die Zwischenebene haben, mit der die Kommunikation durchgeführt wird.
F # 10) Was ist eine Ressource?
Antworten: Genau wie die Instanz 'Object', die wir in der Programmiersprache Object Orient gelernt haben, wird 'Resource' auf die gleiche Weise als ein Objekt eines Typs definiert, der ein Bild, eine HTML-Datei, Textdaten und jede Art von Dynamik sein kann Daten. Es stehen verschiedene Darstellungsformate zur Verfügung, um eine Ressource darzustellen.
Einige der am häufigsten verwendeten Ressourcen sind unten aufgeführt:
- JSON
- YAML
- XML
- HTML
F # 11) Warum ist eine ordnungsgemäße Darstellung der Ressource erforderlich?
Antworten: Die Darstellung ist sehr wichtig, da sie die einfache Identifizierung von Ressourcen bestimmt. Mit der richtigen Darstellung der Ressource im richtigen Format kann der Client das Format leicht verstehen.
F # 12) Tragen Sie einige wichtige Punkte ein, die beim Entwerfen der Ressourcendarstellung für RESTful-Webdienste berücksichtigt werden sollten.
Antworten: Da es keine Einschränkungen für das Format gibt, in dem die Ressourcendarstellung durchgeführt wird, sondern nur, dass die Hauptanforderung das Format der Darstellung ist, sollte es den Clientanforderungen entsprechen.
Eine gute Ressourcendarstellung wird unter Berücksichtigung der folgenden Hauptpunkte entworfen:
- Das Format der Ressourcendarstellung sollte für Client und Server leicht verständlich sein.
- Die Darstellung sollte unabhängig von ihrer Formatstruktur vollständig sein, die komplex oder einfach sein kann.
- Im Falle der Verknüpfung der Ressourcen mit anderen Ressourcen sollten solche Fälle ebenfalls berücksichtigt und behandelt werden.
F # 13) Was ist Caching?
Antworten: Caching ist der Prozess, bei dem die Serverantwort gespeichert wird, sodass bei Bedarf eine zwischengespeicherte Kopie verwendet werden kann und nicht erneut dieselbe Antwort generiert werden muss. Dieser Prozess reduziert nicht nur die Serverlast, sondern erhöht auch die Skalierbarkeit und Leistung des Servers. Nur der Client kann die Antwort für einen begrenzten Zeitraum zwischenspeichern.
Im Folgenden werden der Header der Ressourcen und ihre kurze Beschreibung aufgeführt, damit sie für den Caching-Prozess identifiziert werden können:
- Uhrzeit und Datum der Ressourcenerstellung
- Uhrzeit und Datum der Ressourcenänderung, in der normalerweise das letzte Detail gespeichert wird.
- Cache-Control-Header
- Uhrzeit und Datum, an dem die zwischengespeicherte Ressource abläuft.
- Das Alter, das den Zeitpunkt bestimmt, ab dem die Ressource abgerufen wurde.
F # 14) Erläutern Sie den Cache-Steuerungsheader.
Antworten: Ein Standard-Cache-Steuerungsheader kann dabei helfen, die Cache-Fähigkeit zu erreichen. Nachfolgend finden Sie eine kurze Beschreibung der verschiedenen Cache-Steuerungs-Header:
- Öffentlichkeit: Ressourcen, die als öffentlich markiert sind, können von beliebigen Zwischenkomponenten zwischen dem Client und dem Server zwischengespeichert werden.
- Privat: Ressourcen, die als privat markiert sind, können nur vom Client zwischengespeichert werden.
- Kein Cache bedeutet, dass eine bestimmte Ressource nicht zwischengespeichert werden kann und somit der gesamte Prozess gestoppt wird.
F # 15) Welche Best Practices sind beim Entwerfen von RESTful-Webdiensten zu beachten?
Antworten: Um einen sicheren RESTful-Webdienst zu entwerfen, sollten einige bewährte Methoden oder Punkte berücksichtigt werden.
Diese werden wie folgt erklärt:
- Jede Eingabe auf dem Server sollte validiert werden.
- Die Eingabe sollte wohlgeformt sein.
- Geben Sie niemals vertrauliche Daten über eine URL weiter.
- Für jede Sitzung sollte der Benutzer authentifiziert sein.
- Es sollten nur HTTP-Fehlermeldungen verwendet werden, um einen Fehler anzuzeigen.
- Verwenden Sie ein Nachrichtenformat, das leicht verständlich ist und vom Client benötigt wird.
- Unified Resource Identifier sollte beschreibend und leicht verständlich sein.
F # 16) Was ist Nutzlast?
Antworten: Die Anforderungsdaten, die im Hauptteil jeder HTTP-Nachricht vorhanden sind, werden als 'Payload' bezeichnet. Im Restful-Webdienst können die Nutzdaten nur über die POST-Methode an den Empfänger übergeben werden.
Das Senden von Daten als Nutzdaten über die POST-Methode ist unbegrenzt. Die einzige Sorge besteht darin, dass mehr Daten mehr Zeit und Bandbreite verbrauchen. Dies kann auch viel Zeit des Benutzers in Anspruch nehmen.
F # 17) Tragen Sie einige der HTTP-Methoden mit Beschreibung ein.
Antwort: Nachfolgend finden Sie eine Liste der HTTP-Methoden mit ihren Beschreibungen:
- ERHALTEN: Dies ist eine schreibgeschützte Operation, mit der die Liste der Benutzer auf dem Server abgerufen wird.
- STELLEN: Diese Operation wird zum Erstellen einer neuen Ressource auf dem Server verwendet.
- POST: Dieser Vorgang wird zum Aktualisieren einer alten Ressource oder zum Erstellen einer neuen Ressource verwendet.
- LÖSCHEN: Wie der Name schon sagt, wird dieser Vorgang zum Löschen von Ressourcen auf dem Server verwendet.
- OPTIONEN: Dieser Vorgang ruft die Liste aller unterstützten Optionen von Ressourcen ab, die auf dem Server verfügbar sind.
F # 18) Was ist der Unterschied zwischen der PUT-Methode und der POST-Methode?
Antworten: Der Hauptunterschied zwischen der PUT- und der POST-Methode besteht darin, dass das mit der PUT-Methode generierte Ergebnis immer das gleiche ist, unabhängig davon, wie oft die Operation ausgeführt wird. Andererseits ist das durch die POST-Operation erzeugte Ergebnis jedes Mal anders.
F # 19) Wie verstehen Sie JAX-RS?
Antworten: JAX-RS ist als Java-API für den RESTful-Webdienst definiert. Unter mehreren Bibliotheken und Frameworks wird dies als die am besten geeignete API auf Basis der Java-Programmiersprache angesehen, die den RESTful-Webdienst unterstützt.
Einige der Implementierungen von JAX-RS sind:
- Jersey
- Ruhig schlafen
- Apache CFX
- abspielen
Unter diesen ist Jersey das beliebteste Framework.
F # 20) Was sind HTTP-Statuscodes? Tragen Sie nur wenige mit Bedeutung ein.
Antworten: HTTP-Statuscodes sind im Wesentlichen die Darstellung des Status der auf dem Server ausgeführten Aufgabe im Modus einiger Codes. Jeder Code hat seine eigene Bedeutung.
wie man Computer für Anfänger programmiert
Einige der HTTP-Statuscodes mit ihrer Bedeutung lauten wie folgt:
- Code 200: Dies zeigt Erfolg an.
- Code 201: Dies zeigt an, dass die Ressource erfolgreich erstellt wurde.
- Code 204: Dies zeigt an, dass der Antworttext keinen Inhalt enthält.
- Code 404: Dies zeigt an, dass keine Methode verfügbar ist.
Es gibt nur noch wenige solcher Codes, die den Status anzeigen.
Fazit
Dieser Artikel hilft Ihnen bei der Vorbereitung auf das RESTful-Webdienst-Interview und hilft Ihnen, das Konzept auf einfache und unkomplizierte Weise zu verstehen. Ich habe versucht, alle Bereiche abzudecken, die für ein umfassendes Wissen über RESTful-Webdienste sehr wichtig sind.
Weiterführende Literatur - Flask API Tutorial
Denken Sie daran, es ist möglich, dass Sie möglicherweise nicht alle Fragen im Interview beantworten können, aber was auch immer Sie beantworten, sollte korrekt sein. Ihr Grundkonzept sollte stark sein und Ihr Selbstvertrauen sollte hoch sein.
Alles Gute!!
Literatur-Empfehlungen
- Einige knifflige manuelle Testfragen und -antworten
- Top 20+ .NET Interview Fragen und Antworten
- 20 beliebtesten Fragen und Antworten zu TestNG-Interviews
- Top 20 der wichtigsten Fragen und Antworten zu API-Tests
- Fragen und Antworten zum ETL-Testinterview
- Top 20 der neuesten Fragen und Antworten zum DevOps-Interview für 2021
- 20 Fragen und Antworten zu Top Business Analyst-Interviews (2021 LIST)
- Top 20 RESTful Web Services Interview Fragen und Antworten
- Top 45 Fragen und Antworten zu Web Services-Interviews (RESTful-, SOAP- und Sicherheitsfragen)