top 20 restful web services interview question
Lista celor mai frecvente întrebări despre serviciile RESTful Web Întrebări și răspunsuri la interviu pentru a vă ajuta să vă pregătiți pentru următorul interviu:
Servicii web, un termen foarte cunoscut atunci când vorbim despre schimbul de date între mai multe aplicații sau spunem software. Pe baza modelului client-server, aceste servicii pot fi utilizate de mai multe aplicații software scrise în diferite limbi și, de asemenea, are avantajul de a rula pe diferite platforme.
De asemenea, REST, Representational State Transfer se bazează, de asemenea, pe arhitectura în stil client-server fără stat, care poate fi accesată cu ușurință prin rețea și este identificată prin URI-uri, adică Uniform Resource Identifier
Scopul principal al descrierii definiției serviciilor web, precum și a REST-ului de mai sus este de a vă ajuta să vă raportați la termen ' Servicii web RESTful ” deoarece serviciile web RESTful sunt definite ca servicii web care utilizează metoda HTTP și se bazează pe arhitectura REST. Are caracteristici utile precum scalabilitate și mentenabilitate ridicate, crearea API-urilor etc.
Aflați mai multe = >> API Flask Restful
În acest articol, veți găsi colecția de întrebări și răspunsuri care vă va clarifica elementele de bază și vă va ajuta să dezvoltați o mai bună înțelegere a subiectului.
Citește și:
- Cele mai importante întrebări de interviu pentru servicii web
- Întrebări de top ale interviului SoapUI
Lista întrebărilor despre serviciile web RESTful
Să începem.
Q # 1) Ce înțelegeți despre ce sunt serviciile web RESTful?
Răspuns: La fel ca SOAP (Simple Object Access Protocol), care este utilizat pentru dezvoltarea serviciilor web prin metoda XML, serviciile web RESTful folosesc protocolul web, adică metoda protocolului HTTP. Au caracteristica precum scalabilitatea, mentenabilitatea, ajută la comunicarea cu mai multe aplicații construite pe diferite limbaje de programare etc.
Implementarea serviciului web RESTful definește metoda de accesare a diferitelor resurse solicitate de client și acesta a trimis cererea către server prin intermediul browserului web.
Aspectele importante ale acestei implementări includ:
- Resurse
- Solicitați anteturi
- Solicitați corpul
- Corpul de răspuns
- Coduri de stare
Q # 2) Denumiți protocolul utilizat de serviciile web RESTful.
Răspuns: Serviciile web RESTful folosesc un protocol web celebru, adică protocol HTTP. Acesta servește ca mijloc de comunicare a datelor între client și server. Metodele standard HTTP sunt utilizate pentru a accesa resursele în arhitectura serviciilor web RESTful.
implementarea c ++ a listei dublu legată
Q # 3) Explicați termenul „Adresare” cu privire la serviciul WEB RESTful.
Răspuns: La fel cum avem nevoie de o adresă cu cod poștal pentru a ajunge la orice persoană, în același mod, „Adresare” localizează resurse care sunt prezente pe server în scopul găzduirii serviciilor web. Acest lucru se face, de obicei, cu URI, adică Unified Resource Identifier.
Q # 4) Înregistrați caracteristici ale serviciilor web RESTful.
Răspuns: Fiecare serviciu web RESTful ar trebui să aibă următoarele caracteristici și caracteristici care sunt enumerate mai jos:
- Pe baza reprezentării Client-Server.
- Utilizarea protocolului HTTP pentru efectuarea de funcții precum preluarea de date din serviciul web, recuperarea resurselor, executarea oricărei interogări etc.
- Comunicarea dintre server și client se realizează prin intermediul mediului cunoscut sub numele de „mesagerie”.
- Adresarea resurselor disponibile pe server prin URI-uri.
- Bazat pe conceptul de apatridie în care fiecare solicitare și răspuns ale clienților sunt independente de celălalt, cu asigurarea completă a furnizării informațiilor solicitate.
- Folosește conceptul de cache.
- Funcționează pe interfața Uniform.
Q # 5) Explicați tehnica de mesagerie.
Răspuns: Mesajele sunt modul de schimb de date pentru orice tip de comunicare care are loc. În același mod, protocolul HTTP joacă rolul de comunicare a mesajelor între client și server prin metodele de solicitare și răspuns HTTP. Solicitarea HTTP este trimisă de clientul care conține informații despre date și, la rândul său, primește răspuns HTTP de la server.
Mesajele sunt colectarea de informații despre date, adică metadate.
Q # 6) Care sunt componentele de bază ale cererii HTTP și ale răspunsului HTTP?
Răspuns: Componentele de bază din cererea HTTP sunt:
- Verb: Include metode precum GET, PUT, POST etc.
- Uniform Resource Identifier pentru identificarea resurselor disponibile pe server.
- Versiune HTTP pentru specificarea versiunii HTTP.
- Antet de solicitare HTTP pentru conținerea informațiilor despre date.
- Corp de solicitare HTTP care conține reprezentarea resurselor utilizate.
Componentele de bază din Răspuns HTTP sunt:
- Cod de solicitare: Acesta conține diverse coduri care determină starea răspunsului serverului.
- Versiune HTTP pentru specificarea versiunii HTTP.
- Antet de răspuns HTTP pentru conținerea informațiilor despre date.
- Corp de răspuns HTTP care conține reprezentarea resurselor utilizate.
Q # 7) Explicați termenul „apatridie” în legătură cu serviciul WEB RESTful.
Răspuns: În REST, ST însuși definește transferul de stat și apatridia înseamnă izolare completă. Aceasta înseamnă că starea aplicației clientului nu este stocată niciodată pe server și este transmisă mai departe.
În acest proces, clienții trimit toate informațiile necesare pentru ca serverul să îndeplinească cererea HTTP care a fost trimisă. Astfel fiecare client solicită și răspunsul este independent de celălalt, cu asigurarea completă a furnizării informațiilor solicitate.
Fiecare client trece un „identificator de sesiune” care acționează și ca un identificator pentru fiecare sesiune.
Q # 8) Obțineți avantaje și dezavantaje ale „apatridiei”.
Răspuns: În întrebarea de mai sus, am înțeles semnificația apatridiei în ceea ce privește comunicarea client-server. Acum, să vedem câteva dintre avantajele și dezavantajele sale.
Avantaje:
- Fiecare metodă necesară pentru comunicare este identificată ca o metodă independentă, adică nu există dependențe de alte metode.
- Orice comunicare anterioară cu clientul și serverul nu este menținută și, prin urmare, întregul proces este foarte simplificat.
- Dacă orice informație sau metadate utilizate mai devreme sunt necesare într-o altă metodă, atunci clientul trimite din nou acele informații cu cererea HTTP.
- Protocolul HTTP și serviciul web REST, ambele împărtășesc caracteristica apatridiei.
Dezavantaje:
cel mai bun software vm pentru Windows 10
- În fiecare solicitare HTTP din partea clientului, disponibilitatea unor informații cu privire la starea clientului este necesară de către serviciul web.
Q # 9) Înscrieți câteva constrângeri importante pentru serviciile web RESTful.
Răspuns: Fiecare constrângere are efecte pozitive, precum și negative și pentru a produce o arhitectură generală, ar trebui să existe un echilibru între ambele.
Mai jos sunt menționate câteva constrângeri importante pentru serviciul web RESTful:
- Ar trebui să existe preocupări separate pentru fiecare server și client, care vor ajuta la menținerea modularității în cadrul aplicației. Acest lucru va reduce, de asemenea, complexitatea și va crește scalabilitatea.
- Comunicarea client-server ar trebui să fie apatridă, ceea ce înseamnă că nu se utilizează informații anterioare și execuția completă se face izolat. În caz de eșec, îl ajută și pe client să-și revină.
- În comunicarea client-server, răspunsul HTTP ar trebui să fie cache, astfel încât, atunci când este necesar, să poată fi utilizată o copie cache, care la rândul său îmbunătățește scalabilitatea și performanța serverului.
- A patra constrângere este interfața uniformă care permite interacțiunea client-server să fie ușor de înțeles. Această constrângere este împărțită în continuare în patru sub-constrângeri ca:
- Identificarea resurselor
- Manipularea resurselor
- Fiecare mesaj este ușor de înțeles și este autodescriptiv.
- Hipermedia, care este definită ca textul cu hyperlinkuri și când este făcut clic, se mută într-o altă stare a aplicației.
- Comunicarea client-server ar trebui să se facă pe un sistem stratificat și astfel clientul ar trebui să aibă cunoștințe doar despre nivelul intermediar cu care se face comunicarea,
Q # 10) Ce este o „resursă”?
Răspuns: La fel ca instanța „Obiect”, am învățat în limbajul de programare a obiectului orientat, în același mod, „Resursă” este definit ca un obiect de tip care poate fi o imagine, un fișier HTML, date text și orice tip de dinamică date. Există varietăți de formate de reprezentare disponibile pentru a reprezenta o resursă.
Unele dintre cele mai comune resurse sunt prezentate mai jos:
- JSON
- YAML
- XML
- HTML
Q # 11) De ce este necesară reprezentarea corectă a resurselor?
Răspuns: Reprezentarea este foarte importantă, deoarece determină identificarea ușoară a resurselor. Cu reprezentări adecvate ale resurselor în formatul adecvat, permite clientului să înțeleagă cu ușurință formatul.
Q # 12) Înscrieți câteva puncte importante care ar trebui să fie reținute în timp ce proiectați reprezentarea resurselor pentru serviciile web RESTful.
Răspuns: Deoarece nu există restricții privind formatul în care se face reprezentarea resurselor, ci doar că cerința principală este formatul reprezentării ar trebui să fie conform cerințelor clientului.
O reprezentare bună a resurselor este concepută luând în considerare următoarele puncte principale:
- Formatul de reprezentare a resurselor ar trebui să fie ușor de înțeles de către client și server.
- Reprezentarea trebuie să fie completă, indiferent de structura formatului său, care poate fi complexă sau simplă.
- În cazul legăturii resurselor cu alte resurse, asemenea cazuri ar trebui luate în considerare și tratate.
Q # 13) Ce este cache-ul?
Răspuns: Memorarea în cache este procesul în care este stocat răspunsul serverului, astfel încât o copie în cache poate fi utilizată atunci când este necesar și nu este nevoie să generați din nou același răspuns. Acest proces nu numai că reduce încărcarea serverului, ci, la rândul său, mărește scalabilitatea și performanța serverului. Numai clientul este capabil să cacheze răspunsul și și pentru o perioadă limitată de timp.
Menționate mai jos sunt antetul resurselor și scurta descriere a acestora, astfel încât să poată fi identificate pentru procesul de stocare în cache:
- Ora și data creării resurselor
- Ora și data modificării resurselor care stochează de obicei ultimul detaliu.
- Antet de control al memoriei cache
- Ora și data la care va expira resursa cache.
- Vârsta care determină timpul de la preluarea resursei.
Q # 14) Explicați antetul Cache-control.
Răspuns: Un antet standard de control al memoriei cache poate ajuta la atingerea capacității cache. Mai jos este prezentată o scurtă descriere a diferitelor antete de control cache:
- Public: Resursele marcate ca publice pot fi stocate în cache de orice componentă intermediară dintre client și server.
- Privat: Resursele marcate ca private pot fi stocate în cache numai de către client.
- Niciun cache nu înseamnă că o anumită resursă nu poate fi stocată în cache și astfel întregul proces este oprit.
Q # 15) Care sunt cele mai bune practici care trebuie urmate în timpul proiectării serviciilor web RESTful?
Răspuns: Pentru a proiecta un serviciu web RESTful sigur, există câteva bune practici sau puncte de spus care ar trebui luate în considerare.
Acestea sunt explicate după cum urmează:
- Fiecare intrare de pe server ar trebui validată.
- Intrarea trebuie să fie bine formată.
- Nu treceți niciodată date sensibile prin URL.
- Pentru orice sesiune, utilizatorul ar trebui să fie autentificat.
- Doar mesajele de eroare HTTP ar trebui utilizate pentru a indica orice eroare.
- Utilizați un format de mesaj ușor de înțeles și solicitat de client.
- Unified Resource Identifier trebuie să fie descriptiv și ușor de înțeles.
Q # 16) Ce este sarcina utilă?
Răspuns: Datele de solicitare care sunt prezente în partea corpului fiecărui mesaj HTTP sunt denumite „sarcină utilă”. În serviciul web Restful, sarcina utilă poate fi transmisă numai destinatarului prin metoda POST.
Nu există o limită de trimitere a datelor ca sarcină utilă prin metoda POST, dar singura preocupare este că mai multe date vor consuma mai mult timp și lățime de bandă. Acest lucru poate consuma o mare parte din timpul utilizatorului.
exemplu de testare pentru aplicații web
Q # 17) Înscrieți câteva dintre metodele HTTP cu descrierea.
Răspuns: Înscris mai jos este lista metodelor HTTP cu descrierile lor:
- OBȚINE: Aceasta este o operațiune de numai citire care preia lista utilizatorilor de pe server.
- A PUNE: Această operație este utilizată pentru crearea oricărei resurse noi pe server.
- POST: Această operație este utilizată pentru actualizarea unei resurse vechi sau pentru crearea unei resurse noi.
- ȘTERGE: După cum sugerează și numele, această operațiune este utilizată pentru ștergerea oricărei resurse de pe server.
- OPȚIUNI: Această operațiune preia lista oricăror opțiuni de resurse acceptate care sunt disponibile pe server.
Q # 18) Care este diferența dintre metoda PUT și metoda POST?
Răspuns: Diferența majoră între metoda PUT și metoda POST este că rezultatul generat cu metoda PUT este întotdeauna același, indiferent de câte ori se efectuează operația. Pe de altă parte, rezultatul generat de operația POST este întotdeauna diferit de fiecare dată.
Q # 19) Care este înțelegerea dvs. despre JAX-RS?
Răspuns: JAX-RS este definit ca API-ul Java pentru serviciul web RESTful. Printre bibliotecile și cadrul multiplu, acesta este considerat cel mai potrivit API bazat pe limbaj de programare Java care acceptă serviciul web RESTful.
Unele dintre implementările JAX-RS sunt:
- Jersey
- RESTEasy
- Apache CFX
- Joaca
Dintre acestea, Jersey este cel mai popular cadru.
Q # 20) Ce sunt codurile de stare HTTP? Înrolează puțini cu sens.
Răspuns: Codurile de stare HTTP reprezintă practic reprezentarea stării sarcinii care a fost efectuată pe server, cu modul unor coduri. Fiecare cod are propria lor semnificație.
Unele dintre codurile de stare HTTP cu semnificația lor sunt după cum urmează:
- Cod 200: Acest lucru indică succes.
- Cod 201: Aceasta indică faptul că resursa a fost creată cu succes.
- Cod 204: Acest lucru indică faptul că nu există conținut în corpul răspunsului.
- Cod 404: Acest lucru indică faptul că nu există nicio metodă disponibilă.
Mai sunt puține astfel de coduri care indică starea.
Concluzie
Acest articol vă va ajuta să vă pregătiți pentru interviul RESTful cu servicii web și vă va ajuta să înțelegeți conceptul într-un mod simplu și ușor. Am încercat să acoper toate domeniile care sunt foarte necesare pentru a avea cunoștințe complete despre serviciile web RESTful.
Lecturi suplimentare - Tutorial API Flask
Amintiți-vă, este posibil să nu puteți răspunde la toate întrebările din interviu, dar orice răspundeți trebuie să fie corect. Conceptul dvs. de bază ar trebui să fie puternic, iar nivelul de încredere ar trebui să fie ridicat.
Toate cele bune!!
Lectură recomandată
- Câteva întrebări și răspunsuri dificile de testare manuală
- Top 20+ Întrebări și răspunsuri la interviu .NET
- 20 Cele mai populare întrebări și răspunsuri la interviu TestNG
- Top 20 Cele mai importante API Testarea întrebărilor și răspunsurilor la interviu
- Întrebări și răspunsuri la interviuri de testare ETL
- Top 20 Cele mai recente întrebări și răspunsuri la interviu pentru DevOps pentru 2021
- 20 de întrebări și răspunsuri de top pentru interviul analistului de afaceri (LISTA 2021)
- Top 20 Servicii Web RESTful Întrebare și răspunsuri la interviu
- Top 45 Întrebări și răspunsuri pentru interviuri pentru servicii web (RESTful, SOAP, întrebări de securitate)