40 Ofte stilte REST API-intervjuspørsmål og svar [2023]

Et API står for Application Programming Interface. Den fungerer som en inngangsport for applikasjoner for å få tilgang til noen ressurser fra andre applikasjoner.

Fordelen med å bruke en API er å gi tilgang til tredjepartsapplikasjoner slik at de ikke får tilgang til hele dataene til applikasjonen din. De kan bare få tilgang til dataene du eksponerer gjennom API-en din.

Applikasjonen eller en bruker som ønsker å få tilgang til dataene er kjent som en klient, og applikasjonen som betjener dataene er kjent som en server.

APIer er mye brukt i dag i enhver programvarearkitektur. Hvis du søker på en front-end, back-end, full-stack eller nettverksingeniørrolle, vil du bli stilt mange spørsmål angående APIer.

Når det er sagt, la oss utforske noen av de vanligste intervjuspørsmålene om REST APIer.

Hva er REST?

Svar: REST er et arkitektonisk design som definerer noen begrensninger for hvordan APIer fungerer. APIene som følger prinsippene til REST er kjent som RESTful APIer. REST står for Representative State Transfer.

Det er ikke en protokoll eller en standard; i stedet er det en arkitektur som kan brukes til å implementere APIer på forskjellige måter.

Det gir høy fleksibilitet og frihet til utviklere, og det er derfor det er mye brukt til å utvikle APIer. Her er noen av prinsippene for en REST-arkitektur:

  • Separasjon av klient og server: I en RESTful API skal ikke klienten påvirke serveren på noen annen måte enn å be om data gjennom en URI (Uniform Resource Identifier). På samme måte bør ikke serveren endre innholdet til klienten på noen måte.
  • Statsløshet: Når det kommer to separate forespørsler, vet de ikke om hverandre. Med andre ord, forespørslene er statsløse og opprettholder ikke en stat. Hvis en forespørsel blir oppfylt, avsluttes den ganske enkelt. Hver forespørsel er isolert fra andre forespørsler.
  • Lagdelt arkitektur: Klienten eller serveren vet ikke om forespørselen sendes direkte til opprinnelsen eller en mellomliggende applikasjon. De bryr seg bare om svaret på forespørselen.
  • Bufring: Data eller svar kan bufres på klient- og serversiden for å forbedre ytelsen og skalerbarheten. Hvis det er hyppige forespørsler for en bestemt ressurs, kan svaret på den forespørselen bufres og brukes ved behov.

Hva er noen viktige kjennetegn ved REST?

Svar: Nøkkelegenskaper eller funksjoner ved REST er:

  • Fleksibilitet: Du kan flytte fra en server til en annen, og det vil ikke endre noe fordi API-en vil sende det samme svaret for en bestemt forespørsel. Du kan også legge til så mange endepunkter du vil for forskjellige typer data.
  • Skalerbarhet: Bufring forbedrer skalerbarheten på grunn av at svarene lagres for senere bruk. Det reduserer belastningen på serveren og reduserer også ventetiden.
  • Autorisasjon: Ved hjelp av autorisasjonshodet kan du spesifisere legitimasjonen som serveren kan bruke for å godkjenne forespørselen.
  • Statsløshet: Dette er den viktigste egenskapen til REST fordi det hindrer forespørsler fra å vite hva som skjer med andre forespørsler. Forespørsler isoleres og avsluttes så snart de er oppfylt.

Hva er ressurser i en REST-arkitektur?

Svar: Ressurser er enheter som ulike operasjoner utføres på, for eksempel henting, oppdatering eller sletting. De er de grunnleggende byggesteinene i REST-arkitekturen.

  9 beste e-postautosvar for markedsføringsautomatisering

Hvis du for eksempel vurderer en nettbutikk, anses produktene, brukerne samt metadata som ressurser fordi de kan betjenes. Ressurser kan overføres til en annen applikasjon via API.

Nevn noen fordeler og ulemper med en REST API.

Svar: Fordelene med REST APIer er som følger:

  • Det er enkelt å implementere.
  • Ressurser kan enkelt håndteres.
  • Det er skalerbart på grunn av klient-server-arkitektur.
  • Støtter flere typer dataoverføringsmedier som XML og JSON.

Dens ulemper er:

  • Du kan ikke opprettholde en tilstand mellom forespørsler.
  • Den sanne opprinnelseskilden til ressursen kan ikke være kjent på grunn av lagdelt arkitektur.
  • Ikke bra for komplekse spørsmål eller forespørsler.

Definer REST-mal.

Svar: En REST-mal er et verktøy eller en klient som du kan få tilgang til REST API-er i Spring-rammeverket gjennom. Den skjuler i utgangspunktet koden du må skrive for å be om en ressurs fra et REST API.

Hva er RESTful?

Svar: RESTful APIer eller tjenester er grensesnitt som implementerer REST (Representational State Transfer) arkitektoniske stil og fungerer ved hjelp av protokoller som HTTP.

Hva er RESTful Web Services?

Svar: RESTful webtjenester er bygget for å fungere best på nettet. Representational State Transfer (REST) ​​er en arkitektonisk stil som spesifiserer begrensninger, slik som enhetlig grensesnitt, lagdelt arkitektur og statsløshet, hvis den brukes på en nettjeneste, induserer ønskelige egenskaper, som ytelse og skalerbarhet, som gjør at tjenester fungerer best på nettet.

Hvordan kan du teste RESTful Web Services?

Svar: For å teste en RESTful-webtjeneste kan du bruke en REST-klient som Postman eller Thunder Client og spørre netttjenesten du vil teste. Så, når du får et svar, forstå svaret; det er nøkkeldelen.

Hvis du vil teste en kompleks API med mange endepunkter, må du kanskje bryte ned testing og utføre enhetstesting, integrasjonstesting, ytelsestesting og ende-til-ende-testing.

Nevn noen funksjoner i RESTful Web Services.

Svar: Noen av nøkkelfunksjonene til RESTful webtjenester er:

  • Støtte for flere medietyper som JSON og XML.
  • Skalerbarhet
  • Isolering av klient og server
  • Fleksibilitet

Definer RESTful Root Resource Classes.

Svar: Rotressursklasser er «vanlige gamle Java-objekter» (POJO-er) som enten er annotert med @Path eller har minst én metode annotert med @Path eller en forespørselsmetodedesignator, for eksempel @GET, @POST, @PUT, eller @SLETT.

Hva er URI?

Svar: URI står for Uniform Resource Identifier. Det er en sekvens av tegn som brukes til å finne eller identifisere ressurser til et API eller en tjeneste. Den bruker navnet eller plasseringen til ressursen for å identifisere den, men den er ikke avhengig av en bestemt metode eller teknikk.

Hva er statsløshet i hvile?

Svar: Statsløshet refererer til en begrensning som brukes på et API der to forespørsler ikke kan vite hva som skjer med hverandre. Med andre ord, tilstanden til forespørslene opprettholdes ikke. Hvis forespørselen blir oppfylt, avsluttes den ganske enkelt etter å ha fått svar.

Hva er JAX-RS?

Svar: JAX-RS er et Java API som lar deg utvikle applikasjoner i Java som bruker REST-arkitekturen. Denne API-en gjør det enkelt å utvikle REST-applikasjoner i Java.

Hva er nøkkelkommentarene i JAX-RS API?

Svar: Merknader i JAX-RS brukes av utviklere for å dekorere Java-klasser for å definere ressurser og metoder som kan utføres på disse ressursene. Noen nøkkelkommentarer til JAX-RS API er:

  • @GET: Den brukes til å lage GET-forespørsler i HTTP.
  • @POST: Den brukes til å lage POST-forespørsler i HTTP.
  • @Path: Det refererer til den relative banen til en Java-klasse.
  • @QueryParam: Det refererer til spørringsparametrene til URI eller URL.

Hva er noen nøkkelfunksjoner i JAX-RS API?

Svar: Funksjonene til JAX-RS er:

  • Buffer på klientsiden
  • Hurtigbufring på serversiden
  • Tilpasning av spørrestrenger
  • Kjøretidskommentarer

Hvordan kan JAX-RS-applikasjonene konfigureres?

Svar: En JAX-RS-applikasjon består av minst én ressursklasse pakket i en WAR-fil. Basis-URIen som en applikasjons ressurser svarer på forespørsler fra, kan angis på en av to måter:

  • Bruk av @ApplicationPath-kommentaren i en underklasse av javax.ws.rs.core.Application pakket i WAR
  • Bruke servlet-mapping-taggen i WARs web.xml-implementeringsbeskrivelse

Hva er JAX-WS og JAX-RS?

Svar: JAX-WS er ​​en Jakarta XML Web Services API som brukes til å utvikle APIer ved hjelp av Simple Object Access Protocol (SOAP) – en XML-basert meldingsprotokoll.

På den annen side er JAX-RS en Java API som brukes til å lage webtjenester ved å bruke REST-arkitekturen.

Hva er HTTP-statuskoder?

Svar: Statuskoder er ikke annet enn en måte å kommunisere status på svaret sendt av serveren til klienten. De finnes i svarhodene sendt av serveren.

  Topp 7 PHP-rammer for bedre applikasjonsutvikling

Klienten er i stand til å finne ut om forespørselen har mislyktes eller blitt oppfylt eller om det er noe galt med svaret ved å bruke statuskodene.

Her er noen vanlige statuskoder for HTTP:-

  • 200 – Det står for «OK» nøkkelord. Det betyr at forespørselen er oppfylt, og at svaret er greit.
  • 404 – Det står for «Ikke funnet». Dette betyr at en ressurs ikke er tilstede på serveren eller et endepunkt ikke eksisterer.
  • 500 – Det står for «Intern serverfeil». Dette skjer vanligvis når serveren ikke kan generere riktig svar, eller det er en feil som ikke eksplisitt er sendt.
  • 503 – Det står for «Service Unavailable». Det betyr at serveren for øyeblikket ikke kan behandle noen forespørsler, sannsynligvis fordi den er død eller ikke fungerer på grunn av overbelastning. Det kan også oppstå når serveren skal vedlikeholdes.

Hva er HTTP-metoder?

Svar: HTTP-metoder brukes til å utføre en bestemt type handling på en bestemt ressurs i et API. Hvis du for eksempel vil hente en liste over filmer fra et filmsamlings-API, kan du bruke GET-metoden levert av HTTP. Hvis du vil oppdatere dataene, kan du bruke POST-metoden levert av HTTP.

Ofte brukte HTTP-metoder er som følger:

  • GET: Forespørsler som bruker GET skal bare hente data.
  • POST: Den oppdaterer ressursen ved å sende en nylig oppdatert ressurs til serveren.
  • SLETT: Den sletter den angitte ressursen.
  • PATCH: Den endrer delvis ressursen.

Hvordan fungerer grunnleggende HTTP-autentisering?

Svar: Autentisering er en prosess for å verifisere ektheten til en klient for å opprettholde datasikkerheten. I HTTP fungerer autentisering gjennom en autorisasjonshode, som sendes av klienten.

Autorisasjonshode består av brukernavn/id og passord til klienten, som deretter verifiseres av serveren, og tilgang gis.

En viktig ting å merke seg her er at når du bruker HTTP-autentisering, bør kanalen som legitimasjonen passerer være kryptert og sikker.

Du kan sikre kanalen ved å bruke SSL-laget, som er integrert i HTTPS. Så det anbefales å bruke HTTPS i stedet for enkel HTTP når du arbeider med legitimasjon.

Hva er kjernekomponentene i HTTP-forespørsel?

Svar: En HTTP-forespørsel består av følgende komponenter:

  • Forespørselslinje: Det er den første linjen i enhver forespørsel og består av HTTP-metoden, banen eller endepunktet og HTTP-versjonsnummeret.
  • Overskrifter: HTTP-hoder brukes til å gi metadata for forespørselen.
  • Brødtekst (valgfritt): Denne komponenten er bare til stede for noen av forespørselsmetodene. Det er ikke nødvendig for GET-forespørsler, men det kreves for POST-forespørsler. Det er selve meldingen i forespørselen.

Hva er kjernekomponentene i HTTP-respons?

Svar: Et HTTP-svar består av følgende komponenter:

  • Status: Det refererer til HTTP-statuskoden som sendes av serveren.
  • Overskrifter: Akkurat som forespørsler har svar også sine respektive overskrifter, som gir nyttig informasjon om svaret.
  • Melding: Dette er de faktiske dataene som sendes av serveren til klienten for å be om en bestemt ressurs.

Hva er forskjellen mellom REST og AJAX?

Svar: AJAX er en klient som du kan få tilgang til RESTful APIer gjennom. Den brukes til å sende asynkrone forespørsler ved hjelp av JavaScript.

REST, eller Representational State Transfer, er en arkitektur som kan implementeres for å lage RESTful APIer. Kort sagt, for å sende HTTP-forespørsler kan du bruke AJAX som fungerer som klient, men hvis du vil implementere RESTful APIer, må du bruke REST-arkitektur.

Hva er forskjellen mellom SOAP og REST?

Svar: Representational State Transfer, eller REST, er en arkitektur med minimale begrensninger for å lage APIer. SOAP, eller Simple Object Access Protocol, er en protokoll med strenge krav for å implementere et API.

REST er mer fleksibel og enkel å bruke enn SOAP. XML-baserte meldinger brukes i SOAP, mens i REST kan du bruke mange dataoverføringstyper som JSON, XML osv. Sammenlignet med SOAP er REST mer lett og rask.

SOAP webtjenester har innebygd sikkerhet, som er en fordel med å bruke SOAP fremfor REST, men de ekstra funksjonene gjør det også komplekst og tungt å bruke.

Hva er forskjellen mellom PUT og POST?

Svar: POST er en HTTP-forespørselsmetode som sender noen data til serveren. Hvis du gjør flere POST-forespørsler for en bestemt ressurs, kan det være bivirkninger til dataene dine. For eksempel, hvis du ønsker å legge til en artikkel i en samling, hvis du gjør flere POST-forespørsler, vil flere artikler bli lagt til samlingen som fører til overflødige artikler.

  Hvilke funksjoner har Minecraft på Wii U Edition?

PUT er en HTTP-forespørselsmetode som sender data til serveren for en bestemt ressurs, men som bare oppdaterer dataene én gang. Hvis du sender flere PUT-forespørsler for en bestemt ressurs, vil ingen bivirkninger oppstå, og dataene vil bare bli lagt til én gang. I PUT, hvis ressursen ikke eksisterer, vil den opprette en ny, og hvis den eksisterer, vil den oppdatere den eksisterende.

PUT er idempotent, mens POST ikke er det.

Hva er en nyttelast?

Svar: En nyttelast i et REST API er ganske enkelt selve forespørselen sendt fra klienten til serveren. Det er dataene du vil sende til serveren og få svar.

Hva er den maksimale nyttelaststørrelsen som kan sendes i postmetoder?

Svar: Det er ingen standardgrense satt av selve HTTP-protokollen. Grensen kan avhenge av maksimumsgrensen for klienten eller serveren, avhengig av hva som er minimum.

Når du oppretter URI, hva er de beste fremgangsmåtene som må følges?

Svar: Noen av hovedpunktene du må huske på når du designer URIer er:

  • Unngå å bruke filutvidelser
  • Vær konsistent med alle URIer
  • Del URI-ene inn i domener og underdomener for ulike sett med ressurser
  • Du bør bruke bindestrek eller understrek for å skille ord i setninger innebygd i URIer
  • Du bør bruke skråstreken for å indikere et hierarki av ressurser
  • Kode en URI ved å bruke riktig koding
  • Prøv å gjøre URI-en lesbar for mennesker

Hva er idempotente metoder?

Svar: Idempotente HTTP-metoder har samme effekt på serveren til tross for at de sender flere identiske forespørsler. For eksempel, hvis du sender flere identiske SLETT-forespørsler for en bestemt ressurs, vil ikke ressursen endres ved hver forespørsel; den vil oppdatere som om bare én forespørsel er sendt.

Noen av de idempotente metodene inkluderer:

  • SETTE
  • SLETT
  • HODE
  • ALTERNATIVER

Hva er Postman?

Svar: Postman er et API-utviklingsverktøy for å utvikle, modifisere og teste APIer. Det gir mange funksjoner for å bygge og teste API-er raskt uten behov for å sette opp en klient.

Svar: Cache-Control-overskriften består av instruksjoner eller direktiver for å konfigurere caching i nettlesere og servere. Den forteller nettleseren eller serveren hva den skal bufre og hvor lenge den skal bufres før den blir forespurt gjennom nettverksforespørselen.

Cache-Control-overskriften inneholder følgende direktiver:-

  • maks-alder
  • ingen cache
  • privat
  • offentlig
  • ingen butikk
  • uforanderlig

Definer meldinger i RESTful Web Services.

Svar: Meldinger i RESTful webtjenester refererer til at klienten sender en HTTP-forespørsel til serveren, som serveren svarer på med et HTTP-svar. Denne kommunikasjonen mellom klienten og serveren kalles meldingstjenester.

Hva er forskjellen mellom monolittisk, SOA- og mikrotjenesterarkitektur?

Svar: I en monolitisk arkitektur styres alt på ett sted. Klientsiden, serveren og databasen administreres alle fra ett sted. Det er derfor det er kjent som monolittisk fordi ordet «monolit» refererer til en enkelt blokk eller stein.

SOA står for Service-Oriented Architecture. I denne arkitekturen administreres forskjellige aspekter av applikasjonen av forskjellige tjenester, som også er programvare. Så det er en kombinasjon av flere tjenesteprogramvaremoduler. Integrasjon er nøkkeldelen av denne arkitekturen.

Mikrotjenesters arkitektur ligner på SOA, men i motsetning til SOA har den flere autonome programvareprogrammer som snakker med hverandre ved hjelp av APIer. I motsetning til monolitisk arkitektur er alt her autonomt og til en viss grad uavhengig.

Hvordan fungerer mikroservicearkitektur?

Svar: I en mikrotjenestearkitektur er applikasjonene delt inn i mindre underenheter som er uavhengige av hverandre og fungerer på egen hånd, men de kommuniserer med hverandre via et veldefinert sett med APIer.

Noen fordeler med mikrotjenestearkitektur inkluderer smidighet, fleksibilitet, skalerbarhet, uavhengige teknologier, gjenbrukbare tjenester og enkel distribusjon.

Hva er CRUD?

Svar: CRUD står for Create, Read, Update, Delete. Dette er operasjonene som kan utføres på en bestemt ressurs. APIen som støtter alle disse operasjonene er kjent som en CRUD API. Dette er de mest grunnleggende operasjonene som kan utføres av en API på en ressurs.

Hva er caching?

Svar: Caching er en teknikk for å lagre et svar eller en forespørsel på klienten eller serveren for at den skal brukes igjen senere.

Svar bufres vanligvis på klienten fordi hvis klienten gjør den samme forespørselen flere ganger i løpet av et kort tidsintervall, gir det ingen mening å be om svaret på nytt over nettverket og kaste bort båndbredden.

Hva er bruken av @RequestMapping?

Svar: Det er en merknad i vårrammeverket som brukes til å kartlegge nettforespørsler til spesifikke behandlerklasser og/eller behandlermetoder.

Hva gjør @PathVariable?

Svar: @PathVariable-kommentaren i vårrammeverket brukes til å trekke ut verdien av malvariablene og tilordne deres verdi til en metodevariabel.

Definer HttpMessageConverter.

Svar: Når en HTTP-forespørsel (eller deler av den) må konverteres til en type som trengs som et argument for en behandlermetode, eller når verdien returnert av en behandlermetode må konverteres på en eller annen måte for å lage et HTTP-svar, HTTP meldingsomformere brukes.

Svar: Noen verktøy som kan hjelpe deg med API-testing er som følger:

  • Postbud
  • Vær trygg
  • Hvil Sharp
  • Katalon
  • ReadyAPI
  • Apigee

Siste ord

I dag har API-er blitt ekstremt populære på grunn av internett. En annen grunn til at REST API-er er populære, er at de er enkle å utvikle og enkle å bruke.

Hvis du forbereder deg til et intervju, bør du vurdere spørsmålene ovenfor om REST APIer som kan bli stilt i intervjuet ditt.

Deretter kan du sjekke hvordan du skraper et nettsted ved å bruke tipsbilk.net’s Web Scraping API.