top 20 restful web services interview question
Lista med de vanligaste RESTful-webbtjänsterna Intervjufrågor och svar som hjälper dig att förbereda dig för den kommande intervjun:
Webbtjänster, en mycket välkänd term när vi pratar om att utbyta någon form av data mellan flera applikationer eller säga programvara. Baserat på klientservermodellen kan dessa tjänster användas av flera mjukvaruapplikationer skrivna på olika språk och det har också fördelen att de körs på olika plattformar.
På samma sätt är REST, Representational State Transfer också baserad på statslös klient-server-stilarkitektur, som lätt kan nås via nätverket och identifieras av URI, dvs. Uniform Resource Identifier.
hur man läser en .bin-fil
Huvudsyftet med att beskriva definitionen av webbtjänster samt REST ovan är att hjälpa dig att relatera till termen '' RESTful webbtjänster eftersom RESTful webbtjänster definieras som webbtjänster som använder HTTP-metoden och är baserade på REST-arkitekturen. Den har användbara funktioner som hög skalbarhet och underhåll, skapande av API: er etc.
Läs mer = >> Flask Restful API
I den här artikeln hittar du en samling frågor och svar som rensar dina grunder och hjälper till att utveckla en bättre förståelse för ämnet.
Läs också:
Lista över RESTful webbtjänstfråga
Låt oss börja.
F # 1) Vad är din förståelse för vad som är RESTful webbtjänster?
Svar: Precis som SOAP (Simple Object Access Protocol), som används för att utveckla webbtjänster med XML-metoden, använder RESTful webbtjänster webbprotokoll, dvs. HTTP-protokollmetod. De har funktionen som skalbarhet, underhållsförmåga, hjälper kommunikation med flera applikationer byggda på olika programmeringsspråk etc.
RESTful implementering av webbtjänster definierar metoden för åtkomst till olika resurser som krävs av klienten och han har skickat begäran till servern via webbläsaren.
De viktiga aspekterna av detta genomförande inkluderar:
- Resurser
- Begär rubriker
- Begäran
- Svarskropp
- Statuskoder
F # 2) Namnge protokollet som används av RESTful webbtjänster.
Svar: RESTful webbtjänster använder ett känt webbprotokoll, dvs. HTTP-protokoll. Detta fungerar som ett medium för datakommunikation mellan klient och server. HTTP-standardmetoder används för att komma åt resurser i RESTful webbtjänstarkitektur.
F # 3) Förklara termen 'Adressering' med avseende på RESTful WEB-tjänst.
Svar: Precis som vi behöver en adress med postnummer för att nå vilken person som helst, på samma sätt, lokaliserar 'Addressing' resurser som finns på servern i syfte att vara värd för webbtjänster. Detta görs vanligtvis med URI, dvs Unified Resource Identifier.
F # 4) Anlita funktioner i RESTful webbtjänster.
Svar: Alla RESTful-webbtjänster bör ha följande funktioner och egenskaper som anges nedan:
- Baserat på klient-serverrepresentationen.
- Användning av HTTP-protokoll för att utföra funktioner som att hämta data från webbtjänsten, hämta resurser, körning av eventuella frågor etc.
- Kommunikationen mellan servern och klienten utförs via det medium som kallas 'messaging'.
- Adressering av tillgängliga resurser på servern via URI: er.
- Baserat på begreppet statslöshet där varje kundförfrågan och svaret är oberoende av den andra med fullständig säkerhet för att tillhandahålla nödvändig information.
- Använder begreppet cachning.
- Fungerar på Uniform-gränssnittet.
F # 5) Förklara meddelandeteknik.
Svar: Meddelanden är sättet att utbyta data för vilken typ av kommunikation som helst. På samma sätt spelar HTTP-protokoll rollen som meddelandekommunikation mellan klienten och servern via HTTP-begäran och svarsmetoder. HTTP-begäran skickas av klienten som innehåller information om data och i sin tur får HTTP-svar från servern.
Meddelanden är insamling av information om data, dvs. metadata.
F # 6) Vilka är de viktigaste komponenterna i HTTP-begäran och HTTP-svar?
Svar: Kärnkomponenterna under HTTP-begäran är:
- Verb: Inkluderar metoder som GET, PUT, POST, etc.
- Uniform Resource Identifier för att identifiera de tillgängliga resurserna på servern.
- HTTP-version för att specificera HTTP-versionen.
- HTTP-begäran-rubrik för att innehålla informationen om data.
- HTTP-förfrågan som innehåller representationen av de resurser som används.
Kärnkomponenterna under HTTP-svar är:
- Begär kod: Detta innehåller olika koder som bestämmer status för serversvar.
- HTTP-version för att specificera HTTP-versionen.
- HTTP-svarsrubrik för att innehålla informationen om data.
- HTTP-svarskropp som innehåller representationen av de resurser som används.
F # 7) Förklara termen 'Statelessness' med avseende på RESTful WEB-tjänst.
Svar: I REST definierar ST själv statlig överföring och statslöshet betyder fullständig isolering. Detta innebär att tillståndet för klientens applikation aldrig lagras på servern och vidarebefordras.
I den här processen skickar klienterna all information som krävs för att servern ska uppfylla den HTTP-begäran som har skickats. Således begär varje klient och svaret är oberoende av den andra med fullständig säkerhet för att tillhandahålla den information som krävs.
Varje klient skickar en ”sessionsidentifierare” som också fungerar som en identifierare för varje session.
F # 8) Anmäl fördelar och nackdelar med 'Statelessness'.
Svar: I ovanstående fråga har vi förstått innebörden av statslöshet med avseende på klient-server-kommunikation. Låt oss nu se några av dess fördelar och nackdelar.
Fördelar:
- Varje metod som krävs för kommunikation identifieras som en oberoende metod, det vill säga det finns inga beroende av andra metoder.
- Tidigare kommunikation med klienten och servern upprätthålls inte och därmed förenklas hela processen väldigt mycket.
- Om någon information eller metadata som används tidigare krävs i en annan metod skickar klienten igen den informationen med HTTP-begäran.
- HTTP-protokollet och REST-webbtjänsten delar båda funktionen statslöshet.
Nackdelar:
hur man kallar en funktion i huvudpython
- I varje HTTP-begäran från klienten krävs tillgång till viss information om klienttillståndet av webbtjänsten.
F # 9) Anmäl några viktiga begränsningar för RESTful webbtjänster.
Svar: Varje begränsning har både positiva och negativa effekter och för att producera en övergripande arkitektur bör det finnas en balans mellan dem båda.
Nedan nämns några viktiga begränsningar för RESTful webbtjänst:
- Det bör finnas olika problem för varje server och klient som hjälper till att upprätthålla modulariteten i applikationen. Detta kommer också att minska komplexiteten och öka skalbarheten.
- Kommunikationen mellan klient och server ska vara statslös, vilket innebär att ingen tidigare information används och det fullständiga utförandet sker isolerat. I fall av misslyckande hjälper det också klienten att återhämta sig.
- I klient-serverkommunikation bör HTTP-svaret vara cachningsbart så att vid behov kan cachad kopia användas som i sin tur förbättrar serverns skalbarhet och prestanda.
- Den fjärde begränsningen är det enhetliga gränssnittet som gör det lätt att förstå klient-server-interaktion. Denna begränsning är vidare uppdelad i fyra underbegränsningar som:
- Resursidentifiering
- Resursmanipulation
- Varje meddelande är lätt att förstå och är självbeskrivande.
- Hypermedia, som definieras som texten med hyperlänkar och när den klickas flyttas den till ett annat applikationstillstånd.
- Klient-server-kommunikation ska ske på ett lager-system och klienten bör därför endast ha kunskap om den mellanliggande nivån med vilken kommunikation sker,
F # 10) Vad är en 'resurs'?
Svar: Precis som 'Object' -instansen har vi lärt oss i Object Orient Programming Language, på samma sätt definieras 'Resource' som ett objekt av en typ som kan vara en bild, HTML-fil, textdata och vilken typ av dynamik som helst data. Det finns olika representationsformat tillgängliga för att representera en resurs.
Några av de vanligaste resurserna listas nedan:
- JSON
- YAML
- XML
- HTML
F # 11) Varför krävs en korrekt representation av resursen?
Svar: Representation är mycket viktigt eftersom det avgör hur lätt resurser kan identifieras. Med korrekta representationer av resurser i rätt format, gör det möjligt för klienten att lätt förstå formatet.
F # 12) Anmäla några viktiga punkter som bör hållas i åtanke när du utformar resursrepresentation för RESTful webbtjänster.
Svar: Eftersom det inte finns några begränsningar för formatet i vilket resursrepresentationen görs, utan bara att huvudkravet är representationsformatet ska vara enligt klientkravet.
En bra resursrepresentation är utformad genom att beakta följande huvudpunkter:
- Resursrepresentationsformatet ska lätt kunna förstås av klienten och servern.
- Representationen ska vara komplett oavsett formatstruktur, som kan vara komplex eller enkel.
- När resurserna kopplas till andra resurser bör sådana fall också övervägas och hanteras.
F # 13) Vad är caching?
Svar: Caching är den process där serversvar lagras så att en cachad kopia kan användas när det behövs och det inte finns något behov av att generera samma svar igen. Denna process minskar inte bara serverbelastningen utan ökar i sin tur skalbarhet och prestanda för servern. Endast klienten kan cache-svaret och det också under en begränsad tid.
Nedan nämns rubriken för resurserna och deras korta beskrivning så att de kan identifieras för cachningsprocessen:
- Tid och datum för resursskapande
- Tid och datum för resursändring som vanligtvis lagrar den sista detalj.
- Cache-kontrollhuvud
- Tid och datum då den cachade resursen upphör att gälla.
- Åldern som bestämmer tiden från när resursen har hämtats.
F # 14) Förklara Cache-kontrollhuvud.
Svar: Ett standardhuvud för Cache-kontroll kan hjälpa till att uppnå cacheförmåga. Nedan finns en kort beskrivning av de olika rubrikerna för cache-kontroll:
- Offentlig: Resurser som är markerade som allmänheten kan cachas av alla mellanliggande komponenter mellan klienten och servern.
- Privat: Resurser som är markerade som privata kan endast cachas av klienten.
- Ingen cache betyder att en viss resurs inte kan cachas och därmed stoppas hela processen.
F # 15) Vilka är de bästa metoderna som ska följas när du utformar RESTful webbtjänster?
Svar: För att utforma en säker RESTful webbtjänst finns det några bästa praxis eller säga punkter som bör övervägas.
Dessa förklaras enligt följande:
- Varje ingång på servern ska valideras.
- Ingångarna ska vara välformade.
- Skicka aldrig känslig information via URL.
- För varje session ska användaren vara autentiserad.
- Endast HTTP-felmeddelanden ska användas för att indikera något fel.
- Använd meddelandeformat som är lätt att förstå och som krävs av klienten.
- Unified Resource Identifier ska vara beskrivande och lättförståelig.
F # 16) Vad är nyttolast?
Svar: Förfrågningsdata som finns i kroppsdelen av varje HTTP-meddelande kallas ”nyttolast”. I Restful web service kan nyttolasten endast skickas till mottagaren via POST-metoden.
Det finns ingen gräns för att skicka data som nyttolast genom POST-metoden, men det enda problemet är att mer data kommer att konsumera mer tid och bandbredd. Detta kan också ta mycket av användarens tid.
vad är den bästa e-postservern
F # 17) Anskaffa några av HTTP-metoderna med beskrivning.
Svar: Nedan listas listan över HTTP-metoder med deras beskrivningar:
- SKAFFA SIG: Detta är en skrivskyddad åtgärd som hämtar listan över användare på servern.
- SÄTTA: Den här åtgärden används för att skapa en ny resurs på servern.
- POSTA: Denna åtgärd används för att uppdatera en gammal resurs eller för att skapa en ny resurs.
- RADERA: Som namnet antyder används den här åtgärden för att radera alla resurser på servern.
- ALTERNATIV: Den här åtgärden hämtar listan över alla alternativ som stöds av resurser som är tillgängliga på servern.
F # 18) Vad är skillnaden mellan PUT-metoden och POST-metoden?
Svar: Den största skillnaden mellan PUT- och POST-metoden är att resultatet som genereras med PUT-metoden alltid är detsamma oavsett hur många gånger operationen utförs. Å andra sidan är resultatet som genereras av POST-drift alltid olika varje gång.
F # 19) Vad förstår du om JAX-RS?
Svar: JAX-RS definieras som Java API för RESTful webbtjänst. Bland flera bibliotek och ramverk anses detta vara det mest lämpliga Java-programmeringsspråkbaserade API som stöder RESTful webbtjänst.
Några av implementeringarna av JAX-RS är:
- Jersey
- RESTEasy
- Apache CFX
- Spela
Bland dessa är Jersey det mest populära ramverket.
F # 20) Vad är HTTP-statuskoder? Anskaffa få med mening.
Svar: HTTP-statuskoder representerar i princip statusen för uppgiften som har utförts på servern, med läget för vissa koder. Varje kod har sin egen betydelse.
Några av HTTP-statuskoderna med deras betydelse är följande:
- Kod 200: Detta indikerar framgång.
- Kod 201: Detta indikerar att resursen har skapats.
- Kod 204: Detta indikerar att det inte finns något innehåll i svarsorganet.
- Kod 404: Detta indikerar att det inte finns någon metod tillgänglig.
Det finns några fler sådana koder som anger status.
Slutsats
Denna artikel hjälper dig att förbereda dig för RESTful webbtjänstintervju och hjälper dig att förstå konceptet på ett enkelt och enkelt sätt. Jag har försökt täcka alla områden som är mycket nödvändiga för att ha fullständig kunskap om RESTful Web-tjänster.
Vidare läsning - Flask API-handledning
Kom bara ihåg, det kan vara möjligt att du inte kan svara på alla frågor i intervjun men vad du än svarar bör vara korrekt. Ditt grundläggande koncept ska vara starkt och din självförtroende bör vara hög.
Med vänliga hälsningar!!
Rekommenderad läsning
- Några knepiga manuella testfrågor och svar
- Topp 20+ .NET-intervjufrågor och svar
- 20 mest populära TestNG-intervjufrågor och svar
- Topp 20 viktigaste API-testintervjuer och frågor
- ETL Testing Intervju Frågor och svar
- Topp 20 senaste DevOps intervjufrågor och svar för 2021
- 20 toppfrågor och svar för affärsanalytiker (2021 LIST)
- Topp 20 RESTful Intervju Frågor och svar
- Topp 45 intervjuer och svar på webbtjänster (RESTful, SOAP, säkerhetsfrågor)