top 20 restful web services interview question
Llista de preguntes i respostes de l'entrevista sobre serveis web més freqüents que us ajudaran a preparar-vos per a la propera entrevista:
Serveis web, un terme molt conegut quan parlem d’intercanviar algun tipus de dades entre múltiples aplicacions o per exemple de programari. Basat en el model client-servidor, aquests serveis poden ser utilitzats per múltiples aplicacions de programari escrites en diversos idiomes i també té l'avantatge d'executar-se en diverses plataformes.
De la mateixa manera, REST, Representational State Transfer també es basa en una arquitectura d'estil client-servidor sense estat, a la qual es pot accedir fàcilment per la xarxa i que s'identifica mitjançant URI, és a dir, Uniform Resource Identifier.
L’objectiu principal de descriure la definició de serveis web, així com REST anterior, és ajudar-vos a relacionar-vos amb el terme ' Serveis web RESTful ” perquè els serveis web RESTful es defineixen com a serveis web que utilitzen el mètode HTTP i es basen en l'arquitectura de REST. Té funcions útils com una alta escalabilitat i mantenibilitat, la creació d’APIs, etc.
Més informació = >> API Flask Restful
En aquest article, trobareu la col·lecció de preguntes i respostes que us aclarirà els aspectes bàsics i us ajudarà a comprendre millor el tema.
Llegiu també:
Llista de preguntes sobre serveis web RESTful
Comencem.
P # 1) Què enteneu de què són els serveis web RESTful?
Resposta: Igual que SOAP (Simple Object Access Protocol), que s’utilitza per desenvolupar serveis web mitjançant el mètode XML, els serveis web RESTful utilitzen protocol web, és a dir, mètode de protocol HTTP. Tenen la característica d’escalabilitat, mantenibilitat, ajuda a la comunicació de múltiples aplicacions basada en diversos llenguatges de programació, etc.
La implementació del servei web RESTful defineix el mètode d’accés a diversos recursos que el client requereix i ha enviat la sol·licitud al servidor a través del navegador web.
Els aspectes importants d’aquesta implementació són:
- Recursos
- Sol·licita capçaleres
- Organisme de sol·licitud
- Cos de resposta
- Codis d'estat
Q # 2) Anomeneu el protocol que utilitzen els serveis web de RESTful.
Resposta: Els serveis web RESTful utilitzen un famós protocol web, és a dir, protocol HTTP. Serveix com a mitjà de comunicació de dades entre client i servidor. Els mètodes estàndard HTTP s’utilitzen per accedir als recursos de l’arquitectura de serveis web RESTful.
P # 3) Expliqueu el terme 'Direcció' pel que fa al servei WEB RESTful.
Resposta: Igual que necessitem una adreça amb codi postal per arribar a qualsevol persona, de la mateixa manera, 'Direccionament' localitza els recursos presents al servidor amb la finalitat d'allotjar serveis web. Normalment es fa amb URI, és a dir, Identificador de recursos unificat.
Q # 4) Demaneu funcions dels serveis web RESTful.
Resposta: Tots els serveis web RESTful han de tenir les funcions i característiques següents que es detallen a continuació:
- Basat en la representació Client-Servidor.
- Ús del protocol HTTP per realitzar funcions com obtenir dades del servei web, recuperar recursos, executar qualsevol consulta, etc.
- La comunicació entre el servidor i el client es realitza a través del mitjà conegut com a 'missatgeria'.
- Direcció dels recursos disponibles al servidor mitjançant URI.
- Basat en el concepte d'apatridia, on cada sol·licitud i resposta de cada client són independents de l'altre, amb la garantia completa de proporcionar la informació necessària.
- Utilitza el concepte de memòria cau.
- Funciona a la interfície Uniform.
Q # 5) Expliqueu la tècnica de missatgeria.
Resposta: Els missatges són el mode d’intercanvi de dades per a qualsevol tipus de comunicació. De la mateixa manera, el protocol HTTP exerceix el paper de comunicació de missatges entre el client i el servidor mitjançant mètodes de sol·licitud i resposta HTTP. La sol·licitud HTTP l’envia el client que conté informació sobre les dades i, al seu torn, rep la resposta HTTP del servidor.
Els missatges són la recopilació d’informació sobre les dades, és a dir, metadades.
Q # 6) Quins són els components bàsics de la sol·licitud HTTP i la resposta HTTP?
Resposta: Els components bàsics de la sol·licitud HTTP són:
- Verb: Inclou mètodes com GET, PUT, POST, etc.
- Identificador de recursos uniforme per identificar els recursos disponibles al servidor.
- Versió HTTP per especificar la versió HTTP.
- Capçalera de sol·licitud HTTP per contenir la informació sobre les dades.
- Cos de sol·licitud HTTP que conté la representació dels recursos en ús.
Els components bàsics de Resposta HTTP són:
- Codi de sol·licitud: Conté diversos codis que determinen l'estat de la resposta del servidor.
- Versió HTTP per especificar la versió HTTP.
- Capçalera de resposta HTTP per contenir la informació sobre les dades.
- Cos de resposta HTTP que conté la representació dels recursos en ús.
P # 7) Expliqueu el terme 'Apatridia' pel que fa al servei WEB RESTful.
Resposta: A REST, ST defineix la transferència d'estat i l'apatridia significa aïllament complet. Això vol dir que l’estat de l’aplicació del client no s’emmagatzema mai al servidor i es transmet.
En aquest procés, els clients envien tota la informació necessària perquè el servidor compleixi la sol·licitud HTTP que s’ha enviat. Per tant, cada client sol·licita i la resposta és independent de l’altre amb la total garantia de proporcionar la informació requerida.
Tots els clients passen un 'identificador de sessió' que també actua com a identificador de cada sessió.
Q # 8) Demaneu avantatges i desavantatges de la 'apatridia'.
Resposta: En la pregunta anterior, hem entès el significat de l'apatridia respecte a la comunicació client-servidor. Ara, vegem alguns dels seus avantatges i desavantatges.
Avantatges:
- Tots els mètodes necessaris per a la comunicació s’identifiquen com un mètode independent, és a dir, no hi ha dependències d’altres mètodes.
- No es manté cap comunicació prèvia amb el client i el servidor i, per tant, tot el procés es simplifica molt.
- Si es requereix informació o metadades anteriors en un altre mètode, el client torna a enviar aquesta informació amb la sol·licitud HTTP.
- El protocol HTTP i el servei web REST comparteixen la característica d'apatridia.
Desavantatges:
- En cada sol·licitud HTTP del client, el servei web requereix la disponibilitat d'alguna informació sobre l'estat del client.
P # 9) Enumereu algunes restriccions importants per als serveis web RESTful.
Resposta: Totes les limitacions tenen impactes negatius i positius, i per produir una arquitectura general, hi hauria d’haver un equilibri entre tots dos.
A continuació s'esmenten algunes restriccions importants per al servei web RESTful:
- Hi hauria d’haver problemes separats per a cada servidor i client que ajudessin a mantenir la modularitat dins de l’aplicació. Això també reduirà la complexitat i augmentarà l’escalabilitat.
- La comunicació client-servidor ha de ser apàtrida, el que significa que no s’utilitza cap informació prèvia i que l’execució completa es fa de manera aïllada. En cas de fracàs, també ajuda el client a recuperar-se.
- En la comunicació client-servidor, la resposta HTTP hauria de ser emmagatzemable a la memòria cau de manera que, quan sigui necessari, es pugui utilitzar una còpia emmagatzemada a la memòria cau que al seu torn millori l’escalabilitat i el rendiment del servidor.
- La quarta restricció és la interfície uniforme que permet entendre fàcilment la interacció client-servidor. Aquesta restricció es divideix en quatre sub-restriccions com:
- Identificació de recursos
- Manipulació de recursos
- Cada missatge s’entén fàcilment i és autodescriptiu.
- Hipermèdia, que es defineix com el text amb hiperenllaços i quan es fa clic, es mou a un altre estat d'aplicació.
- La comunicació client-servidor s'ha de fer en un sistema de capes i, per tant, el client només hauria de tenir coneixement del nivell intermedi amb què s'està fent la comunicació,
P # 10) Què és un 'recurs'?
Resposta: Igual que a la instància 'Object', hem après en el llenguatge de programació Orient Object, de la mateixa manera, 'Recurs' es defineix com un objecte d'un tipus que pot ser una imatge, un fitxer HTML, dades de text i qualsevol tipus de dinàmica dades. Hi ha varietats de formats de representació disponibles per representar un recurs.
A continuació es detallen alguns recursos més habituals:
- JSON
- YAML
- XML
- HTML
Q # 11) Per què es requereix una representació adequada del recurs?
Resposta: La representació és molt important perquè determina la fàcil identificació dels recursos. Amb les representacions adequades dels recursos en el format adequat, permet al client entendre fàcilment el format.
P # 12) Enumereu alguns punts importants que cal tenir en compte durant el disseny de la representació de recursos per a serveis web RESTful.
Resposta: Com que no hi ha restriccions en el format en què es fa la representació del recurs, sinó que el requisit principal és que el format de la representació sigui segons el requisit del client.
Una bona representació de recursos es dissenya tenint en compte els següents punts principals:
- El client i el servidor haurien d’entendre fàcilment el format de representació de recursos.
- La representació ha de ser completa independentment de la seva estructura de format, que pot ser complexa o senzilla.
- En el cas de la vinculació dels recursos a altres recursos, aquests casos també haurien de ser considerats i gestionats.
P # 13) Què és la memòria cau?
què és el sistema operatiu a l'ordinador
Resposta: La memòria cau és el procés en què s’emmagatzema la resposta del servidor, de manera que es pot utilitzar una còpia emmagatzemada a la memòria cau quan es requereixi i no cal tornar a generar la mateixa resposta. Aquest procés no només redueix la càrrega del servidor, sinó que augmenta l’escalabilitat i el rendiment del servidor. Només el client és capaç d’emmagatzemar la resposta en memòria cau durant un període limitat de temps.
A continuació, esmenten la capçalera dels recursos i la seva breu descripció perquè es puguin identificar per al procés de memòria cau:
- Hora i data de creació del recurs
- Hora i data de la modificació del recurs que sol emmagatzemar l’últim detall.
- Capçalera de control de memòria cau
- Hora i data en què caducarà el recurs emmagatzemat.
- L'edat que determina el temps des que s'ha recuperat el recurs.
Q # 14) Expliqueu la capçalera de control de memòria cau.
Resposta: Una capçalera de control de memòria cau estàndard pot ajudar a assolir la capacitat de memòria cau. A continuació es mostra la breu descripció de les diferents capçaleres de control de memòria cau:
- Públic: Els recursos marcats com a públics poden ser emmagatzemats en memòria cau per qualsevol component intermedi entre el client i el servidor.
- Privat: Els recursos que es marquen com a privats només poden ser emmagatzemats a la memòria cau pel client.
- Cap memòria cau significa que un recurs concret no es pot emmagatzemar a la memòria cau i, per tant, s'atura tot el procés.
P # 15) Quines són les millors pràctiques que s'han de seguir mentre es dissenyen serveis web RESTful?
Resposta: Per dissenyar un servei web RESTful segur, cal tenir en compte algunes pràctiques recomanades o dir alguns punts.
S’expliquen de la següent manera:
- S’ha de validar totes les entrades del servidor.
- L’entrada ha d’estar ben formada.
- No passeu mai cap dada sensible per URL.
- Per a qualsevol sessió, s’ha d’autenticar l’usuari.
- Només s’han d’utilitzar els missatges d’error HTTP per indicar qualsevol error.
- Utilitzeu un format de missatge fàcil d’entendre i que el client requereixi.
- L'identificador de recursos unificat ha de ser descriptiu i fàcil d'entendre.
P # 16) Què és la càrrega útil?
Resposta: Les dades de sol·licitud que es troben a la part del cos de cada missatge HTTP es denominen 'Càrrega útil'. Al servei web Restful, la càrrega útil només es pot transmetre al destinatari mitjançant el mètode POST.
No hi ha límit d’enviament de dades com a càrrega útil mitjançant el mètode POST, però l’única preocupació és que més dades consumiran més temps i amplada de banda. Això també pot consumir gran part del temps de l'usuari.
P # 17) Enumereu alguns dels mètodes HTTP amb la descripció.
Resposta: A continuació es mostra la llista de mètodes HTTP amb les seves descripcions:
- ACONSEGUIR: Es tracta d’una operació de només lectura que recupera la llista d’usuaris al servidor.
- POSA: Aquesta operació s'utilitza per a la creació de qualsevol recurs nou al servidor.
- POST: Aquesta operació s'utilitza per actualitzar un recurs antic o per crear un recurs nou.
- ELIMINA: Com el seu nom indica, aquesta operació s’utilitza per eliminar qualsevol recurs del servidor.
- OPCIONS: Aquesta operació obté la llista de totes les opcions de recursos compatibles disponibles al servidor.
P # 18) Quina diferència hi ha entre el mètode PUT i el mètode POST?
Resposta: La principal diferència entre els mètodes PUT i POST és que el resultat generat amb el mètode PUT sempre és el mateix, independentment de quantes vegades es realitzi l'operació. D'altra banda, el resultat generat per l'operació POST sempre és diferent.
P # 19) Què enteneu sobre JAX-RS?
Resposta: JAX-RS es defineix com l'API Java per al servei web RESTful. Entre múltiples biblioteques i framework, es considera l’API basada en llenguatges de programació Java més adequada que admet el servei web RESTful.
Algunes de les implementacions de JAX-RS són:
- Jersey
- RESTEasy
- Apache CFX
- Jugar
Entre aquests, Jersey és el marc més popular.
P # 20) Què són els codis d'estat HTTP? Afegiu-ne pocs amb significat.
Resposta: Els codis d'estat HTTP bàsicament són la representació de l'estat de la tasca que s'ha realitzat al servidor, amb el mode d'alguns codis. Cada codi té el seu propi significat.
Alguns dels codis d’estat HTTP amb el seu significat són els següents:
- Codi 200: Això indica èxit.
- Codi 201: Això indica que el recurs s’ha creat amb èxit.
- Codi 204: Això indica que no hi ha contingut al cos de la resposta.
- Codi 404: Això indica que no hi ha cap mètode disponible.
Hi ha pocs codis més que indiquin l'estat.
Conclusió
Aquest article us ajudarà a preparar-vos per a l’entrevista de serveis web RESTful i us ajudarà a entendre el concepte d’una manera senzilla i senzilla. He intentat cobrir totes les àrees que són molt necessàries per tenir un coneixement complet sobre els serveis web RESTful.
Per llegir més - Tutorial de l'API Flask
Recordeu que és possible que no pugueu respondre a totes les preguntes de l’entrevista, però el que respongueu hauria de ser precís. El vostre concepte bàsic ha de ser fort i el vostre nivell de confiança ha de ser alt.
Tot el millor!!
Lectura recomanada
- Algunes preguntes i respostes de proves manuals complicades
- Top 20+ Preguntes i respostes de l’entrevista .NET
- 20 preguntes i respostes de l'entrevista TestNG més populars
- Top 20 de les preguntes i respostes de les entrevistes de proves API més importants
- Preguntes i respostes d’entrevistes de proves ETL
- Top 20 de les darreres preguntes i respostes de l'entrevista de DevOps per al 2021
- 20 millors preguntes i respostes d'entrevistes d'analistes empresarials (LLISTA 2021)
- Top 20 de preguntes i respostes d’entrevistes de serveis web RESTful
- Top 45 de preguntes i respostes d'entrevistes de serveis web (RESTful, SOAP, preguntes de seguretat)