Cuprins[Ascunde][Spectacol]
- 1. Ce înțelegi prin REST?
- 2. Ce vrei să spui prin REST API?
- 3. Ce este exact URI?
- 4. Care sunt caracteristicile Serviciilor Web RESTful?
- 5. Care sunt principiile directoare ale REST?
- 6. Menționați metodele HTTP pe care REST le acceptă.
- 7. Descrieți restricțiile impuse de o interfață consistentă.
- 8. Ce este mai exact o resursă REST?
- 9. Ce înseamnă JAX-RS pentru tine?
- 10. Ce diferențiază AJAX și REST unul de celălalt?
- 11. Puteți enumera câteva dezavantaje ale serviciilor web RESTful?
- 12. Ce diferențiază tehnicile PUT și POST una de cealaltă?
- 13. Cum testați serviciile web RESTful?
- 14. Descrieți un API REST în lumea reală.
- 15. Cum funcționează arhitectura microservicii?
- 16. Ce este mai exact memoria cache?
- 17. Descrieți sarcina utilă.
- 18. Diferențierea SOAP de REST?
- 19. Protocolul de securitate al nivelului de transport (TLS) poate fi utilizat cu REST?
- 20. Metode idempotente: ce sunt acestea? Cum se aplică în lumea serviciilor web RESTful?
- 21. Care este funcționalitatea autentificării de bază HTTP?
- 22. Credeți că GraphQL este cea mai bună alegere pentru crearea arhitecturii de microservicii?
- 23. Care sunt principalele distincții dintre metodele HTTP sigure și idempotente?
- 24. Ce implică API-ul JAX-RS prin clasele de resurse RESTful Root?
- 25. Ce este exact Postman și de ce este folosit?
- 26. Cum sunt păstrate în siguranță API-urile REST?
- Concluzie
Evoluția REST a făcut API-urile incredibil de accesibile, dezvăluind totodată puterea și potențialul lor deplin. API-urile REST sunt ușor de creat și de stocat în cache datorită arhitecturii lor orientate spre resurse.
În plus, de-a lungul timpului, API-urile RESTful au fost precursorii altor dezvoltări semnificative, cum ar fi cloud computing și designul bazat pe microservicii.
Prin urmare, nu ar trebui să fie surprinzător faptul că dezvoltatorii REST API sunt solicitați astăzi, având în vedere modul în care oferă companiilor care folosesc servicii RESTful un avantaj competitiv. API-urile REST sunt o tendință populară de design.
Multe firme IT doresc cunoștințe de la REST API dezvoltatorii de software și întrebați despre asta în interviurile tehnice.
Iată câteva dintre cele mai tipice întrebări de interviu REST API care vă vor ajuta să fiți pregătit pentru interviuri la diferite firme dacă doriți să lucrați în domeniul dezvoltării REST API.
1. Ce înțelegi prin REST?
REST este o paradigmă arhitecturală pentru proiectarea aplicațiilor bazate pe web care se bazează pe protocolul de transfer hipertext (HTTP).
REST definește anumite standarde pe care serviciile web trebuie să le îndeplinească pentru a fi considerate RESTful. Aceste recomandări garantează că cererile și resursele sunt transmise rapid și eficient între client și server folosind protocoale HTTP standardizate.
2. Ce vrei să spui prin REST API?
O legătură software-software cunoscută sub numele de interfață de programare a aplicațiilor permite comunicarea și partajarea datelor între programe altfel independente. De exemplu, un site de știri ar putea folosi API-ul Twitter pentru a descoperi automat tweet-uri pertinente și pentru a le integra în știri.
O API care aderă la principiile REST este cunoscută sub numele de API REST, uneori cunoscută ca API RESTful. Într-un API REST, fiecare parte de date este tratată ca o resursă și i se oferă o identitate de resursă standard (URI) distinctă.
De exemplu, API-ul Twitter face din fiecare tweet o resursă recuperabilă care este disponibilă clienților. API-ul Twitter poate fi folosit de utilizatori pentru a posta tweet-uri și pentru a efectua alte sarcini ale site-ului.
3. Ce este exact URI?
A rețea de calculatoare se poate face referire la resursă folosind un URI sau un identificator uniform de resursă. Acesta servește ca mijloc de separare a unei resurse de alta. Sursele pot fi sau nu online.
Datorită structurii lor standard, URI-urile simplifică conectarea chiar și la diferite tipuri de resurse. Locația sau numele resursei este inclusă în URI-uri împreună cu un șir de caractere.
URI-ul este alcătuit dintr-o cale, schemă, interogare și alte elemente, dar nu include protocolul.
Folosind un protocol, URL-urile (Uniform Resource Locators) sunt folosite pentru a găsi resurse pe internet sau accesibile prin intermediul acestuia.
4. Care sunt caracteristicile Serviciilor Web RESTful?
- Paradigma Client-Server este fundamentul serviciului.
- Serviciul poate accesa resurse prin utilizarea URI-urilor.
- Serviciul utilizează protocolul HTTP pentru a achiziționa date/resurse, pentru a rula interogări și pentru a efectua alte sarcini.
- Mesageria este numele metodei folosite pentru a comunica între client și server.
- Aceste servicii pot implementa, de asemenea, modelul arhitectural REST folosind serviciile SOAP.
- Pentru a reduce apelurile de pe server pentru același tip de solicitări repetitive, aceste servicii folosesc și ideea de cache.
5. Care sunt principiile directoare ale REST?
Cinci criterii trebuie îndeplinite de API-urile REST:
Decuplarea client-server: Doar o serie de cereri și răspunsuri pot fi folosite pentru a comunica între client și server. Doar clienții și serverele pot trimite cereri și, respectiv, răspunsuri. Această idee simplă permite ambelor părți să funcționeze independent una de cealaltă.
Interfață uniformă: Trebuie să existe un protocol uniform pentru toate conexiunile client-server. Acest protocol pentru REST este HTTP. Deoarece fiecare aplicație solicită și trimite date folosind aceeași limbă, o interfață coerentă face integrările mai simple.
Apatrid: serverul nu salvează nicio înregistrare a solicitărilor sau răspunsurilor anterioare în comunicarea apatridă. Fiecare cerere și răspuns oferă toate detaliile necesare pentru a finaliza schimbul. Comunicarea fără stat mărește viteza, economisește memorie și reduce stresul pe server. În plus, evită potențialul eșuării unei cereri din cauza datelor incomplete.
Sistem stratificat: Serverele care se află între client și serverul API sunt denumite straturi. Aceste servere suplimentare efectuează o varietate de servicii, cum ar fi detectarea spamului și optimizarea vitezei. Straturile din REST sunt modulare, ceea ce înseamnă că pot fi adăugate și șterse fără a afecta comunicațiile dintre client și serverul API.
Cacheabil: Clienții pot stoca în cache orice resurse pentru a crește viteza, dacă răspunsurile serverului indică dacă resursa poate fi stocată sau nu în cache.
Codare la cerere: ca răspuns, un API poate transmite clienților cod executabil de computer. Aplicația client poate rula apoi codul pe propriul back-end.
6. Menționați metodele HTTP pe care REST le acceptă.
Metodele HTTP pe care REST le acceptă sunt:
- GET: Această metodă solicită o resursă la adresa URL specificată. Un corp de solicitare nu ar trebui inclus deoarece va fi ignorat. Ar putea fi posibil să-l memorați local sau pe server.
- POST: Această metodă trimite date către un serviciu pentru procesare, iar serviciul ar trebui să returneze în mod normal o resursă nouă sau modificată.
- PUT: resursa este actualizată la adresa URL a solicitării.
- DELETE: resursa este ștearsă la adresa URL a solicitării.
- Opțiuni: identifică metodele acceptate.
- HEAD: metadatele URL-ului solicitării sunt returnate.
7. Descrieți restricțiile impuse de o interfață consistentă.
Pentru a separa clientul de server, este necesară o interfață consistentă.
Pentru a obține o interfață consistentă, sunt necesare următoarele patru constrângeri:
- Identificarea resurselor: solicitările clienților trebuie să utilizeze ID-uri de resurse standard pentru a identifica resursele (URI)
- Manipularea resurselor folosind aceste reprezentări: Clienții au toate informațiile necesare pentru a putea schimba starea resursei atunci când primesc o reprezentare a resursei de la server.
- Mesaje autodescriptive: mesajele includ toate metadatele și alte informații necesare pentru ca receptorul să le înțeleagă.
- Hypermedia ca motor de stare a aplicației: canalul pentru comunicarea client-server este hipermedia, cum ar fi HTML, iar clienții nu au nevoie de documentație specifică API-ului pentru a înțelege răspunsurile serverului.
8. Ce este mai exact o resursă REST?
Resursele sunt componentele fundamentale ale unui serviciu web RESTful într-o arhitectură REST. Acestea includ toate informațiile cruciale pe care un client API trebuie să le acceseze.
Orice tip de resurse, cum ar fi o pagină HTML, o imagine, un videoclip sau orice altceva necesar pentru o activitate API, poate fi accesat prin server într-un sistem client-server.
Resursele sunt identificate printr-un identificator uniform de resurse. Textul, JSON sau XML sunt toate reprezentări acceptabile ale resurselor. După ce am precizat că, nu există limitări în ceea ce privește formatul reprezentării.
9. Ce înseamnă JAX-RS pentru tine?
Este mai simplu să creezi servicii web RESTful în Java datorită API-ului Java pentru Serviciile web RESTful, adesea cunoscut sub numele de JAX-RS. Dezvoltatorii pot descrie resursele și operațiunile care pot fi efectuate asupra lor folosind adnotările furnizate.
10. Ce diferențiază AJAX și REST unul de celălalt?
Ajax:
- Ajax este un grup de tehnologii care permite actualizarea dinamică a interfața cu utilizatorul elemente fără a fi nevoie să reîncărcați pagina.
- Ajax elimină comunicarea asincronă dintre client și server.
ODIHNĂ:
- REST necesită comunicare între server și client.
- Utilizarea resurselor este importantă pentru structura URL și modelul de cerere/răspuns utilizat de REST.
11. Puteți enumera câteva dezavantaje ale serviciilor web RESTful?
Ședințele nu pot fi menținute deoarece serviciile aderă la noțiunea de apatridie. (Clientul este responsabil pentru transmiterea ID-ului sesiunii pe parcursul simulării sesiunii.)
Constrângerile de securitate nu sunt fundamentale pentru REST. Protocoalele care îl folosesc moștenesc măsurile de securitate. Prin urmare, este important să luați precauție atunci când puneți în aplicare măsuri de securitate, cum ar fi integrarea autentificărilor bazate pe SSL/TLS.
12. Ce diferențiază tehnicile PUT și POST una de cealaltă?
A PUNE:
- Nu există cache pentru răspunsurile PUT.
- Idempotent (adică cererile multiple vor da același rezultat)
- sarcina utilă a cererii actualizează sau înlocuiește resursa țintă.
POST:
- idempotent not (adică, cererile multiple vor genera multipli ai aceleiași resurse)
- Serverul web procesează sarcina utilă a cererii în funcție de resursa dorită.
- Dacă este inclus antetul cache-control corespunzător, răspunsurile POST pot fi stocate în cache.
13. Cum testați serviciile web RESTful?
Testarea serviciilor web RESTful poate fi ajutată de o serie de instrumente, inclusiv Swagger și Postman. Inspectarea parametrilor cererii, cum ar fi parametrii de interogare, anteturile și anteturile de răspuns, este posibilă datorită abundenței de caracteristici ale acestuia din urmă.
Postman poate fi folosit pentru a face cereri către punctele finale și pentru a afișa rezultatele. Și XML și JSON pot fi create din aceste răspunsuri.
Postman și Swagger oferă ambele funcționalități extrem de comparabile. Pe de altă parte, Swagger oferă, de asemenea, capabilități precum documentarea punctelor finale.
14. Descrieți un API REST în lumea reală.
- Site-urile web de călătorii și bilete pot profita de orarele și prețurile zborurilor pe care companiile aeriene le pun la dispoziție prin intermediul API-urilor.
- Pentru ca aplicațiile de cartografiere și navigare (cum ar fi Google Maps) să le folosească, agențiile de transport public își fac adesea datele disponibile public în timp real prin intermediul API-urilor.
- Aplicațiile meteo folosesc API-uri deschise care fac schimb de date despre vreme pentru a afișa informații despre vreme.
- Dezvoltatorii pot accesa datele de cartografiere Google Maps prin intermediul mai multor API-uri găzduite. Aceste API-uri sunt folosite de dezvoltatori pentru a încorpora hărți dinamice în aplicațiile și site-urile lor web.
15. Cum funcționează arhitectura microservicii?
- Solicitările sunt trimise de diverși clienți folosind diverse dispozitive.
- După confirmarea identității clienților, furnizorii de identitate oferă token-uri de securitate.
- Cererile clientului sunt gestionate de API Gateway.
- Tot materialul sistemului este păstrat ca conținut static.
- Instrumentul de management verifică echilibrul serviciilor pe noduri și orice defecțiuni.
- Descoperirea căii de comunicare între microservicii este ajutată de descoperirea serviciilor.
- Centrele de date și serverele proxy formează sisteme de rețea dispersate numite rețele de livrare de conținut.
- Serviciile de la distanță oferă acces la informații de la distanță.
16. Ce este mai exact memoria cache?
Practica de a păstra temporar o copie a unui răspuns de server undeva (cum ar fi memoria computerului) pentru a o accesa mai târziu mai rapid este cunoscută sub numele de caching.
Memorarea în cache îmbunătățește viteza serverului atunci când se utilizează API-urile REST prin scăderea cantității de muncă pe care trebuie să o facă serverul pentru a satisface cererea. Aplicațiile care utilizează API-ul rulează mai rapid datorită stocării în cache, deoarece nu trebuie să trimită o nouă solicitare de fiecare dată când au nevoie de o resursă.
Câmpul Cache-Control din antetul răspunsului HTTP conține informații despre cât timp o resursă poate fi stocată în cache de către client înainte de a fi accesată din nou.
17. Descrieți sarcina utilă.
Sarcina utilă în REST se referă la informațiile conținute în corpul răspunsului HTTP. Clientul a folosit tehnica GET pentru a solicita datele în cauză.
Documentul care conține textul tweet-ului și orice fișiere necesare pentru punerea tweet-ului pe un site web vor fi incluse în încărcarea utilă, de exemplu, dacă solicitați Twitter API-ul pentru un anumit tweet. În plus, sarcina utilă poate fi inclusă în cererea HTTP folosind metoda POST.
18. Diferențiați SAPUN Vs ODIHNA?
- Spre deosebire de SOAP, care poate gestiona numai XML, REST permite o gamă mai largă de formate de resurse, inclusiv XML, text, HTML, imagini, video și multe altele.
- Când securitatea este crucială pentru aplicațiile online, SOAP este util. REST nu poate fi utilizat atunci când tranzacțiile trebuie finalizate în siguranță, deoarece nu este deosebit de sigur.
- Deoarece SOAP este doar un protocol, REST îl poate folosi în serviciile sale web, dar nu invers.
- În timp ce REST este doar un model arhitectural folosit pentru a dezvolta servicii web și respectă anumite limitări, cum ar fi configurarea client-server, apatridia, răspunsul stocabil în cache, sistemele stratificate și interfața consecventă, SOAP este un protocol care funcționează pe anumite standarde care trebuie respectate cu rigurozitate. la.
- În timp ce REST utilizează identificatori universali de resurse (URI-uri), SOAP utilizează interfețe de servicii pentru a oferi capabilitățile sale aplicațiilor client. REST are o nevoie de lățime de bandă mai mică decât SOAP, deoarece mesajele SOAP sunt mai bogate în informații.
19. Protocolul de securitate al nivelului de transport (TLS) poate fi utilizat cu REST?
De fapt, putem. Comunicarea clientului REST și a serverului este criptată prin TLS, iar protocolul oferă clienților și o modalitate de a autentifica serverele.
Datorită faptului că este înlocuitorul Secure Socket Layer, acesta este utilizat pentru comunicații securizate (SSL). Implementarea serviciilor web RESTful are succes cu HTTPS, deoarece cooperează eficient atât cu TLS, cât și cu SSL.
REST moștenește caracteristicile protocolului pe care îl implementează, ceea ce este un lucru de remarcat aici. Drept urmare, protecțiile de securitate se bazează pe protocolul pe care îl utilizează REST.
20. Metode idempotente: ce sunt acestea? Cum se aplică în lumea serviciilor web RESTful?
Când URI-ul este același, unele metode HTTP dintr-o solicitare au același impact asupra serverului, indiferent dacă sunt livrate o dată sau de mai multe ori. Tehnicile idempotente sunt cele cunoscute ca acestea.
De exemplu, indiferent de câte ori este rulat un URI folosind metoda GET, serverul va experimenta întotdeauna același rezultat. Metodele idempotente includ GET, PUT și PATCH, pentru a numi câteva.
Metodele HTTP idempotente sunt unele dintre cele utilizate de RESTful aplicații web. Acestea sunt necesare pentru a garanta coerența activităților serviciilor web RESTful.
Clienții care folosesc API-uri REST pot face erori de cod care forțează un API REST să facă solicitări repetate accidental. Aceste apeluri au potențialul de a abuza de resurse.
21. Care este funcționalitatea autentificării de bază HTTP?
Când folosește Autentificarea de bază ca parte a API-urilor, utilizatorul trebuie să trimită numele de utilizator și parola, care sunt concatenate de browser sub forma „nume utilizator: parolă” și codificate în base64.
La fiecare solicitare HTTP din browser, valoarea codificată este livrată ca valoare pentru antetul „Autorizare”. Deoarece acreditările sunt doar codificate, este recomandat să utilizați acest formular atunci când trimiteți solicitări HTTPS, deoarece nu sunt sigure și pot fi interceptate de oricine dacă nu sunt utilizate protocoalele de securitate.
22. Credeți că GraphQL este cea mai bună alegere pentru crearea arhitecturii de microservicii?
Microservicii și GraphQL merg perfect, deoarece GraphQL păstrează arhitectura de microservicii secretă față de clienții tăi.
Din front-end, doriți ca toate datele dvs. să provină dintr-un singur API, în timp ce din back-end, doriți să le împărțiți în microservicii. Cea mai bună tehnică de care sunt conștient pentru a realiza ambele este utilizarea GraphQL.
Vă permite să vă împărțiți backend-ul în microservicii, oferind în același timp fiecărei aplicații un singur API și permițând conexiuni între date din diverse servicii.
23. Care sunt principalele distincții dintre metodele HTTP sigure și idempotente?
Metodele idempotente produc același rezultat atunci când sunt invocate o dată sau de mai multe ori prin aceeași cerere. Metoda PUT este idempotentă.
Toate căile sigure sunt idempotente, dar nu toate metodele idempotente sunt sigure, deoarece metodele sigure nu modifică resursele. De exemplu, GET este sigur, deoarece preia doar date și nu modifică resursa.
În plus, este idempotent, ceea ce înseamnă că va returna întotdeauna același răspuns atunci când este invocat.
24. Ce implică API-ul JAX-RS prin clasele de resurse RESTful Root?
Java Enterprise Edition oferă clase și interfețe care aderă la cerințele API JAX-RS. Cu ajutorul JAX-RS, crearea de servicii web Java în stilul arhitectural REST este simplificată.
În API-ul JAX-RS, clasele de resurse rădăcină sunt doar „obiecte Java vechi simple” sau POJO. Pentru a implementa resursele web necesare, ei folosesc adnotări JAX-RS.
Fie au adnotări @path, fie cel puțin una dintre metodele lor are adnotări @path. Ele pot fi rezumate ca clase Java cu metode pentru a trata punctele finale API.
25. Ce este exact Postman și de ce este folosit?
Un instrument de dezvoltare API numit Postman este folosit pentru a crea, testa și modifica API-urile. Acest instrument poate fi folosit de dezvoltatori pentru orice caracteristică de care au nevoie pentru un API. Simplifică și facilitează munca dezvoltatorilor.
Postman facilitează realizarea unei varietăți de interogări HTTP, inclusiv GET, POST, PUT și PATCH, salvarea mediilor pentru utilizare ulterioară și convertirea API-urilor în cod într-un număr de limbi diferite.
Fiecare etapă a ciclului API este simplificată cu Postman, iar cooperarea este simplificată pentru o dezvoltare mai rapidă a API.
În plus, le permite dezvoltatorilor să gestioneze documentația, specificațiile, cazurile de testare, procesele și cataloagele API.
26. Cum sunt păstrate în siguranță API-urile REST?
Deoarece API-urile REST nu folosesc măsuri de securitate la fel de riguroase ca API-urile SOAP, datele sensibile nu ar trebui să fie trimise sau preluate folosindu-le.
Cu toate acestea, API-urile REST de încredere continuă să integreze controale de securitate pentru transmisii de date sigure și de încredere.
- Autentificare și autorizare: fiecare cerere făcută către API trebuie să treacă aceste două verificări. Verificarea identității clientului prin autentificare și validarea faptului că au autoritatea de a accesa resursele solicitate prin autorizare sunt două procese diferite.
- Validare: înainte ca API-ul să acorde acces la resursele sale, solicitările trebuie în continuare verificate pentru coduri posibil dăunătoare după autentificare și autorizare. Un server ar fi astfel deschis unui atac de injecție.
- Validare: înainte ca API-ul să acorde acces la resursele sale, solicitările trebuie în continuare verificate pentru coduri posibil dăunătoare după autentificare și autorizare. Un server ar fi astfel deschis unui atac de injecție.
- Criptare: Criptarea TLS/SSL protejează conexiunea dintre client și server și împiedică hackerii să intercepteze cererile și răspunsurile.
- Tehnicile de limitare a ratei, cum ar fi limitele și throttlingul, protejează serverele de atacuri cu forță brută, cum ar fi DDoS, care urmăresc să le degradeze sau să le blocheze.
- Nu există informații sensibile în URI: URI-urile resurselor nu trebuie să conțină date protejate (cum ar fi un nume de utilizator, o parolă sau un simbol de autentificare).
Concluzie
Felicitări! Mai multe întrebări de la interviu REST API de la bază până la complexe și soluțiile lor respective sunt acum la îndemână.
Acum că aveți o idee bună despre cum să răspundeți la unele dintre întrebările tipice de interviu REST API, puteți continua să răspundeți la interviuri. Următorul pas depinde de obiectivele tale.
Vizita Seria de interviuri cu Hashdork pentru a se pregăti pentru interviuri.
Lasă un comentariu