top 20 restful web services interview question
Lijst met de meest gestelde vragen en antwoorden over RESTful-webservices tijdens het interview om u voor te bereiden op het aanstaande interview:
Webservices, een zeer bekende term als we het hebben over het uitwisselen van gegevens tussen meerdere applicaties of software. Op basis van het client-server-model kunnen deze services worden gebruikt door meerdere softwaretoepassingen die in verschillende talen zijn geschreven en het heeft ook het voordeel dat ze op verschillende platforms worden uitgevoerd.
Evenzo is REST, Representational State Transfer ook gebaseerd op stateless client-server-stijlarchitectuur, die gemakkelijk toegankelijk is via het netwerk en wordt geïdentificeerd door URI's, d.w.z. Uniform Resource Identifier.
Het belangrijkste doel van het beschrijven van de definitie van webservices en REST hierboven is om u te helpen bij het vinden van een relatie met de term RESTful webservices ' omdat RESTful-webservices worden gedefinieerd als webservices die de HTTP-methode gebruiken en zijn gebaseerd op de architectuur van REST. Het heeft handige functies zoals hoge schaalbaarheid en onderhoudbaarheid, het maken van API's, enz.
Meer informatie = >> Flask Restful API
In dit artikel vindt u de verzameling vragen en antwoorden waarmee u uw basisprincipes kunt verduidelijken en een beter begrip van het onderwerp kunt ontwikkelen.
Lees ook:
Lijst met RESTful Web Services-vraag
Laten we beginnen.
V # 1) Wat is uw begrip van wat RESTful-webservices zijn?
Antwoord: Net als SOAP (Simple Object Access Protocol), dat wordt gebruikt om webservices te ontwikkelen met de XML-methode, gebruiken RESTful-webservices een webprotocol, d.w.z. de HTTP-protocolmethode. Ze hebben de functie zoals schaalbaarheid, onderhoudbaarheid, helpen bij communicatie met meerdere applicaties gebouwd op verschillende programmeertalen, enz.
De implementatie van de RESTful-webservice definieert de methode om toegang te krijgen tot verschillende bronnen die de client nodig heeft en hij heeft het verzoek via de webbrowser naar de server gestuurd.
De belangrijkste aspecten van deze implementatie zijn:
- Middelen
- Headers aanvragen
- Aanvraaginstantie
- Antwoordgedeelte
- Statuscodes
Q # 2) Noem het protocol dat wordt gebruikt door RESTful-webservices.
Antwoord: RESTful-webservices gebruiken een beroemd webprotocol, d.w.z. HTTP-protocol. Dit dient als medium voor datacommunicatie tussen client en server. HTTP-standaardmethoden worden gebruikt om toegang te krijgen tot bronnen in de RESTful-webservice-architectuur.
V # 3) Leg de term ‘Adressering’ uit met betrekking tot RESTful WEB-service.
Antwoord: Net zoals we een adres met postcode nodig hebben om een persoon te bereiken, op dezelfde manier lokaliseert ‘Adressering’ bronnen die aanwezig zijn op de server voor het hosten van webservices. Dit wordt meestal gedaan met URI, d.w.z. Unified Resource Identifier.
V # 4) Maak gebruik van functies van RESTful-webservices.
Antwoord: Elke RESTful-webservice moet de volgende functies en kenmerken hebben die hieronder worden vermeld:
- Gebaseerd op de client-server-weergave.
- Gebruik van HTTP-protocol voor het uitvoeren van functies zoals het ophalen van gegevens van de webservice, het ophalen van bronnen, het uitvoeren van een query, enz.
- De communicatie tussen de server en de client wordt uitgevoerd via het medium dat bekend staat als ‘messaging’.
- Adressering van bronnen die beschikbaar zijn op de server via URI's.
- Gebaseerd op het concept van staatloosheid, waarbij elk verzoek van de klant en het antwoord onafhankelijk is van de ander met volledige zekerheid dat de vereiste informatie wordt verstrekt.
- Maakt gebruik van het concept van caching.
- Werkt op de Uniform-interface.
Vraag 5) Leg de berichtentechniek uit.
Antwoord: Berichten zijn de manier om gegevens uit te wisselen voor elk type communicatie dat kan plaatsvinden. Op dezelfde manier speelt het HTTP-protocol de rol van berichtcommunicatie tussen de client en de server via HTTP-verzoek- en antwoordmethoden. HTTP-verzoek wordt verzonden door de client die informatie over de gegevens bevat en op zijn beurt HTTP-respons van de server ontvangt.
Berichten zijn het verzamelen van informatie over de gegevens, d.w.z. metadata.
V # 6) Wat zijn de kerncomponenten van het HTTP-verzoek en de HTTP-reactie?
Antwoord: De kerncomponenten onder HTTP-verzoek zijn:
- Werkwoord: Bevat methoden zoals GET, PUT, POST, etc.
- Uniform Resource Identifier voor het identificeren van de bronnen die op de server beschikbaar zijn.
- HTTP-versie voor het specificeren van de HTTP-versie.
- HTTP-verzoekheader voor het bevatten van de informatie over de gegevens.
- HTTP-aanvraagtekst die de weergave van de gebruikte bronnen bevat.
De kerncomponenten onder HTTP-respons zijn:
- Verzoek code: Dit bevat verschillende codes die de status van de serverreactie bepalen.
- HTTP-versie voor het specificeren van de HTTP-versie.
- HTTP-antwoordheader voor het bevatten van de informatie over de gegevens.
- HTTP-antwoordtekst die de weergave van de gebruikte bronnen bevat.
V # 7) Leg de term ‘Staatloosheid’ uit met betrekking tot RESTful WEB-service.
Antwoord: In REST definieert ST zelf staatsoverdracht en staatloosheid betekent volledige isolatie. Dit betekent dat de status van de applicatie van de client nooit op de server wordt opgeslagen en wordt doorgegeven.
In dit proces verzenden de clients alle informatie die nodig is om de server te laten voldoen aan het HTTP-verzoek dat is verzonden. Dus elke klant vraagt en het antwoord is onafhankelijk van de andere met volledige zekerheid dat de vereiste informatie wordt verstrekt.
Elke klant geeft een ‘sessie-ID’ door die ook als identificatie voor elke sessie fungeert.
Vraag 8) Benoem de voor- en nadelen van ‘staatloosheid’.
Antwoord: In de bovenstaande vraag hebben we de betekenis van staatloosheid begrepen met betrekking tot client-server-communicatie. Laten we nu eens kijken naar enkele van de voor- en nadelen ervan.
Voordelen:
- Elke methode die nodig is voor communicatie wordt geïdentificeerd als een onafhankelijke methode, d.w.z. er zijn geen afhankelijkheden van andere methoden.
- Alle eerdere communicatie met de client en de server wordt niet onderhouden en dus wordt het hele proces sterk vereenvoudigd.
- Als eerder gebruikte informatie of metagegevens vereist zijn in een andere methode, dan verzendt de client die informatie opnieuw met het HTTP-verzoek.
- Het HTTP-protocol en de REST-webservice delen beide het kenmerk van staatloosheid.
Nadelen:
- Bij elk HTTP-verzoek van de client is de beschikbaarheid van bepaalde informatie over de clientstatus vereist door de webservice.
Q # 9) Stel een aantal belangrijke beperkingen op voor RESTful-webservices.
beste gratis pc-cleaner en optimizer
Antwoord: Elke beperking heeft zowel positieve als negatieve gevolgen en om een algehele architectuur te produceren, moet er een evenwicht zijn tussen beide.
Hieronder staan enkele belangrijke beperkingen voor RESTful webservice:
- Er moeten voor elke server en client afzonderlijke zorgen zijn die zullen helpen om de modulariteit binnen de applicatie te behouden. Dit vermindert ook de complexiteit en vergroot de schaalbaarheid.
- De client-server-communicatie moet staatloos zijn, wat betekent dat er geen eerdere informatie wordt gebruikt en dat de volledige uitvoering afzonderlijk wordt uitgevoerd. Bij uitval helpt het de cliënt ook om te herstellen.
- Bij client-server-communicatie moet de HTTP-respons cacheerbaar zijn, zodat wanneer nodig een kopie in de cache kan worden gebruikt, wat op zijn beurt de schaalbaarheid en prestaties van de server verbetert.
- De vierde beperking is de uniforme interface waarmee de interactie tussen client en server gemakkelijk kan worden begrepen. Deze beperking is verder onderverdeeld in vier subbeperkingen, namelijk:
- Identificatie van hulpbronnen
- Manipulatie van hulpbronnen
- Elk bericht is gemakkelijk te begrijpen en beschrijft zichzelf.
- Hypermedia, die wordt gedefinieerd als de tekst met hyperlinks en wanneer erop wordt geklikt, wordt deze naar een andere toepassingsstatus verplaatst.
- Client-server-communicatie moet plaatsvinden op een gelaagd systeem en daarom moet de client alleen kennis hebben over het tussenliggende niveau waarmee communicatie wordt gedaan,
V # 10) Wat is een ‘bron’?
Antwoord: Net als de 'Object'-instantie hebben we geleerd in Object Orient Programming Language, op dezelfde manier wordt' Resource 'gedefinieerd als een object van een type dat een afbeelding, HTML-bestand, tekstgegevens en elk type dynamische gegevens. Er zijn verschillende weergaveformaten beschikbaar om een bron weer te geven.
Enkele meest voorkomende bronnen worden hieronder vermeld:
- JSON
- YAML
- XML
- HTML
V # 11) Waarom is een juiste weergave van de bron vereist?
Antwoord: Vertegenwoordiging is erg belangrijk omdat het de gemakkelijke identificatie van bronnen bepaalt. Met de juiste weergave van de bron in het juiste formaat, kan de klant het formaat gemakkelijk begrijpen.
V # 12) Noem enkele belangrijke punten die in gedachten moeten worden gehouden bij het ontwerpen van de representatie van bronnen voor RESTful-webservices.
Antwoord: Omdat er geen beperkingen zijn aan het formaat waarin de bronweergave wordt gedaan, maar alleen dat de belangrijkste vereiste is dat de indeling van de weergave overeenkomt met de vereisten van de klant.
Een goede representatie van bronnen wordt ontworpen door de volgende hoofdpunten in overweging te nemen:
- Het resourcevoorbeeldformaat moet gemakkelijk worden begrepen door de client en server.
- De weergave moet volledig zijn, ongeacht de formaatstructuur, die complex of eenvoudig kan zijn.
- In het geval van de koppeling van de middelen aan andere middelen, moeten dergelijke gevallen ook worden overwogen en afgehandeld.
V # 13) Wat is caching?
Antwoord: Caching is het proces waarin de serverreactie wordt opgeslagen, zodat een kopie in de cache kan worden gebruikt wanneer dat nodig is en het niet nodig is om dezelfde reactie opnieuw te genereren. Dit proces vermindert niet alleen de serverbelasting, maar verhoogt op zijn beurt de schaalbaarheid en prestaties van de server. Alleen de klant kan het antwoord in het cachegeheugen opslaan en dat ook voor een beperkte periode.
Hieronder wordt de koptekst van de bronnen en hun korte beschrijving genoemd, zodat ze kunnen worden geïdentificeerd voor het cacheproces:
- Tijd en datum van het maken van bronnen
- Tijd en datum van wijziging van de bron waarin meestal het laatste detail wordt opgeslagen.
- Cache-control header
- Tijd en datum waarop de bron in de cache verloopt.
- De leeftijd die de tijd bepaalt vanaf het moment dat de bron is opgehaald.
Vraag 14) Leg de koptekst voor cachecontrole uit.
Antwoord: Een standaard Cache-control-header kan helpen bij het verkrijgen van cachemogelijkheden. Hieronder staat de korte beschrijving van de verschillende cache-control header:
- Openbaar: Bronnen die als publiek zijn gemarkeerd, kunnen door alle tussenliggende componenten tussen de client en de server in de cache worden opgeslagen.
- Privaat: Bronnen die als privé zijn gemarkeerd, kunnen alleen door de client in de cache worden opgeslagen.
- Geen cache betekent dat een bepaalde bron niet in de cache kan worden opgeslagen en dus wordt het hele proces gestopt.
V # 15) Wat zijn de best practices die moeten worden gevolgd bij het ontwerpen van RESTful-webservices?
Antwoord: Om een veilige RESTful-webservice te ontwerpen, zijn er enkele best practices of punten waarmee u rekening moet houden.
extraheer e-mailadressen van website gratis
Deze worden als volgt uitgelegd:
- Elke invoer op de server moet worden gevalideerd.
- Input moet goed gevormd zijn.
- Geef nooit gevoelige gegevens door via URL.
- Voor elke sessie moet de gebruiker worden geverifieerd.
- Alleen HTTP-foutmeldingen mogen worden gebruikt om een fout aan te geven.
- Gebruik een berichtformaat dat gemakkelijk te begrijpen is en vereist is door de klant.
- Unified Resource Identifier moet beschrijvend en gemakkelijk te begrijpen zijn.
V # 16) Wat is Payload?
Antwoord: De verzoekgegevens die aanwezig zijn in het hoofdgedeelte van elk HTTP-bericht, worden ‘Payload’ genoemd. In de Restful-webservice kan de payload alleen via de POST-methode aan de ontvanger worden doorgegeven.
Er is geen limiet voor het verzenden van gegevens als payload via de POST-methode, maar de enige zorg is dat meer gegevens meer tijd en bandbreedte in beslag nemen. Dit kan ook een groot deel van de tijd van de gebruiker in beslag nemen.
V # 17) Roep enkele van de HTTP-methoden op met een beschrijving.
Antwoord: Hieronder staat de lijst met HTTP-methoden met hun beschrijvingen:
- KRIJGEN: Dit is een alleen-lezen bewerking waarmee de lijst met gebruikers op de server wordt opgehaald.
- ZETTEN: Deze bewerking wordt gebruikt voor het maken van een nieuwe bron op de server.
- POST: Deze bewerking wordt gebruikt om een oude bron bij te werken of om een nieuwe bron te maken.
- VERWIJDEREN: Zoals de naam doet vermoeden, wordt deze bewerking gebruikt om een bron op de server te verwijderen.
- OPTIES: Deze bewerking haalt de lijst op van alle ondersteunde opties van bronnen die beschikbaar zijn op de server.
V # 18) Wat is het verschil tussen de PUT-methode en de POST-methode?
Antwoord: Het belangrijkste verschil tussen de PUT- en POST-methode is dat het resultaat dat wordt gegenereerd met de PUT-methode altijd hetzelfde is, ongeacht hoe vaak de bewerking wordt uitgevoerd. Aan de andere kant is het resultaat dat wordt gegenereerd door de POST-bewerking altijd elke keer anders.
V # 19) Wat is uw begrip over JAX-RS?
Antwoord: JAX-RS wordt gedefinieerd als de Java API voor RESTful-webservice. Onder meerdere bibliotheken en frameworks wordt dit beschouwd als de meest geschikte op Java-programmeertaal gebaseerde API die RESTful-webservice ondersteunt.
Enkele van de implementaties van JAX-RS zijn:
- Jersey
- RESTEasy
- Apache CFX
- Speel
Onder deze is Jersey het meest populaire raamwerk.
V # 20) Wat zijn HTTP-statuscodes? Roep weinigen in met betekenis.
Antwoord: HTTP-statuscodes zijn in feite de weergave van de status van de taak die op de server is uitgevoerd, met de modus van sommige codes. Elke code heeft zijn eigen betekenis.
Enkele van de HTTP-statuscodes met hun betekenis zijn als volgt:
- Code 200: Dit duidt op succes.
- Code 201: Dit geeft aan dat de bron met succes is gemaakt.
- Code 204: Dit geeft aan dat er geen inhoud in de antwoordtekst staat.
- Code 404: Dit geeft aan dat er geen methode beschikbaar is.
Er zijn nog een paar van dergelijke codes die de status aangeven.
Gevolgtrekking
Dit artikel helpt je bij de voorbereiding op het RESTful webservices-interview en helpt je het concept op een eenvoudige en gemakkelijke manier te begrijpen. Ik heb geprobeerd alle gebieden te behandelen die zeer noodzakelijk zijn om volledige kennis over RESTful Web-services te hebben.
Verder lezen - Flask API-zelfstudie
Onthoud gewoon dat het mogelijk is dat u niet alle vragen in het interview kunt beantwoorden, maar dat wat u ook beantwoordt, juist moet zijn. Je basisconcept moet sterk zijn en je zelfvertrouwen moet hoog zijn.
Al het beste!!
Aanbevolen literatuur
- Enkele lastige vragen en antwoorden voor handmatig testen
- Top 20+ .NET interviewvragen en antwoorden
- 20 meest populaire TestNG interviewvragen en antwoorden
- Top 20 belangrijkste API-testvragen en antwoorden op sollicitatiegesprekken
- Vragen en antwoorden over ETL-tests
- Top 20 nieuwste DevOps-interviewvragen en antwoorden voor 2021
- 20 Interviewvragen en antwoorden voor topanalisten (2021 LIST)
- Top 20 RESTful Web Services interviewvragen en antwoorden
- Top 45 vragen en antwoorden voor webservices tijdens sollicitatiegesprekken (RESTful, SOAP, beveiligingsvragen)