Innehållsförteckning[Dölj][Visa]
- 1. Vad förstår du med REST?
- 2. Vad menar du med REST API?
- 3. Vad exakt är URI?
- 4. Vad kännetecknar RESTful Web Services?
- 5. Vilka är de vägledande principerna för REST?
- 6. Nämn HTTP-metoderna som REST stöder.
- 7. Beskriv de restriktioner som ett konsekvent gränssnitt sätter.
- 8. Vad är egentligen en REST-resurs?
- 9. Vad betyder JAX-RS för dig?
- 10. Vad skiljer AJAX och REST från varandra?
- 11. Kan du lista några nackdelar med RESTful webbtjänster?
- 12. Vad skiljer PUT- och POST-tekniker från varandra?
- 13. Hur testar du RESTful webbtjänster?
- 14. Beskriv ett REST API i den verkliga världen.
- 15. Hur fungerar Microservice Architecture?
- 16. Vad exakt är cachning?
- 17. Beskriv nyttolast.
- 18. Differentiera TVÅL VS VILA?
- 19. Kan transportlagersäkerhetsprotokollet (TLS) användas med REST?
- 20. Idempotenta metoder: vad är det? Hur fungerar det i en värld av RESTful webbtjänster?
- 21. Vilken funktion har HTTP Basic Authentication?
- 22. Tycker du att GraphQL är det bästa valet för att skapa mikrotjänstarkitektur?
- 23. Vilka är de huvudsakliga skillnaderna mellan de säkra och idempotenta HTTP-metoderna?
- 24. Vad innebär JAX-RS API av RESTful Root Resource Classes?
- 25. Vad exakt är Postman, och varför används det?
- 26. Hur hålls REST API:er säkra?
- Slutsats
RESTs utveckling har gjort API:er otroligt tillgängliga samtidigt som de avslöjar deras fulla styrka och potential. REST API:er är lätta att skapa och cachelagra på grund av deras resursorienterade arkitektur.
Dessutom var RESTful API under hela tiden föregångare till andra betydande utvecklingar som molnberäkning och mikrotjänstbaserad design.
Därför borde det inte komma som någon överraskning att REST API-utvecklare är efterfrågade idag med tanke på hur de ger företag som använder RESTful-tjänster en konkurrensfördel. REST API: er är en populär designtrend.
Många IT-företag vill ha kunskap om REST API mjukvaruutvecklare och fråga om det i tekniska intervjuer.
Här är några av de mest typiska REST API-intervjufrågorna som hjälper dig att vara redo för intervjuer på olika företag om du vill arbeta inom REST API-utvecklingsområdet.
1. Vad förstår du med REST?
REST är ett arkitektoniskt paradigm för att designa webbaserade applikationer som är baserade på Hypertext Transfer Protocol (HTTP).
REST definierar vissa standarder som webbtjänster måste uppfylla för att anses RESTful. Dessa rekommendationer garanterar att förfrågningar och resurser överförs snabbt och effektivt mellan klient och server med hjälp av standardiserade HTTP-protokoll.
2. Vad menar du med REST API?
En länk mellan mjukvara och mjukvara, känd som ett applikationsprogrammeringsgränssnitt, möjliggör kommunikation och datadelning mellan i övrigt oberoende program. Till exempel kan en nyhetswebbplats använda Twitter API för att upptäcka relevanta tweets automatiskt och integrera dem i nyhetsartiklar.
Ett API som följer REST-principerna är känt som ett REST API, ibland känt som ett RESTful API. I ett REST API hanteras varje databit som en resurs och ges en distinkt standardresursidentitet (URI).
Till exempel gör Twitter API varje tweet till en återhämtningsbar resurs som är tillgänglig för kunder. Twitter API kan användas av användare för att posta tweets och utföra andra webbplatsuppgifter.
3. Vad exakt är URI?
A datornätverk resurs kan refereras till med en URI eller enhetlig resursidentifierare. Det fungerar som ett sätt att separera en resurs från en annan. Källorna kanske finns online eller inte.
På grund av sin standardstruktur gör URI:er det enkelt att ansluta till även olika typer av resurser. Platsen eller namnet på resursen ingår i URI:er tillsammans med en teckensträng.
URI:n består av en sökväg, ett schema, en fråga och andra element men inkluderar inte protokollet.
Med hjälp av ett protokoll används URL:er (Uniform Resource Locators) för att hitta resurser på internet eller tillgängliga via det.
4. Vad kännetecknar RESTful Web Services?
- Client-Server-paradigmet är grunden för tjänsten.
- Tjänsten kan komma åt resurser via URI:er.
- Tjänsten använder HTTP-protokollet för att skaffa data/resurser, köra frågor och utföra andra uppgifter.
- Meddelanden är namnet på den metod som används för att kommunicera mellan klienten och servern.
- Dessa tjänster kan också implementera REST-arkitektoniska mönstret med hjälp av SOAP-tjänster.
- För att minska serveranrop för samma typ av repetitiva förfrågningar använder dessa tjänster också idén om cachning.
5. Vilka är de vägledande principerna för REST?
Fem kriterier måste uppfyllas av REST API:er:
Klient-server-frikoppling: Endast en serie förfrågningar och svar kan användas för att kommunicera mellan klienten och servern. Endast klienter och servrar kan skicka förfrågningar respektive svar. Denna enkla idé gör det möjligt för båda parter att fungera oberoende av varandra.
Uniform Interface: Det måste finnas ett enhetligt protokoll för alla klient-server-anslutningar. Detta protokoll för REST är HTTP. Eftersom varje applikation begär och skickar data med samma språk, gör ett konsekvent gränssnitt integrationer enklare.
Statslös: Servern sparar inga register över tidigare förfrågningar eller svar i tillståndslös kommunikation. Varje förfrågan och svar ger alla detaljer som krävs för att slutföra utbytet. Statslös kommunikation ökar hastigheten, sparar minne och minskar stressen på servern. Dessutom undviker det risken för att en begäran misslyckas på grund av ofullständig data.
Layered system: Servrar som finns mellan klienten och API-servern kallas lager. Dessa extra servrar utför en mängd olika tjänster, som att upptäcka spam och optimera hastigheten. Lager i REST är modulära, vilket innebär att de kan läggas till och raderas utan att det påverkar kommunikationen mellan klienten och API-servern.
Cachebar: Klienter kan cachelagra alla resurser för att öka hastigheten om serversvar indikerar om resursen är cachebar eller inte.
On-demand-kodning: Som svar kan ett API överföra körbar datorkod till kunder. Klientapplikationen kan sedan köra koden på sin egen baksida.
6. Nämn HTTP-metoderna som REST stöder.
HTTP-metoderna som REST stöder är:
- GET: Denna metod frågar efter en resurs på den angivna URL:en. En begärandetext ska inte inkluderas eftersom den kommer att ignoreras. Det kan vara möjligt att cache det lokalt eller på servern.
- POST: Denna metod skickar data till en tjänst för bearbetning, och tjänsten bör normalt returnera en ny eller ändrad resurs.
- PUT: Resursen uppdateras vid förfrågans URL.
- DELETE: Resursen raderas vid förfrågans URL.
- Alternativ: Den identifierar de metoder som stöds.
- HEAD: Begärans URL:s metadata returneras.
7. Beskriv de restriktioner som ett konsekvent gränssnitt sätter.
För att separera klienten från servern krävs ett konsekvent gränssnitt.
För att uppnå ett konsekvent gränssnitt krävs följande fyra begränsningar:
- Resursidentifiering: Klientförfrågningar måste använda standardresurs-ID:n för att identifiera resurser (URI)
- Resursmanipulation med dessa representationer: Klienter har all information som krävs för att kunna ändra resursstatus när de får en resursrepresentation från servern.
- Självbeskrivande meddelanden: Meddelanden innehåller all metadata och annan information som krävs för att mottagaren ska förstå dem.
- Hypermedia som applikationstillståndsmotor: Kanalen för klient-serverkommunikation är hypermedia, såsom HTML, och klienter behöver inte API-specifik dokumentation för att förstå serversvar.
8. Vad är egentligen en REST-resurs?
Resurser är de grundläggande komponenterna i en RESTful webbtjänst i en REST-arkitektur. De inkluderar all viktig information som en API-klient behöver komma åt.
Alla typer av resurser, som en HTML-sida, en bild, en video eller något annat som behövs för en API-aktivitet, kan nås via servern i ett klient-serversystem.
Resurserna identifieras av en Uniform Resource Identifier. Text, JSON eller XML är alla acceptabla representationer av resurser. Efter att ha sagt det finns det inga begränsningar för representationens format.
9. Vad betyder JAX-RS för dig?
Det är enklare att skapa RESTful webbtjänster i Java tack vare Java API för RESTful webbtjänster, ofta känd som JAX-RS. Utvecklare kan beskriva resurser och de operationer som kan utföras på dem med hjälp av anteckningarna som tillhandahålls.
10. Vad skiljer AJAX och REST från varandra?
ajax:
- Ajax är en grupp av teknologier som möjliggör dynamisk uppdatering av användargränssnitt element utan att behöva ladda om sidan.
- Ajax tar bort asynkron kommunikation mellan klienten och servern.
RESTEN:
- REST kräver kommunikation mellan servern och klienten.
- Användningen av resurser är viktig för URL-strukturen och förfrågnings-/svarsmönster som används av REST.
11. Kan du lista några nackdelar med RESTful webbtjänster?
Sessioner kan inte hållas uppe eftersom tjänsterna ansluter sig till begreppet statslöshet. (Klienten ansvarar för att skicka sessions-id under hela simuleringen av sessionen.)
Säkerhetsbegränsningar är inte grundläggande för REST. De protokoll som använder det ärver säkerhetsåtgärderna. Därför är det viktigt att vara försiktig när du sätter säkerhetsåtgärder på plats, som att integrera SSL/TLS-baserade autentiseringar.
12. Vad skiljer PUT- och POST-tekniker från varandra?
SÄTTA:
- Det finns ingen cache för PUT-svar.
- Idempotent (dvs flera förfrågningar kommer att ge samma resultat)
- begärans nyttolast uppdaterar eller ersätter målresursen.
POSTA:
- idempotent inte (dvs flera förfrågningar kommer att ge multiplar av samma resurs)
- Webbservern behandlar nyttolasten för begäran baserat på den avsedda resursen.
- Om rätt cache-kontrollhuvud ingår kan POST-svar cachelagras.
13. Hur testar du RESTful webbtjänster?
RESTful webbtjänsttestning kan få hjälp av ett antal verktyg, inklusive Swagger och Postman. Inspektering av förfrågningsparametrar som frågeparametrar, rubriker och svarsrubriker möjliggörs av de senares överflöd av funktioner.
Postman kan användas för att göra förfrågningar till slutpunkter och visa resultaten. Och XML och JSON kan skapas från dessa svar.
Postman och Swagger ger båda extremt jämförbara funktioner. Å andra sidan erbjuder Swagger också funktioner som endpoint-dokumentation.
14. Beskriv ett REST API i den verkliga världen.
- Rese- och biljettwebbplatser kan utnyttja flygtiderna och prissättningen som flygbolagen gör tillgängliga via API:er.
- För att kart- och navigeringsappar (som Google Maps) ska kunna använda dem, gör kollektivtrafikföretag ofta sin data offentligt tillgänglig i realtid via API:er.
- Väderapplikationer använder öppna API:er som utbyter väderdata för att visa väderinformation.
- Utvecklare kan komma åt Google Maps kartdata via ett antal av dess värdbaserade API:er. Dessa API:er används av utvecklare för att bädda in dynamiska kartor i sina appar och webbplatser.
15. Hur fungerar Microservice Architecture?
- Förfrågningar skickas av olika kunder med hjälp av olika enheter.
- Efter att ha bekräftat klienternas identiteter tillhandahåller identitetsleverantörer säkerhetstokens.
- Klientförfrågningarna hanteras av API Gateway.
- Allt material i systemet bevaras som statiskt innehåll.
- Hanteringsverktyget kontrollerar tjänstebalansen på noder och eventuella fel.
- Att upptäcka kommunikationsvägen mellan mikrotjänster underlättas av tjänsteupptäckt.
- Datacenter och proxyservrar utgör spridda nätverkssystem som kallas innehållsleveransnätverk.
- Fjärrtjänster ger informationsåtkomst på avstånd.
16. Vad exakt är cachning?
Bruket att tillfälligt förvara en kopia av ett serversvar någonstans (som datorminne) för att senare få tillgång till det snabbare kallas cachning.
Cachning ökar serverhastigheten när du använder REST API:er genom att minska mängden arbete som servern måste göra för att tillgodose begäran. Applikationer som använder API körs snabbare tack vare cachning eftersom de inte behöver skicka in en ny begäran varje gång de behöver en resurs.
HTTP-svarshuvudets Cache-Control-fält innehåller information om hur länge en resurs kan cachelagras av klienten innan den behöver nås igen.
17. Beskriv nyttolast.
Nyttolasten i REST hänvisar till informationen som finns i HTTP-svarets brödtext. Kunden använde GET-tekniken för att begära uppgifterna i fråga.
Dokumentet som innehåller tweettexten och eventuella nödvändiga filer för att lägga tweeten på en webbplats kommer att inkluderas i nyttolasten, till exempel om du ber Twitter API om en specifik tweet. Dessutom kan nyttolasten inkluderas i HTTP-förfrågan med POST-metoden.
18. Differentiera TVÅL Vs VILA?
- Till skillnad från SOAP, som bara kan hantera XML, möjliggör REST ett bredare utbud av resursformat, inklusive XML, text, HTML, bilder, video och mer.
- När säkerhet är avgörande för onlineapplikationer är SOAP till hjälp. REST kan inte användas när transaktioner måste genomföras säkert eftersom det inte är särskilt säkert.
- Eftersom SOAP bara är ett protokoll kan REST använda det i sina webbtjänster men inte tvärtom.
- Medan REST endast är ett arkitektoniskt mönster som används för att utveckla webbtjänster och följer vissa begränsningar såsom klient-serverinstallation, tillståndslöshet, cachebart svar, lagersystem och konsekvent gränssnitt, är SOAP ett protokoll som fungerar på särskilda standarder som måste följas strikt. till.
- Medan REST använder universella resursidentifierare (URI), använder SOAP tjänstegränssnitt för att tillhandahålla sina möjligheter till klientapplikationer. REST har ett lägre bandbreddsbehov än SOAP eftersom SOAP-meddelanden är mer informationstunga.
19. Kan transportlagersäkerhetsprotokollet (TLS) användas med REST?
Det kan vi faktiskt. REST-klientens och serverns kommunikation är krypterad via TLS, och protokollet ger även klienter ett sätt att autentisera servrar.
På grund av att det är Secure Socket Layers ersättning, används det för säker kommunikation (SSL). Implementering av RESTful webbtjänster är framgångsrikt med HTTPS eftersom det samarbetar effektivt med både TLS och SSL.
REST ärver egenskaperna hos protokollet den implementerar, vilket är en sak att notera här. Som ett resultat är säkerhetsskyddet beroende av det protokoll som REST använder.
20. Idempotenta metoder: vad är det? Hur fungerar det i en värld av RESTful webbtjänster?
När URI:n är densamma har vissa HTTP-metoder i en begäran samma inverkan på servern oavsett om de levereras en eller flera gånger. Idempotenta tekniker är vad dessa kallas.
Till exempel, oavsett hur många gånger en URI som använder GET-metoden körs, kommer servern alltid att uppleva samma resultat. Idempotenta metoder inkluderar GET, PUT och PATCH, för att nämna några.
Idempotenta HTTP-metoder är några av de som används av RESTful webbapplikationer. De är nödvändiga för att garantera konsekvens i RESTful webbtjänsternas aktiviteter.
Kunder som använder REST API:er kan göra kodfel som tvingar ett REST API att göra oavsiktligt upprepade förfrågningar. Dessa samtal har potential att missbruka resurser.
21. Vilken funktion har HTTP Basic Authentication?
När du använder grundläggande autentisering som en del av API:er måste användaren skicka in användarnamnet och lösenordet, som är sammanlänkade av webbläsaren i formen "användarnamn: lösenord" och base64-kodade.
På varje HTTP-begäran från webbläsaren levereras det kodade värdet som värdet för "Authorization"-huvudet. Eftersom autentiseringsuppgifterna bara är kodade, rekommenderas det att använda detta formulär när du skickar HTTPS-förfrågningar eftersom de inte är säkra och kan avlyssnas av vem som helst om säkerhetsprotokoll inte används.
22. Tycker du att GraphQL är det bästa valet för att skapa mikrotjänstarkitektur?
Microservices och GraphQL passar perfekt eftersom GraphQL håller din mikroservicearkitektur hemlig för dina kunder.
Från fronten vill du att all din data ska komma från ett enda API, medan du från baksidan vill dela upp den i mikrotjänster. Den bästa tekniken jag är medveten om för att uppnå båda är att använda GraphQL.
Det gör att du kan dela upp din backend i mikrotjänster samtidigt som du ger varje applikation ett enda API och möjliggör kopplingar över data från olika tjänster.
23. Vilka är de huvudsakliga skillnaderna mellan de säkra och idempotenta HTTP-metoderna?
Idempotenta metoder ger samma resultat när de anropas en eller flera gånger genom samma begäran. PUT-metoden är idempotent.
Alla säkra sätt är idempotenta, men inte alla idempotenta metoder är säkra eftersom säkra metoder inte förändrar resurserna. Till exempel är GET säkert eftersom det bara hämtar data och inte ändrar resursen.
Dessutom är den idempotent, vilket betyder att den alltid kommer att returnera samma svar när den anropas.
24. Vad innebär JAX-RS API av RESTful Root Resource Classes?
Java Enterprise Edition tillhandahåller klasser och gränssnitt som följer JAX-RS API-kraven. Med hjälp av JAX-RS blir det enklare att skapa Java-webbtjänster i REST-arkitektonisk stil.
I JAX-RS API är rotresursklasser bara "vanliga gamla java-objekt" eller POJO. För att implementera de nödvändiga webbresurserna använder de JAX-RS-anteckningar.
De har antingen @path-kommentarer eller åtminstone en av deras metoder har @path-kommentarer. De kan sammanfattas som Java-klasser med metoder för att hantera API-slutpunkter.
25. Vad exakt är Postman, och varför används det?
Ett API-utvecklingsverktyg som heter Postman används för att skapa, testa och ändra API:er. Detta verktyg kan användas av utvecklare för vilken funktion de än behöver för ett API. Det förenklar och underlättar utvecklarnas arbete.
Postman gör det enkelt att göra en mängd olika HTTP-frågor, inklusive GET, POST, PUT och PATCH, spara miljöer för senare användning och konvertera API:er till kod på ett antal olika språk.
Varje steg i API-cykeln görs enklare med Postman, och samarbetet strömlinjeformas för snabbare API-utveckling.
Dessutom gör det det möjligt för utvecklare att hantera dokumentation, specifikationer, testfall, processer och API-kataloger.
26. Hur hålls REST API:er säkra?
Eftersom REST API:er inte använder lika rigorösa säkerhetsåtgärder som SOAP API:er, bör känslig data inte skickas eller hämtas med hjälp av dem.
Pålitliga REST API:er fortsätter dock att integrera säkerhetskontroller för säkra och pålitliga dataöverföringar.
- Autentisering och auktorisering: Varje begäran som görs till API:t måste klara dessa två kontroller. Att verifiera klientens identitet genom autentisering och validera att de har behörighet att komma åt de begärda resurserna genom auktorisering är två olika processer.
- Validering: Innan API:et ger åtkomst till sina resurser måste förfrågningar fortfarande kontrolleras för eventuellt skadlig kod efter autentisering och auktorisering. En server skulle alltså vara öppen för en injektionsattack.
- Validering: Innan API:et ger åtkomst till sina resurser måste förfrågningar fortfarande kontrolleras för eventuellt skadlig kod efter autentisering och auktorisering. En server skulle alltså vara öppen för en injektionsattack.
- Kryptering: TLS/SSL-kryptering skyddar anslutningen mellan klienten och servern och hindrar hackare från att fånga upp förfrågningar och svar.
- Hastighetsbegränsande tekniker, som gränser och strypning, skyddar servrar från brute force-angrepp som DDoS som syftar till att försämra eller krascha dem.
- Ingen känslig information i URI:er: Resursernas URI:er bör inte innehålla några skyddade data (som ett användarnamn, lösenord eller autentiseringstoken).
Slutsats
Grattis! Flera grundläggande till komplexa REST API-intervjufrågor och deras respektive lösningar finns nu till hands.
Nu när du har ett bra koncept för hur du ska svara på några av de typiska REST API-intervjufrågorna, kan du fortsätta att svara på intervjuerna. Nästa steg beror på dina mål.
Besök Intervjuserie med Hashdork för att förbereda sig för intervjuer.
Kommentera uppropet