Kazalo[Skrij][Pokaži]
- 1. Kaj razumete pod REST?
- 2. Kaj mislite z REST API?
- 3. Kaj pravzaprav je URI?
- 4. Kakšne so značilnosti spletnih storitev RESTful?
- 5. Kakšna so vodilna načela REST?
- 6. Omenite metode HTTP, ki jih podpira REST.
- 7. Opišite omejitve, ki jih postavlja skladen vmesnik.
- 8. Kaj pravzaprav je vir REST?
- 9. Kaj vam pomeni JAX-RS?
- 10. Kaj razlikuje AJAX in REST drug od drugega?
- 11. Ali lahko naštejete nekaj pomanjkljivosti spletnih storitev RESTful?
- 12. V čem se tehnike PUT in POST razlikujejo med seboj?
- 13. Kako testirate spletne storitve RESTful?
- 14. Opišite API REST v resničnem svetu.
- 15. Kako deluje mikrostoritvena arhitektura?
- 16. Kaj točno je predpomnjenje?
- 17. Opišite koristni tovor.
- 18. Razlikujte med SOAP in REST?
- 19. Ali je mogoče varnostni protokol transportne plasti (TLS) uporabljati z REST?
- 20. Idempotentne metode: kaj so? Kako velja za svet spletnih storitev RESTful?
- 21. Kakšna je funkcionalnost osnovne avtentikacije HTTP?
- 22. Ali menite, da je GraphQL najboljša izbira za ustvarjanje arhitekture mikrostoritev?
- 23. Kakšne so glavne razlike med varnimi in idempotentnimi metodami HTTP?
- 24. Kaj JAX-RS API pomeni za RESTful Root Resource Classes?
- 25. Kaj pravzaprav je Postman in zakaj se uporablja?
- 26. Kako so API-ji REST zaščiteni?
- zaključek
Razvoj REST-a je naredil API-je neverjetno dostopne, obenem pa razkriva njihovo polno moč in potencial. API-je REST je enostavno ustvariti in predpomniti zaradi njihove arhitekture, usmerjene v vire.
Poleg tega so bili API-ji RESTful ves čas predhodniki drugih pomembnih dogodkov, kot sta računalništvo v oblaku in oblikovanje, ki temelji na mikrostoritvah.
Zato ne bi smelo biti presenečenje, da so danes povpraševani po razvijalcih API-ja REST glede na to, kako podjetjem, ki uporabljajo storitve RESTful, zagotavljajo konkurenčno prednost. API-ji REST so priljubljen trend oblikovanja.
Številna IT podjetja želijo znanje REST API razvijalci programske opreme in o tem povprašajte na tehničnih razgovorih.
Tukaj je nekaj najbolj značilnih vprašanj za razgovore z REST API, ki vam bodo pomagala, da se pripravite na razgovore v različnih podjetjih, če želite delati na področju razvoja REST API.
1. Kaj razumete pod REST?
REST je arhitekturna paradigma za oblikovanje spletnih aplikacij, ki temeljijo na protokolu za prenos hiperteksta (HTTP).
REST določa določene standarde, ki jih morajo spletne storitve izpolnjevati, da veljajo za RESTful. Ta priporočila zagotavljajo, da se zahteve in viri hitro in učinkovito prenašajo med odjemalcem in strežnikom z uporabo standardiziranih protokolov HTTP.
2. Kaj mislite z REST API?
Povezava med programsko opremo, znana kot vmesnik za programiranje aplikacij, omogoča komunikacijo in izmenjavo podatkov med sicer neodvisnimi programi. Na primer, spletno mesto z novicami bi lahko uporabljalo Twitter API za samodejno odkrivanje ustreznih tvitov in njihovo vključitev v novice.
API, ki se drži načel REST, je znan kot REST API, včasih znan tudi kot RESTful API. V API-ju REST se vsak del podatkov obravnava kot vir in ima ločeno standardno identiteto vira (URI).
Na primer, Twitter API naredi vsak tvit vir, ki ga je mogoče pridobiti in je na voljo strankam. Twitterjev API lahko uporabniki uporabljajo za objavljanje tvitov in izvajanje drugih nalog spletnega mesta.
3. Kaj pravzaprav je URI?
A računalniško omrežje na vir se lahko sklicujete z uporabo URI-ja ali enotnega identifikatorja vira. Služi kot sredstvo za ločevanje enega vira od drugega. Viri so morda na spletu ali pa tudi ne.
Zaradi svoje standardne strukture URI-ji olajšajo povezovanje celo z različnimi vrstami virov. Lokacija ali ime vira je vključeno v URI skupaj z nizom znakov.
URI je sestavljen iz poti, sheme, poizvedbe in drugih elementov, vendar ne vključuje protokola.
Z uporabo protokola se URL-ji (enotni lokatorji virov) uporabljajo za iskanje virov v internetu ali dostopnih prek njega.
4. Kakšne so značilnosti spletnih storitev RESTful?
- Paradigma odjemalec-strežnik je temelj storitve.
- Storitev lahko dostopa do virov z uporabo URI-jev.
- Storitev uporablja protokol HTTP za pridobivanje podatkov/virov, izvajanje poizvedb in opravljanje drugih nalog.
- Sporočila so ime metode, ki se uporablja za komunikacijo med odjemalcem in strežnikom.
- Te storitve lahko izvajajo tudi arhitekturni vzorec REST z uporabo storitev SOAP.
- Da bi zmanjšali strežniške klice za isto vrsto ponavljajočih se zahtev, te storitve uporabljajo tudi idejo predpomnjenja.
5. Kakšna so vodilna načela REST?
API-ji REST morajo izpolnjevati pet meril:
Ločitev odjemalca in strežnika: za komunikacijo med odjemalcem in strežnikom je mogoče uporabiti samo vrsto zahtev in odgovorov. Samo odjemalci in strežniki lahko pošiljajo zahteve oziroma odgovore. Ta preprosta ideja obema stranema omogoča, da delujeta neodvisno druga od druge.
Enoten vmesnik: Za vse povezave odjemalec-strežnik mora obstajati enoten protokol. Ta protokol za REST je HTTP. Ker vsaka aplikacija zahteva in pošilja podatke v istem jeziku, dosleden vmesnik olajša integracije.
Brez stanja: Strežnik ne shranjuje nobenih zapisov prejšnjih zahtev ali odgovorov v komunikaciji brez stanja. Vsaka zahteva in odgovor vsebujeta vse podrobnosti, potrebne za dokončanje izmenjave. Komunikacija brez stanja poveča hitrost, prihrani pomnilnik in zmanjša obremenitev strežnika. Poleg tega se izogne možnosti, da bi zahteva bila neuspešna zaradi nepopolnih podatkov.
Večplastni sistem: strežniki, ki se nahajajo med odjemalcem in strežnikom API, se imenujejo plasti. Ti dodatni strežniki izvajajo različne storitve, kot sta zaznavanje neželene pošte in optimizacija hitrosti. Sloji v REST so modularni, kar pomeni, da jih je mogoče dodajati in brisati, ne da bi to vplivalo na komunikacijo med odjemalcem in strežnikom API.
Predpomnilnik: odjemalci lahko predpomnijo kateri koli vir za povečanje hitrosti, če odgovori strežnika kažejo, ali je vir mogoče predpomniti ali ne.
Kodiranje na zahtevo: kot odgovor lahko API strankam posreduje izvršljivo računalniško kodo. Odjemalska aplikacija lahko nato zažene kodo na lastni zadnji strani.
6. Omenite metode HTTP, ki jih podpira REST.
Metode HTTP, ki jih REST podpira, so:
- GET: Ta metoda zahteva vir na podanem URL-ju. Telo zahteve ne bi smelo biti vključeno, ker bo prezrto. Mogoče ga je predpomniti lokalno ali na strežniku.
- POST: Ta metoda pošlje podatke storitvi v obdelavo, storitev pa bi morala običajno vrniti nov ali spremenjen vir.
- PUT: vir je posodobljen na naslovu URL zahteve.
- IZBRIŠI: vir je izbrisan na naslovu URL zahteve.
- Možnosti: identificira podprte metode.
- HEAD: vrnjeni so metapodatki URL-ja zahteve.
7. Opišite omejitve, ki jih postavlja skladen vmesnik.
Za ločitev odjemalca od strežnika je potreben skladen vmesnik.
Da bi dosegli skladen vmesnik, so potrebne naslednje štiri omejitve:
- Identifikacija virov: Zahteve odjemalcev morajo za identifikacijo virov (URI-jev) uporabiti standardne ID-je virov.
- Manipulacija virov z uporabo teh predstavitev: odjemalci imajo vse potrebne informacije, da lahko spremenijo stanje vira, ko od strežnika prejmejo predstavitev vira.
- Samoopisna sporočila: Sporočila vključujejo vse metapodatke in druge informacije, ki jih prejemnik potrebuje za razumevanje.
- Hipermedij kot motor stanja aplikacije: Kanal za komunikacijo odjemalec-strežnik je hipermedij, kot je HTML, in odjemalci ne potrebujejo dokumentacije, specifične za API, da bi razumeli odgovore strežnika.
8. Kaj pravzaprav je vir REST?
Viri so temeljne komponente spletne storitve RESTful v arhitekturi REST. Vključujejo vse ključne informacije, do katerih mora dostopati odjemalec API-ja.
Prek strežnika v sistemu odjemalec-strežnik je mogoče dostopati do katere koli vrste virov, kot je stran HTML, slika, videoposnetek ali kar koli drugega, kar je potrebno za dejavnost API-ja.
Viri so identificirani z enotnim identifikatorjem vira. Besedilo, JSON ali XML so sprejemljive predstavitve virov. Glede na navedeno ni nobenih omejitev glede oblike predstavitve.
9. Kaj vam pomeni JAX-RS?
Enostavneje je ustvariti spletne storitve RESTful v Javi zahvaljujoč API-ju Java za spletne storitve RESTful, pogosto znanem kot JAX-RS. Razvijalci lahko z opombami, ki so na voljo, opišejo vire in operacije, ki jih je mogoče izvesti na njih.
10. Kaj razlikuje AJAX in REST drug od drugega?
Ajax:
- Ajax je skupina tehnologij, ki omogoča dinamično posodabljanje Uporabniški vmesnik elemente, ne da bi morali ponovno naložiti stran.
- Ajax odstrani asinhrono komunikacijo med odjemalcem in strežnikom.
POČITK:
- REST zahteva komunikacijo med strežnikom in odjemalcem.
- Uporaba virov je pomembna za strukturo URL-ja in vzorec zahteve/odgovora, ki ju uporablja REST.
11. Ali lahko naštejete nekaj pomanjkljivosti spletnih storitev RESTful?
Sej ni mogoče vzdrževati, ker se storitve držijo koncepta apatridnosti. (Stranka je odgovorna za posredovanje ID-ja seje skozi celotno simulacijo seje.)
Varnostne omejitve niso temeljne za REST. Protokoli, ki ga uporabljajo, podedujejo varnostne ukrepe. Zato je pomembna previdnost pri uvajanju varnostnih ukrepov, kot je integracija preverjanja pristnosti na podlagi SSL/TLS.
12. V čem se tehnike PUT in POST razlikujejo med seboj?
POSTAVITE:
- Za odgovore PUT ni predpomnilnika.
- Idempotenten (tj. več zahtev bo dalo enak rezultat)
- obremenitev zahteve posodobi ali zamenja ciljni vir.
POST:
- idempotentno ni (tj. več zahtev bo dalo večkratnike istega vira)
- Spletni strežnik obdela obremenitev zahteve na podlagi predvidenega vira.
- Če je vključena ustrezna glava za nadzor predpomnilnika, je mogoče odgovore POST shraniti v predpomnilnik.
13. Kako testirate spletne storitve RESTful?
Testiranje spletnih storitev RESTful si lahko pomaga s številnimi orodji, vključno s Swagger in Postman. Pregledovanje parametrov zahteve, kot so parametri poizvedbe, glave in glave odgovorov, je omogočeno zaradi številnih funkcij slednjih.
Poštar lahko uporabite za pošiljanje zahtev končnim točkam in prikaz rezultatov. Iz teh odgovorov je mogoče ustvariti XML in JSON.
Postman in Swagger nudita izjemno primerljive funkcije. Po drugi strani pa Swagger ponuja tudi zmogljivosti, kot je dokumentacija o končni točki.
14. Opišite API REST v resničnem svetu.
- Spletna mesta za potovanja in prodajo vozovnic lahko izkoristijo čase letov in cene, ki jih letalske družbe dajo na voljo prek API-jev.
- Da bi jih lahko uporabljale aplikacije za zemljevide in navigacijo (kot je Google Maps), agencije za javni prevoz svoje podatke pogosto objavijo v realnem času prek API-jev.
- Vremenske aplikacije uporabljajo odprte API-je, ki izmenjujejo vremenske podatke za prikaz vremenskih informacij.
- Razvijalci lahko dostopajo do kartografskih podatkov Google Maps prek številnih gostujočih API-jev. Te API-je razvijalci uporabljajo za vdelavo dinamičnih zemljevidov v svoje aplikacije in spletna mesta.
15. Kako deluje mikrostoritvena arhitektura?
- Zahteve pošiljajo različne stranke z različnimi napravami.
- Po potrditvi identitete strank ponudniki identitet zagotovijo varnostne žetone.
- Zahteve strank upravlja prehod API.
- Vse gradivo sistema se ohrani kot statična vsebina.
- Orodje za upravljanje preveri ravnotežje storitev na vozliščih in morebitne napake.
- Pri odkrivanju poti komunikacije med mikrostoritvami pomaga odkrivanje storitev.
- Podatkovni centri in strežniki proxy sestavljajo razpršene omrežne sisteme, imenovane omrežja za dostavo vsebine.
- Oddaljene storitve omogočajo dostop do informacij na daljavo.
16. Kaj točno je predpomnjenje?
Praksa začasnega shranjevanja kopije odgovora strežnika nekje (na primer v računalniškem pomnilniku), da se do nje pozneje hitreje dostopa, je znana kot predpomnjenje.
Predpomnjenje poveča hitrost strežnika pri uporabi API-jev REST z zmanjšanjem količine dela, ki ga mora strežnik opraviti, da zadovolji zahtevo. Aplikacije, ki uporabljajo API, delujejo hitreje zaradi predpomnjenja, ker jim ni treba predložiti nove zahteve vsakič, ko potrebujejo vir.
Polje nadzora predpomnilnika glave odziva HTTP vsebuje informacije o tem, kako dolgo lahko odjemalec predpomni vir, preden je treba do njega znova dostopati.
17. Opišite koristni tovor.
Koristni tovor v REST se nanaša na informacije, ki jih vsebuje telo odgovora HTTP. Stranka je uporabila tehniko GET, da je zahtevala zadevne podatke.
Dokument, ki vsebuje besedilo tvita in vse potrebne datoteke za objavo tvita na spletnem mestu, bo vključen v tovor, na primer, če zaprosite Twitter API za določen tvit. Poleg tega se koristni tovor lahko vključi v zahtevo HTTP z metodo POST.
18. Razlikujte SOAP VS REST?
- Za razliko od SOAP, ki lahko obravnava samo XML, REST omogoča širši nabor formatov virov, vključno z XML, besedilom, HTML, slikami, videoposnetki in drugimi.
- Ko je varnost ključnega pomena za spletne aplikacije, je SOAP v pomoč. REST ni mogoče uporabiti, ko morajo biti transakcije zaključene varno, ker ni posebno varen.
- Ker je SOAP le protokol, ga REST lahko uporablja v svojih spletnih storitvah, ne pa tudi obratno.
- Medtem ko je REST samo arhitekturni vzorec, ki se uporablja za razvoj spletnih storitev in upošteva določene omejitve, kot so nastavitev odjemalec-strežnik, brezdržavnost, predpomnjen odziv, večplastni sistemi in dosleden vmesnik, je SOAP protokol, ki deluje na podlagi posebnih standardov, ki jih je treba dosledno upoštevati. do.
- Medtem ko REST uporablja univerzalne identifikatorje virov (URI), SOAP uporablja storitvene vmesnike za zagotavljanje svojih zmogljivosti odjemalskim aplikacijam. REST potrebuje nižjo pasovno širino kot SOAP, saj so sporočila SOAP težja z informacijami.
19. Ali je mogoče varnostni protokol transportne plasti (TLS) uporabljati z REST?
Pravzaprav lahko. Komunikacija med odjemalcem in strežnikom REST je šifrirana prek TLS, protokol pa odjemalcem omogoča tudi preverjanje pristnosti strežnikov.
Ker je zamenjava za sloj varnih vtičnic, se uporablja za varno komunikacijo (SSL). Implementacija spletnih storitev RESTful je uspešna s HTTPS, ker učinkovito sodeluje s TLS in SSL.
REST podeduje značilnosti protokola, ki ga izvaja, kar je ena stvar, ki jo je treba opozoriti. Posledično so varnostne zaščite odvisne od protokola, ki ga uporablja REST.
20. Idempotentne metode: kaj so? Kako velja za svet spletnih storitev RESTful?
Ko je URI enak, imajo nekatere metode HTTP v zahtevi enak vpliv na strežnik, ne glede na to, ali so dostavljene enkrat ali večkrat. Idempotentne tehnike so znane kot te.
Na primer, ne glede na to, kolikokrat se izvede URI z metodo GET, bo strežnik vedno doživel enak rezultat. Idempotentne metode vključujejo GET, PUT in PATCH, če naštejemo le nekatere.
Idempotentne metode HTTP so nekatere od tistih, ki jih uporablja RESTful spletne aplikacije. Potrebni so za zagotavljanje doslednosti v dejavnostih spletnih storitev RESTful.
Stranke, ki uporabljajo API-je REST, lahko povzročijo napake v kodi, ki prisilijo API REST, da nehote izvede ponavljajoče se zahteve. Ti klici lahko povzročijo zlorabo virov.
21. Kakšna je funkcionalnost osnovne avtentikacije HTTP?
Pri uporabi osnovne avtentikacije kot dela API-jev mora uporabnik predložiti uporabniško ime in geslo, ki ju brskalnik združi v obliki »uporabniško ime: geslo« in kodira base64.
Pri vsaki zahtevi HTTP iz brskalnika se kodirana vrednost dostavi kot vrednost za glavo »Authorization«. Ker so poverilnice samo kodirane, je priporočljivo, da uporabite ta obrazec pri pošiljanju zahtev HTTPS, ker niso varne in jih lahko kdo prestreže, če varnostni protokoli niso uporabljeni.
22. Ali menite, da je GraphQL najboljša izbira za ustvarjanje arhitekture mikrostoritev?
Mikrostoritve in GraphQL se odlično ujemata, ker GraphQL ohranja vašo mikrostoritveno arhitekturo skrivnost pred vašimi strankami.
Na sprednji strani želite, da vsi vaši podatki prihajajo iz enega samega API-ja, na zadnji strani pa jih želite razdeliti na mikrostoritve. Najboljša tehnika, ki jo poznam za doseganje obojega, je uporaba GraphQL.
Omogoča vam, da svoje zaledje razdelite na mikrostoritve, hkrati pa vsaki aplikaciji še vedno dajete en API in omogočate združevanje podatkov iz različnih storitev.
23. Kakšne so glavne razlike med varnimi in idempotentnimi metodami HTTP?
Idempotentne metode proizvedejo enak rezultat, če jih prikličete enkrat ali večkrat prek iste zahteve. Metoda PUT je idempotentna.
Vse varne metode so idempotentne, vendar niso vse idempotentne metode varne, saj varne metode ne spremenijo virov. GET je na primer varen, saj samo pridobi podatke in ne spremeni vira.
Poleg tega je idempotenten, kar pomeni, da bo ob klicu vedno vrnil enak odgovor.
24. Kaj JAX-RS API pomeni za RESTful Root Resource Classes?
Izdaja Java Enterprise Edition ponuja razrede in vmesnike, ki so v skladu z zahtevami JAX-RS API. S pomočjo JAX-RS je ustvarjanje spletnih storitev Java v arhitekturnem slogu REST poenostavljeno.
V API-ju JAX-RS so razredi korenskih virov samo »navadni stari javanski objekti« ali POJO. Za implementacijo potrebnih spletnih virov uporabljajo opombe JAX-RS.
Imajo opombe @path ali pa ima vsaj ena od njihovih metod opombe @path. Lahko jih povzamemo kot razrede Java z metodami za obravnavo končnih točk API-ja.
25. Kaj pravzaprav je Postman in zakaj se uporablja?
Orodje za razvoj API-jev, imenovano Postman, se uporablja za ustvarjanje, testiranje in spreminjanje API-jev. To orodje lahko razvijalci uporabljajo za katero koli funkcijo, ki jo potrebujejo za API. Razvijalcem poenostavlja in olajša delo.
Postman olajša izdelavo različnih poizvedb HTTP, vključno z GET, POST, PUT in PATCH, shranjevanje okolij za poznejšo uporabo in pretvorbo API-jev v kodo v številnih različnih jezikih.
Vsaka stopnja cikla API-ja je s Postmanom poenostavljena, sodelovanje pa je poenostavljeno za hitrejši razvoj API-ja.
Poleg tega razvijalcem omogoča upravljanje dokumentacije, specifikacij, testnih primerov, procesov in katalogov API-jev.
26. Kako so API-ji REST zaščiteni?
Ker API-ji REST ne uporabljajo tako strogih varnostnih zaščit kot API-ji SOAP, občutljivih podatkov ne bi smeli pošiljati ali pridobivati z njihovo uporabo.
Vendar zaupanja vredni API-ji REST še naprej vključujejo varnostne kontrole za varne in zanesljive prenose podatkov.
- Preverjanje pristnosti in avtorizacija: vsaka zahteva API-ju mora prestati ti dve preverjanji. Preverjanje odjemalčeve identitete prek avtentikacije in preverjanje, ali ima pooblastilo za dostop do zahtevanih virov prek avtorizacije, sta dva različna postopka.
- Preverjanje: Preden API odobri dostop do svojih virov, je treba zahteve še vedno preveriti glede morebitne škodljive kode po preverjanju pristnosti in avtorizaciji. Strežnik bi bil tako odprt za napad z vbrizgavanjem.
- Preverjanje: Preden API odobri dostop do svojih virov, je treba zahteve še vedno preveriti glede morebitne škodljive kode po preverjanju pristnosti in avtorizaciji. Strežnik bi bil tako odprt za napad z vbrizgavanjem.
- Šifriranje: šifriranje TLS/SSL ščiti povezavo med odjemalcem in strežnikom ter preprečuje hekerjem prestrezanje zahtev in odgovorov.
- Tehnike omejevanja hitrosti, kot so omejitve in dušenje, ščitijo strežnike pred napadi s surovo silo, kot je DDoS, katerih cilj je poslabšanje ali zrušitev.
- V URI-jih ni občutljivih informacij: URI-ji virov ne smejo vsebovati nobenih zaščitenih podatkov (kot je uporabniško ime, geslo ali žeton za preverjanje pristnosti).
zaključek
čestitke! Več osnovnih do zapletenih REST API vprašanj za intervjuje in njihove ustrezne rešitve so zdaj na dosegu roke.
Zdaj, ko imate dober koncept, kako odgovoriti na nekatera tipična vprašanja za intervjuje API-ja REST, lahko nadaljujete z odgovarjanjem na intervjuje. Naslednji korak je odvisen od vaših ciljev.
obisk Serija intervjujev s Hashdorkom za pripravo na intervjuje.
Pustite Odgovori