top 20 restful web services interview question
Popis najčešće postavljanih RESTful internetskih usluga Pitanja i odgovori za intervju koji će vam pomoći da se pripremite za sljedeći intervju:
Web usluge, vrlo poznati pojam kada govorimo o razmjeni neke vrste podataka između više aplikacija ili recimo softvera. Na temelju modela klijent-poslužitelj, ove usluge može koristiti više softverskih aplikacija napisanih na raznim jezicima, a također ima prednost rada na različitim platformama.
Isto tako REST, Reprezentativni prijenos države također se temelji na arhitekturi stila klijent-poslužitelj bez državljanstva, kojoj se lako može pristupiti preko mreže i identificira se URI-jem, tj. Jedinstvenim identifikatorom resursa.
Glavni cilj opisivanja gornje definicije web usluga, kao i REST-a, jest pomoći vam da se povežete s tim pojmom ' RESTful web usluge ’ jer su RESTful web usluge definirane kao web usluge koje koriste HTTP metodu i temelje se na arhitekturi REST. Ima korisne značajke kao što su velika skalabilnost i održivost, stvaranje API-ja itd.
Saznajte više = >> API za flask Restful
U ovom ćete članku pronaći zbirku pitanja i odgovora koja će vam očistiti osnove i pomoći u razvoju boljeg razumijevanja predmeta.
Također pročitajte:
Popis pitanja o RESTful web uslugama
Počnimo.
P # 1) Kako razumijete što su RESTful web usluge?
Odgovor: Baš kao i SOAP (Simple Object Access Protocol), koji se koristi za razvoj web usluga XML metodom, i RESTful web usluge koriste web protokol tj. Metodu HTTP protokola. Imaju značajku poput skalabilnosti, održivosti, pomažu u komunikaciji višestrukih aplikacija izgrađenih na raznim programskim jezicima itd.
Implementacija RESTful web usluge definira način pristupa različitim resursima koji su potrebni klijentu i on je zahtjev poslao poslužitelju putem web preglednika.
Važni aspekti ove provedbe uključuju:
- Resursi
- Zaglavlja zahtjeva
- Tijelo zahtjeva
- Tijelo odgovora
- Kodovi statusa
P # 2) Navedite protokol koji koriste RESTful web usluge.
Odgovor: RESTful web usluge koriste poznati web protokol tj. HTTP protokol. To služi kao medij podatkovne komunikacije između klijenta i poslužitelja. HTTP standardne metode koriste se za pristup resursima u arhitekturi web usluga RESTful.
P # 3) Objasnite pojam 'Adresiranje' s obzirom na WEB uslugu RESTful.
Odgovor: Baš kao što trebamo adresu s poštanskim brojem da bismo došli do bilo koje osobe, na isti način, 'Adresiranje' locira resurse koji su prisutni na poslužitelju u svrhu hostinga web usluga. To se obično radi s URI-jem, tj. Objedinjenim identifikatorom resursa.
P # 4) Navedite značajke RESTful web usluga.
Odgovor: Svaka RESTful web usluga trebala bi imati sljedeće značajke i karakteristike koje su navedene u nastavku:
- Na temelju predstavljanja klijent-poslužitelj.
- Korištenje HTTP protokola za obavljanje funkcija poput dohvaćanja podataka s web usluge, dohvaćanja resursa, izvršavanja bilo kojeg upita itd.
- Komunikacija između poslužitelja i klijenta vrši se putem medija poznatog kao „razmjena poruka“.
- Adresiranje resursa dostupnih na poslužitelju putem URI-a.
- Temelji se na konceptu apatridije, gdje su svaki zahtjev i odgovor klijenta neovisni o drugom, s potpunim jamstvom pružanja potrebnih informacija.
- Koristi koncept predmemoriranja.
- Radi na Uniform sučelju.
P # 5) Objasnite tehniku razmjene poruka.
Odgovor: Poruke su način razmjene podataka za bilo koju vrstu komunikacije. Na isti način, HTTP protokol igra ulogu komunikacije porukom između klijenta i poslužitelja putem metoda HTTP zahtjeva i odgovora. HTTP zahtjev šalje klijent koji sadrži informacije o podacima i zauzvrat prima HTTP odgovor od poslužitelja.
Poruke su prikupljanje podataka o podacima, tj. Metapodacima.
java vs c ++ što je bolje
P # 6) Koje su ključne komponente HTTP zahtjeva i HTTP odgovora?
Odgovor: Osnovne komponente pod HTTP zahtjevom su:
- Glagol: Uključuje metode poput GET, PUT, POST itd.
- Jedinstveni identifikator resursa za identificiranje resursa dostupnih na poslužitelju.
- HTTP verzija za specificiranje HTTP verzije.
- Zaglavlje HTTP zahtjeva za sadržavanje podataka o podacima.
- Tijelo HTTP zahtjeva koje sadrži prikaz resursa koji se koriste.
Osnovne komponente pod HTTP odgovorom su:
- Šifra zahtjeva: Sadrži razne kodove koji određuju status odgovora poslužitelja.
- HTTP verzija za specificiranje HTTP verzije.
- Zaglavlje HTTP odgovora za sadržavanje podataka o podacima.
- Tijelo HTTP odgovora koje sadrži prikaz resursa koji se koriste.
P # 7) Objasnite pojam 'apatridnost' s obzirom na WEB uslugu RESTful.
Odgovor: U REST-u, ST sam definira prijenos države, a apatridnost znači potpunu izolaciju. To znači da se stanje klijentske aplikacije nikada ne pohranjuje na poslužitelju i prenosi se dalje.
U tom procesu klijenti šalju sve podatke potrebne poslužitelju za ispunjavanje poslanog HTTP zahtjeva. Stoga svaki klijent zahtjeva i njegov je odgovor neovisan o drugome s potpunim jamstvom davanja potrebnih podataka.
Svaki klijent prosljeđuje 'identifikator sesije' koji ujedno djeluje i kao identifikator svake sesije.
P # 8) Navedite prednosti i nedostatke ‘apatridije’.
Odgovor: U gornjem smo pitanju razumjeli značenje apatridnosti u odnosu na komunikaciju klijent-poslužitelj. Pogledajmo sada neke njegove prednosti i nedostatke.
Prednosti:
- Svaka metoda potrebna za komunikaciju identificirana je kao neovisna metoda, tj. Ne postoje ovisnosti o drugim metodama.
- Bilo koja prethodna komunikacija s klijentom i poslužiteljem nije održavana, a samim time je cijeli postupak vrlo pojednostavljen.
- Ako se bilo koja informacija ili metapodaci koji su se ranije koristili u drugoj metodi, tada klijent ponovno šalje te informacije s HTTP zahtjevom.
- HTTP protokol i REST web usluga, obje dijele značajku apatridije.
Mane:
- U svakom HTTP zahtjevu od klijenta web usluga zahtijeva dostupnost nekih podataka o stanju klijenta.
P # 9) Navedite neka važna ograničenja za RESTful web usluge.
Odgovor: Svako ograničenje ima pozitivne, ali i negativne utjecaje, a kako bi se stvorila cjelokupna arhitektura, trebala bi postojati ravnoteža između njih obje.
Ispod su navedena neka važna ograničenja za RESTful web uslugu:
- Trebale bi postojati zasebne brige za svaki poslužitelj i klijent što će pomoći u održavanju modularnosti unutar aplikacije. To će također smanjiti složenost i povećati skalabilnost.
- Komunikacija klijent-poslužitelj trebala bi biti bez državljanstva, što znači da se ne koriste prethodne informacije i da se potpuno izvršavanje vrši izolirano. U slučaju neuspjeha, klijentu također pomaže da se oporavi.
- U komunikaciji klijent-poslužitelj, HTTP odgovor trebao bi se predmemorirati tako da se prema potrebi može koristiti predmemorirana kopija, što zauzvrat poboljšava skalabilnost i performanse poslužitelja.
- Četvrto ograničenje je jednoobrazno sučelje koje omogućuje lako razumijevanje interakcije klijent-poslužitelj. Ovo se ograničenje dalje dijeli na četiri pot-ograničenja kao:
- Identifikacija resursa
- Manipulacija resursima
- Svaka poruka je lako razumljiva i samoopisna je.
- Hypermedia, koji je definiran kao tekst s hipervezama i kad se klikne, prelazi u drugo stanje aplikacije.
- Komunikacija klijent-poslužitelj trebala bi se odvijati na slojevitom sustavu, pa bi klijent trebao imati znanje samo o srednjoj razini s kojom se komunikacija obavlja,
P # 10) Što je 'resurs'?
Odgovor: Baš kao i instanca 'Object', i mi smo u Object Orient Programming Languageu naučili, na isti način, 'Resource' se definira kao objekt tipa koji može biti slika, HTML datoteka, tekstualni podaci i bilo koja vrsta dinamike podaci. Dostupne su razne vrste formata predstavljanja kako bi se predstavio resurs.
U nastavku su navedeni neki od najčešćih resursa:
- JSON
- YAML
- XML
- HTML
P # 11) Zašto je potrebno pravilno predstavljanje resursa?
Odgovor: Zastupljenost je vrlo važna jer određuje lako prepoznavanje resursa. Pravilnim predstavljanjem resursa u odgovarajućem formatu omogućuje klijentu lako razumijevanje formata.
P # 12) Navedite neke važne točke koje treba imati na umu prilikom dizajniranja predstavljanja resursa za RESTful web usluge.
Odgovor: Kako ne postoje ograničenja u formatu u kojem se vrši predstavljanje resursa, već samo da je glavni uvjet format predstavljanja prema zahtjevu klijenta.
Dobar prikaz resursa osmišljen je uzimajući u obzir sljedeće glavne točke:
- Klijent i poslužitelj trebaju lako razumjeti format predstavljanja resursa.
- Prikaz bi trebao biti cjelovit bez obzira na strukturu formata, koja može biti složena ili jednostavna.
- U slučaju povezivanja resursa s drugim resursima, takvi bi slučajevi također trebali biti razmotreni i riješeni.
P # 13) Što je keširanje?
Odgovor: Keširanje je postupak u kojem se sprema odgovor poslužitelja tako da se prema potrebi može koristiti predmemorirana kopija i nema potrebe za ponovnim generiranjem istog odgovora. Ovaj postupak ne samo da smanjuje opterećenje poslužitelja već zauzvrat povećava skalabilnost i performanse poslužitelja. Samo je klijent u stanju predmemorirati odgovor i to također na ograničeno vrijeme.
Dolje su navedena zaglavlje izvora i njihov kratki opis kako bi se mogli identificirati za postupak predmemoriranja:
- Vrijeme i datum stvaranja resursa
- Vrijeme i datum izmjene resursa koji obično pohranjuju zadnji detalj.
- Zaglavlje kontrole predmemorije
- Vrijeme i datum isteka predmemoriranog resursa.
- Dob koja određuje vrijeme od kada je resurs preuzet.
P # 14) Objasnite zaglavlje kontrole predmemorije.
Odgovor: Standardno zaglavlje Cache-control može vam pomoći u postizanju sposobnosti predmemorije. U nastavku je dat kratak opis različitih zaglavlja kontrole predmemorije:
- Javnost: Resurse koji su označeni kao javni mogu predmemorirati bilo koje posredne komponente između klijenta i poslužitelja.
- Privatna: Resurse koji su označeni kao privatni klijent može predmemorirati samo.
- Nijedna predmemorija znači da se određeni resurs ne može predmemorirati i time se zaustavlja cijeli proces.
P # 15) Koje su najbolje prakse kojih se treba pridržavati tijekom dizajniranja RESTful web usluga?
Odgovor: Da biste dizajnirali sigurnu RESTful web uslugu, postoje neke najbolje prakse ili recimo točke koje treba razmotriti.
Objašnjeni su na sljedeći način:
- Svaki unos na poslužitelju trebao bi biti provjeren.
- Ulaz bi trebao biti dobro oblikovan.
- Nikada ne prosljeđujte osjetljive podatke putem URL-a.
- Za bilo koju sesiju korisnik bi trebao biti ovjeren.
- Za ukazivanje na bilo koju grešku treba koristiti samo poruke HTTP pogreške.
- Koristite format poruke koji je lako razumljiv i koji je potreban klijentu.
- Objedinjeni identifikator resursa trebao bi biti opisan i lako razumljiv.
P # 16) Što je nosivost?
Odgovor: Podaci zahtjeva koji su prisutni u dijelu tijela svake HTTP poruke nazivaju se „nosivost“. U web usluzi Restful korisni teret primatelju se može proslijediti samo metodom POST.
Ne postoji ograničenje slanja podataka kao korisnog tereta putem metode POST, ali briga je samo što će više podataka trošiti više vremena i propusnosti. Ovo također može oduzeti velik dio korisnikovog vremena.
P # 17) Navedite neke od HTTP metoda s opisom.
Odgovor: Dolje je naveden popis HTTP metoda s njihovim opisima:
- DOBITI: Ovo je operacija samo za čitanje koja dohvaća popis korisnika na poslužitelju.
- STAVITI: Ova se operacija koristi za stvaranje bilo kojeg novog resursa na poslužitelju.
- POŠTA: Ova se operacija koristi za ažuriranje starog resursa ili za stvaranje novog resursa.
- IZBRISATI: Kao što i samo ime govori, ova se operacija koristi za brisanje bilo kojeg resursa na poslužitelju.
- OPCIJE: Ova operacija dohvaća popis svih podržanih opcija resursa dostupnih na poslužitelju.
P # 18) Koja je razlika između metode PUT i metode POST?
Odgovor: Glavna razlika između metode PUT i POST je u tome što je rezultat generiran metodom PUT uvijek isti bez obzira na to koliko se puta operacija izvršila. S druge strane, rezultat generiran POST operacijom uvijek se razlikuje.
P # 19) Kakvo je vaše razumijevanje o JAX-RS?
Odgovor: JAX-RS definiran je kao Java API za RESTful web uslugu. Među više knjižnica i okvira, ovo se smatra najprikladnijim API-jem temeljenim na Java programskom jeziku koji podržava RESTful web uslugu.
Neke od implementacija JAX-RS su:
- Dres
- ODMORNO
- Apache CFX
- igra
Među njima je Jersey najpopularniji okvir.
P # 20) Koji su HTTP kodovi statusa? Uvrstite nekoliko sa značenjem.
Odgovor: HTTP statusni kodovi u osnovi predstavljaju prikaz statusa zadatka koji je izveden na poslužitelju, s načinom rada nekih kodova. Svaki kod ima svoje značenje.
Neki od HTTP statusnih kodova sa svojim značenjem su sljedeći:
- Šifra 200: To ukazuje na uspjeh.
- Šifra 201: To znači da je resurs uspješno stvoren.
- Šifra 204: To ukazuje na to da u tijelu odgovora nema sadržaja.
- Šifra 404: To ukazuje na to da ne postoji dostupna metoda.
Postoji još nekoliko takvih kodova koji označavaju status.
Zaključak
Ovaj će vam članak pomoći da se pripremite za intervju za RESTful web usluge i pomoći vam da razumijete koncept na jednostavan i lak način. Pokušao sam pokriti sva područja koja su prijeko potrebna za potpuno poznavanje RESTful web usluga.
Daljnje čitanje - Vodič za Flask API
Samo zapamtite, možda je moguće da na intervjuu ne možete odgovoriti na sva pitanja, ali ono što odgovorite mora biti točno. Vaš osnovni koncept trebao bi biti jak, a razina vašeg samopouzdanja visoka.
Sve najbolje!!
Preporučena literatura
- Neka nezgodna ručna ispitivanja Pitanja i odgovori
- Top 20+ .NET intervjua. Pitanja i odgovori
- 20 najpopularnijih pitanja i odgovora na intervjuu za TestNG
- 20 najvažnijih pitanja i odgovora za ispitivanje API ispitivanja
- Pitanja i odgovori za ispitivanje ETL-a
- Top 20 najnovijih pitanja i odgovora na intervjue za DevOps za 2021. godinu
- 20 pitanja i odgovora u intervjuu za vodeće poslovne analitičare (POPIS 2021)
- Top 20 RESTful pitanja i odgovora za internetske usluge
- Vrh 45 pitanja i odgovora za internetske usluge (RESTful, SOAP, sigurnosna pitanja)