Taula de continguts[Amaga][Espectacle]
- 1. Què entens per REST?
- 2. Què entens per REST API?
- 3. Què és exactament l'URI?
- 4. Quines són les característiques dels Serveis Web RESTful?
- 5. Quins són els principis rectors de REST?
- 6. Esmenta els mètodes HTTP que admet REST.
- 7. Descriu les restriccions imposades per una interfície coherent.
- 8. Què és exactament un recurs REST?
- 9. Què significa JAX-RS per a tu?
- 10. Què distingeix AJAX i REST entre si?
- 11. Pots enumerar alguns inconvenients dels serveis web RESTful?
- 12. Què distingeix les tècniques PUT i POST?
- 13. Com proveu els serveis web RESTful?
- 14. Descriu una API REST al món real.
- 15. Com funciona l'arquitectura de microserveis?
- 16. Què és exactament la memòria cau?
- 17. Descriu la càrrega útil.
- 18. Diferenciar SOAP vs REST?
- 19. Es pot utilitzar el protocol de seguretat de la capa de transport (TLS) amb REST?
- 20. Mètodes idempotents: què són? Com s'aplica al món dels serveis web RESTful?
- 21. Quina és la funcionalitat de l'autenticació bàsica HTTP?
- 22. Creus que GraphQL és la millor opció per crear arquitectura de microserveis?
- 23. Quines són les principals distincions entre els mètodes HTTP segurs i idempotents?
- 24. Què implica l'API JAX-RS per les classes de recursos arrel RESTful?
- 25. Què és exactament Carter i per què s'utilitza?
- 26. Com es mantenen segures les API REST?
- Conclusió
L'evolució de REST ha fet que les API siguin increïblement accessibles, alhora que revela la seva força i potencial. Les API REST són fàcils de crear i emmagatzemar a la memòria cau a causa de la seva arquitectura orientada als recursos.
A més, al llarg del temps, les API RESTful van ser les precursores d'altres desenvolupaments importants com la computació en núvol i el disseny basat en microserveis.
Per tant, no hauria d'estranyar que els desenvolupadors d'API REST tinguin una demanda avui, donat com ofereixen a les empreses que utilitzen serveis RESTful un avantatge competitiu. Les API REST són una tendència de disseny popular.
Moltes empreses de TI volen coneixements de l'API REST desenvolupadors de programari i preguntar sobre això en entrevistes tècniques.
A continuació, es mostren algunes de les preguntes més típiques d'entrevistes de REST API que us ajudaran a estar preparat per a entrevistes a diverses empreses si voleu treballar en el camp de desenvolupament de REST API.
1. Què entens per REST?
REST és un paradigma arquitectònic per dissenyar aplicacions basades en web que es basen en el protocol de transferència d'hipertext (HTTP).
REST defineix certs estàndards que han de complir els serveis web per ser considerats RESTful. Aquestes recomanacions garanteixen que les peticions i els recursos es transmetin de manera ràpida i eficaç entre el client i el servidor mitjançant protocols HTTP estandarditzats.
2. Què entens per REST API?
Un enllaç de programari a programari conegut com a interfície de programació d'aplicacions permet la comunicació i l'intercanvi de dades entre programes independents. Per exemple, un lloc web de notícies podria utilitzar l'API de Twitter per descobrir tuits pertinents automàticament i integrar-los a les notícies.
Una API que s'adhereix als principis REST es coneix com a API REST, de vegades coneguda com a API RESTful. En una API REST, cada peça de dades es gestiona com un recurs i se li dóna una identitat de recurs estàndard (URI) diferent.
Per exemple, l'API de Twitter fa que cada tweet sigui un recurs recuperable disponible per als clients. Els usuaris poden utilitzar l'API de Twitter per publicar tuits i realitzar altres tasques del lloc web.
3. Què és exactament l'URI?
A xarxa informàtica es pot fer referència al recurs utilitzant un URI o un identificador de recurs uniforme. Serveix com a mitjà per separar un recurs d'un altre. Les fonts poden o no estar en línia.
A causa de la seva estructura estàndard, els URI faciliten la connexió fins i tot a diversos tipus de recursos. La ubicació o el nom del recurs s'inclou als URI juntament amb una cadena de caràcters.
L'URI està format per un camí, un esquema, una consulta i altres elements, però no inclou el protocol.
Mitjançant un protocol, s'utilitzen URL (Uniform Resource Locators) per trobar recursos a Internet o accessibles a través d'ella.
4. Quines són les característiques dels Serveis Web RESTful?
- El paradigma client-servidor és la base del servei.
- El servei pot accedir als recursos mitjançant URIs.
- El servei utilitza el protocol HTTP per adquirir dades/recursos, executar consultes i fer altres tasques.
- La missatgeria és el nom del mètode utilitzat per comunicar-se entre el client i el servidor.
- Aquests serveis també poden implementar el patró arquitectònic REST mitjançant serveis SOAP.
- Per reduir les trucades del servidor per al mateix tipus de sol·licituds repetitives, aquests serveis també utilitzen la idea de la memòria cau.
5. Quins són els principis rectors de REST?
Les API REST han de complir cinc criteris:
Desacoblament client-servidor: només es poden utilitzar una sèrie de peticions i respostes per comunicar-se entre el client i el servidor. Només els clients i els servidors poden enviar sol·licituds i respostes, respectivament. Aquesta idea senzilla permet que ambdues parts funcionin independentment l'una de l'altra.
Interfície uniforme: ha d'haver un protocol uniforme per a totes les connexions client-servidor. Aquest protocol per a REST és HTTP. Com que cada aplicació sol·licita i envia dades utilitzant el mateix llenguatge, una interfície coherent fa que les integracions siguin més senzilles.
Sense estat: el servidor no guarda cap registre de peticions o respostes anteriors en comunicació sense estat. Cada sol·licitud i resposta proporcionen tots els detalls necessaris per completar l'intercanvi. La comunicació sense estat millora la velocitat, estalvia memòria i redueix l'estrès al servidor. A més, evita la possibilitat que una sol·licitud falli a causa de dades incompletes.
Sistema en capes: els servidors que resideixen entre el client i el servidor de l'API s'anomenen capes. Aquests servidors addicionals realitzen una varietat de serveis, com ara detectar correu brossa i optimitzar la velocitat. Les capes de REST són modulars, és a dir, es poden afegir i suprimir sense afectar les comunicacions entre el client i el servidor de l'API.
A la memòria cau: els clients poden emmagatzemar a la memòria cau qualsevol recurs per augmentar la velocitat si les respostes del servidor indiquen si el recurs es pot guardar a la memòria cau o no.
Codificació sota demanda: com a resposta, una API pot transmetre codi d'ordinador executable als clients. L'aplicació client pot executar el codi pel seu propi back-end.
6. Esmenta els mètodes HTTP que admet REST.
Els mètodes HTTP que admet REST són:
- GET: aquest mètode demana un recurs a l'URL especificat. No s'ha d'incloure un cos de sol·licitud perquè s'ignorarà. Podria ser possible emmagatzemar-lo localment o al servidor.
- POST: aquest mètode envia dades a un servei per processar-les, i el servei normalment hauria de retornar un recurs nou o modificat.
- PUT: el recurs s'actualitza a l'URL de la sol·licitud.
- ELIMINAR: el recurs s'elimina a l'URL de la sol·licitud.
- Opcions: Identifica els mètodes suportats.
- HEAD: es retornen les metadades de l'URL de la sol·licitud.
7. Descriu les restriccions imposades per una interfície coherent.
Per separar el client del servidor, cal una interfície coherent.
Per aconseguir una interfície coherent, calen les quatre restriccions següents:
- Identificació de recursos: les sol·licituds de client han d'utilitzar identificadors de recursos estàndard per identificar recursos (URI)
- Manipulació de recursos mitjançant aquestes representacions: els clients tenen tota la informació necessària per poder canviar l'estat dels recursos quan reben una representació de recursos del servidor.
- Missatges autodescriptius: els missatges inclouen totes les metadades i altra informació necessària perquè el receptor les entengui.
- Hipermèdia com a motor d'estat de l'aplicació: el canal per a la comunicació client-servidor és hipermèdia, com ara HTML, i els clients no necessiten documentació específica de l'API per entendre les respostes del servidor.
8. Què és exactament un recurs REST?
Els recursos són els components fonamentals d'un servei web RESTful en una arquitectura REST. Inclouen tota la informació crucial a la qual un client d'API necessita accedir.
Es pot accedir a qualsevol tipus de recurs, com ara una pàgina HTML, una imatge, un vídeo o qualsevol altra cosa necessària per a una activitat de l'API, a través del servidor en un sistema client-servidor.
Els recursos s'identifiquen mitjançant un identificador uniforme de recursos. El text, JSON o XML són representacions acceptables dels recursos. Dit això, no hi ha limitacions en el format de la representació.
9. Què significa JAX-RS per a tu?
És més senzill crear serveis web RESTful en Java gràcies a l'API de Java per a serveis web RESTful, sovint conegut com JAX-RS. Els desenvolupadors poden descriure els recursos i les operacions que s'hi poden dur a terme mitjançant les anotacions que es proporcionen.
10. Què distingeix AJAX i REST entre si?
Àiax:
- Ajax és un grup de tecnologies que permet l'actualització dinàmica de interfície d'usuari elements sense haver de tornar a carregar la pàgina.
- Ajax elimina la comunicació asíncrona entre el client i el servidor.
DESCANS:
- REST requereix comunicació entre el servidor i el client.
- La utilització dels recursos és important per a l'estructura de l'URL i el patró de sol·licitud/resposta utilitzat per REST.
11. Pots enumerar alguns inconvenients dels serveis web RESTful?
Les sessions no es poden mantenir ja que els serveis s'adhereixen a la noció d'apatridia. (El client és responsable de passar l'identificador de sessió durant la simulació de la sessió.)
Les restriccions de seguretat no són fonamentals per a REST. Els protocols que l'utilitzen hereten les precaucions de seguretat. Per tant, és important tenir precaució a l'hora de posar en marxa mesures de seguretat, com ara la integració d'autenticacions basades en SSL/TLS.
12. Què distingeix les tècniques PUT i POST?
POSA:
- No hi ha cap memòria cau per a les respostes PUT.
- Idempotent (és a dir, diverses sol·licituds donaran el mateix resultat)
- la càrrega útil de la sol·licitud actualitza o substitueix el recurs de destinació.
POST:
- idempotent not (és a dir, múltiples sol·licituds donaran múltiples del mateix recurs)
- El servidor web processa la càrrega útil de la sol·licitud en funció del recurs previst.
- Si s'inclou la capçalera de control de memòria cau adequada, les respostes POST es poden guardar a la memòria cau.
13. Com proveu els serveis web RESTful?
Les proves de serveis web RESTful poden comptar amb l'ajuda d'una sèrie d'eines, com Swagger i Postman. La inspecció de paràmetres de sol·licitud com ara paràmetres de consulta, capçaleres i capçaleres de resposta és possible gràcies a l'abundància de funcions d'aquest últim.
Postman es pot utilitzar per fer sol·licituds als punts finals i mostrar els resultats. I XML i JSON es poden crear a partir d'aquestes respostes.
Postman i Swagger ofereixen funcionalitats extremadament comparables. D'altra banda, Swagger també ofereix capacitats com la documentació del punt final.
14. Descriu una API REST al món real.
- Els llocs web de viatges i bitllets poden aprofitar els horaris i els preus dels vols que les companyies aèries posen a disposició mitjançant les API.
- Per tal que les aplicacions de mapes i navegació (com Google Maps) les utilitzin, les agències de transport públic sovint fan que les seves dades estiguin disponibles públicament en temps real mitjançant API.
- Les aplicacions meteorològiques utilitzen API obertes que intercanvien dades meteorològiques per mostrar informació meteorològica.
- Els desenvolupadors poden accedir a les dades de mapes de Google Maps mitjançant diverses API allotjades. Els desenvolupadors utilitzen aquestes API per incrustar mapes dinàmics a les seves aplicacions i llocs web.
15. Com funciona l'arquitectura de microserveis?
- Les sol·licituds les envien diversos clients mitjançant diversos dispositius.
- Després de confirmar la identitat dels clients, els proveïdors d'identitat proporcionen testimonis de seguretat.
- Les sol·licituds dels clients són gestionades per API Gateway.
- Tot el material del sistema es conserva com a contingut estàtic.
- L'eina de gestió comprova l'equilibri dels serveis als nodes i qualsevol fallada.
- El descobriment de serveis ajuda a descobrir el camí de comunicació entre microserveis.
- Els centres de dades i els servidors intermediaris constitueixen sistemes de xarxa dispersos anomenats xarxes de lliurament de contingut.
- Els serveis remots proporcionen accés a la informació des de la distància.
16. Què és exactament la memòria cau?
La pràctica de mantenir temporalment una còpia d'una resposta del servidor en algun lloc (com la memòria de l'ordinador) per accedir-hi més tard més ràpidament es coneix com a memòria cau.
L'emmagatzematge a la memòria cau millora la velocitat del servidor quan s'utilitzen API REST disminuint la quantitat de treball que ha de fer el servidor per satisfer la sol·licitud. Les aplicacions que utilitzen l'API funcionen més ràpidament gràcies a la memòria cau perquè no han d'enviar una sol·licitud nova cada vegada que necessiten un recurs.
El camp Cache-Control de la capçalera de la resposta HTTP conté informació sobre quant de temps el client pot emmagatzemar un recurs a la memòria cau abans que calgui tornar-hi a accedir.
17. Descriu la càrrega útil.
La càrrega útil a REST fa referència a la informació continguda al cos de la resposta HTTP. El client va utilitzar la tècnica GET per sol·licitar les dades en qüestió.
El document que conté el text del tuit i qualsevol fitxer necessari per posar el tuit en un lloc web s'inclourà a la càrrega útil, per exemple, si demaneu a l'API de Twitter un tuit específic. A més, la càrrega útil es pot incloure a la sol·licitud HTTP mitjançant el mètode POST.
18. Diferenciar SABÓ Vs DESCANS?
- A diferència de SOAP, que només pot gestionar XML, REST permet una gamma més àmplia de formats de recursos, com ara XML, text, HTML, imatges, vídeo i molt més.
- Quan la seguretat és crucial per a les aplicacions en línia, SOAP és útil. REST no es pot utilitzar quan les transaccions s'han de completar de manera segura, ja que no és especialment segur.
- Com que SOAP és només un protocol, REST pot utilitzar-lo als seus serveis web però no al revés.
- Tot i que REST és només un patró arquitectònic que s'utilitza per desenvolupar serveis web i compleix determinades limitacions, com ara la configuració client-servidor, l'absència, la resposta en memòria cau, els sistemes en capes i la interfície coherent, SOAP és un protocol que funciona amb estàndards particulars que s'han de complir amb rigor. a.
- Mentre que REST utilitza identificadors de recursos universals (URI), SOAP utilitza interfícies de servei per oferir les seves capacitats a les aplicacions client. REST té una necessitat d'amplada de banda més baixa que SOAP, ja que els missatges SOAP contenen més informació.
19. Es pot utilitzar el protocol de seguretat de la capa de transport (TLS) amb REST?
De fet, podem. La comunicació entre el client i el servidor REST es xifra mitjançant TLS i el protocol també ofereix als clients una manera d'autenticar els servidors.
A causa del fet que és el reemplaçament de Secure Socket Layer, s'utilitza per a la comunicació segura (SSL). La implementació de serveis web RESTful té èxit amb HTTPS perquè coopera de manera eficaç amb TLS i SSL.
El REST hereta les característiques del protocol que implementa, que és una cosa a tenir en compte aquí. Com a resultat, les proteccions de seguretat depenen del protocol que utilitza REST.
20. Mètodes idempotents: què són? Com s'aplica al món dels serveis web RESTful?
Quan l'URI és el mateix, alguns mètodes HTTP d'una sol·licitud tenen el mateix impacte en el servidor tant si s'entreguen una o diverses vegades. Les tècniques idempotents són el que es coneix com a aquestes.
Per exemple, no importa quantes vegades s'executi un URI amb el mètode GET, el servidor sempre experimentarà el mateix resultat. Els mètodes idempotents inclouen GET, PUT i PATCH, per citar-ne alguns.
Els mètodes HTTP idempotents són alguns dels utilitzats per RESTful aplicacions web. Són necessaris per garantir la coherència en les activitats dels serveis web RESTful.
Els clients que utilitzen API REST poden cometre errors de codi que obliguen una API REST a fer sol·licituds repetides accidentalment. Aquestes trucades poden fer un mal ús dels recursos.
21. Quina és la funcionalitat de l'autenticació bàsica HTTP?
Quan s'utilitza l'autenticació bàsica com a part de les API, l'usuari ha d'enviar el nom d'usuari i la contrasenya, que són concatenats pel navegador en la forma "nom d'usuari: contrasenya" i codificat en base64.
A cada sol·licitud HTTP del navegador, el valor codificat es lliura com a valor per a la capçalera "Autorització". Com que les credencials només estan codificades, es recomana utilitzar aquest formulari quan s'envien sol·licituds HTTPS perquè no són segures i qualsevol pot interceptar-se si no s'utilitzen protocols de seguretat.
22. Creus que GraphQL és la millor opció per crear arquitectura de microserveis?
Els microserveis i GraphQL van perfectament perquè GraphQL manté la vostra arquitectura de microserveis en secret per als vostres clients.
Des del front-end, voleu que totes les vostres dades provinguin d'una única API, mentre que des del back-end, voleu dividir-les en microserveis. La millor tècnica que conec per aconseguir tots dos és utilitzar GraphQL.
Us permet dividir el vostre backend en microserveis tot donant a cada aplicació una única API i habilitant les unions entre dades de diversos serveis.
23. Quines són les principals distincions entre els mètodes HTTP segurs i idempotents?
Els mètodes idempotents produeixen el mateix resultat quan s'invoquen una o diverses vegades mitjançant la mateixa sol·licitud. El mètode PUT és idempotent.
Tots els mètodes segurs són idempotents, però no tots els mètodes idempotents són segurs, ja que els mètodes segurs no alteren els recursos. Per exemple, GET és segur ja que només recupera dades i no altera el recurs.
A més, és idempotent, és a dir, sempre retornarà la mateixa resposta quan s'invoqui.
24. Què implica l'API JAX-RS per les classes de recursos arrel RESTful?
La Java Enterprise Edition ofereix classes i interfícies que s'adhereixen als requisits de l'API JAX-RS. Amb l'ajuda de JAX-RS, es facilita la creació de serveis web Java amb l'estil arquitectònic REST.
A l'API JAX-RS, les classes de recursos arrel són només "objectes java antics senzills" o POJO. Per implementar els recursos web necessaris, utilitzen anotacions JAX-RS.
Tenen anotacions @path o almenys un dels seus mètodes té anotacions @path. Es poden resumir com a classes Java amb mètodes per tractar els punts finals de l'API.
25. Què és exactament Carter i per què s'utilitza?
S'utilitza una eina de desenvolupament d'API anomenada Postman per crear, provar i modificar API. Els desenvolupadors poden utilitzar aquesta eina per a qualsevol funció que necessitin per a una API. Simplifica i facilita el treball dels desenvolupadors.
Postman facilita la realització de diverses consultes HTTP, com ara GET, POST, PUT i PATCH, desar entorns per a un ús posterior i convertir les API en codi en diversos idiomes.
Cada etapa del cicle de l'API es simplifica amb Postman i la cooperació es racionalitza per a un desenvolupament més ràpid de l'API.
A més, permet als desenvolupadors gestionar la documentació, les especificacions, els casos de prova, els processos i els catàlegs d'API.
26. Com es mantenen segures les API REST?
Com que les API REST no utilitzen mesures de seguretat tan rigoroses com les API SOAP, les dades sensibles no s'han d'enviar ni recuperar utilitzant-les.
Tanmateix, les API REST fiables continuen integrant controls de seguretat per a transmissions de dades segures i fiables.
- Autenticació i autorització: totes i cadascuna de les sol·licituds realitzades a l'API han de passar aquestes dues comprovacions. Verificar la identitat del client mitjançant l'autenticació i validar que té autoritat per accedir als recursos sol·licitats mitjançant l'autorització són dos processos diferents.
- Validació: abans que l'API doni accés als seus recursos, les sol·licituds encara s'han de comprovar si hi ha codis possibles perjudicials després de l'autenticació i l'autorització. Així, un servidor estaria obert a un atac d'injecció.
- Validació: abans que l'API doni accés als seus recursos, les sol·licituds encara s'han de comprovar si hi ha codis possibles perjudicials després de l'autenticació i l'autorització. Així, un servidor estaria obert a un atac d'injecció.
- Xifratge: el xifratge TLS/SSL protegeix la connexió entre el client i el servidor i evita que els pirates informàtics interceptin sol·licituds i respostes.
- Les tècniques de limitació de velocitat, com ara els límits i l'acceleració, protegeixen els servidors d'assalts de força bruta com ara DDoS que tenen com a objectiu degradar-los o bloquejar-los.
- No hi ha informació confidencial als URI: els URI dels recursos no han de contenir cap dada protegida (com ara un nom d'usuari, una contrasenya o un testimoni d'autenticació).
Conclusió
Felicitats! Ara teniu al vostre abast diverses preguntes bàsiques o complexes d'entrevista de l'API REST i les seves solucions respectives.
Ara que teniu un bon concepte de com respondre a algunes de les preguntes típiques d'entrevistes de l'API REST, podeu continuar responent a les entrevistes. El següent pas depèn dels vostres objectius.
visita Sèrie d'entrevistes amb Hashdork per preparar les entrevistes.
Deixa un comentari