Índice analítico[Ocultar][Mostrar]
- 1. Que entendes por REST?
- 2. Que queres dicir con API REST?
- 3. Que é exactamente o URI?
- 4. Cales son as características dos Servizos Web RESTful?
- 5. Cales son os principios reitores de REST?
- 6. Menciona os métodos HTTP que admite REST.
- 7. Describe as restricións que pon unha interface consistente.
- 8. Que é exactamente un recurso REST?
- 9. Que significa para ti JAX-RS?
- 10. Que distingue a AJAX e REST entre si?
- 11. Podes enumerar algúns inconvenientes dos servizos web RESTful?
- 12. Que distingue as técnicas PUT e POST entre si?
- 13. Como probas os servizos web RESTful?
- 14. Describe unha API REST no mundo real.
- 15. Como funciona a arquitectura de microservizos?
- 16. Que é exactamente a caché?
- 17. Describe a carga útil.
- 18. Diferenciar SOAP e REST?
- 19. Pódese usar o protocolo de seguridade da capa de transporte (TLS) con REST?
- 20. Métodos idempotentes: que son? Como se aplica ao mundo dos servizos web RESTful?
- 21. Cal é a funcionalidade da autenticación básica HTTP?
- 22. Cres que GraphQL é a mellor opción para crear arquitectura de microservizos?
- 23. Cales son as principais distincións entre os métodos HTTP seguros e idempotentes?
- 24. Que implica a API JAX-RS mediante as clases de recursos raíz RESTful?
- 25. Que é exactamente o carteiro e por que se usa?
- 26. Como se mantén seguras as API REST?
- Conclusión
A evolución de REST fixo que as API fosen incriblemente accesibles, ao tempo que revelou toda a súa forza e potencial. As API REST son fáciles de crear e almacenar na caché debido á súa arquitectura orientada aos recursos.
Ademais, ao longo do tempo, as API RESTful foron as precursoras doutros desenvolvementos significativos como o cloud computing e o deseño baseado en microservizos.
Polo tanto, non debería sorprender que os desenvolvedores da API REST teñan unha demanda hoxe en día, dado como ofrecen ás empresas que empregan servizos RESTful unha vantaxe competitiva. As API REST son unha tendencia de deseño popular.
Moitas empresas de TI queren coñecemento da API REST desenvolvedores de software e preguntar por iso en entrevistas técnicas.
Aquí tes algunhas das preguntas máis típicas das entrevistas da API REST que che axudarán a estar preparado para entrevistas en varias empresas se queres traballar no campo de desenvolvemento da API REST.
1. Que entendes por REST?
REST é un paradigma arquitectónico para deseñar aplicacións baseadas na web que se basean no protocolo de transferencia de hipertexto (HTTP).
REST define certos estándares que os servizos web deben cumprir para que se consideren RESTful. Estas recomendacións garanten que as solicitudes e os recursos se transmitan de forma rápida e eficaz entre o cliente e o servidor mediante protocolos HTTP estandarizados.
2. Que queres dicir con API REST?
Unha ligazón de software a software coñecida como interface de programación de aplicacións permite a comunicación e o intercambio de datos entre programas independentes. Por exemplo, un sitio web de noticias podería usar a API de Twitter para descubrir chíos pertinentes automaticamente e integralos nas noticias.
Unha API que se adhire aos principios REST coñécese como API REST, ás veces coñecida como API RESTful. Nunha API REST, cada dato é tratado como un recurso e recibe unha identidade de recurso estándar (URI) distinta.
Por exemplo, a API de Twitter fai que cada tweet sexa un recurso recuperable que está dispoñible para os clientes. A API de Twitter pode ser usada polos usuarios para publicar chíos e realizar outras tarefas do sitio web.
3. Que é exactamente o URI?
A rede de computadores pódese referir ao recurso usando un URI ou un identificador de recurso uniforme. Serve como medio para separar un recurso doutro. As fontes poden estar ou non en liña.
Debido á súa estrutura estándar, os URI facilitan a conexión incluso a varios tipos de recursos. A localización ou o nome do recurso inclúese nos URI xunto cunha cadea de caracteres.
O URI está formado por un camiño, esquema, consulta e outros elementos pero non inclúe o protocolo.
Mediante un protocolo, utilízanse URL (Uniform Resource Locators) para atopar recursos en internet ou accesibles a través dela.
4. Cales son as características dos Servizos Web RESTful?
- O paradigma cliente-servidor é a base do servizo.
- O servizo pode acceder aos recursos mediante URIs.
- O servizo utiliza o protocolo HTTP para adquirir datos/recursos, realizar consultas e realizar outras tarefas.
- A mensaxería é o nome do método utilizado para comunicarse entre o cliente e o servidor.
- Estes servizos tamén poden implementar o patrón arquitectónico REST mediante servizos SOAP.
- Para reducir as chamadas do servidor para o mesmo tipo de solicitudes repetitivas, estes servizos tamén empregan a idea do caché.
5. Cales son os principios reitores de REST?
As API REST deben cumprir cinco criterios:
Desacoplamento cliente-servidor: só se poden utilizar unha serie de solicitudes e respostas para comunicarse entre o cliente e o servidor. Só os clientes e os servidores poden enviar solicitudes e respostas, respectivamente. Esta idea sinxela permite que ambas partes funcionen de forma independente unha da outra.
Interface uniforme: debe haber un protocolo uniforme para todas as conexións cliente-servidor. Este protocolo para REST é HTTP. Dado que cada aplicación solicita e envía datos usando o mesmo idioma, unha interface consistente fai que as integracións sexan máis sinxelas.
Sen estado: o servidor non garda ningún rexistro de solicitudes ou respostas anteriores en comunicacións sen estado. Cada solicitude e resposta proporciona todos os detalles necesarios para completar o intercambio. A comunicación sen estado mellora a velocidade, aforra memoria e reduce o estrés no servidor. Ademais, evita o posible fallo dunha solicitude debido a datos incompletos.
Sistema en capas: os servidores que residen entre o cliente e o servidor da API denomínanse capas. Estes servidores adicionais realizan unha variedade de servizos, como detectar spam e optimizar a velocidade. As capas en REST son modulares, o que significa que se poden engadir e eliminar sen afectar as comunicacións entre o cliente e o servidor da API.
Cacheable: os clientes poden almacenar na caché calquera recurso para aumentar a velocidade se as respostas do servidor indican se o recurso é caché ou non.
Codificación baixo demanda: como resposta, unha API pode transmitir código informático executable aos clientes. A aplicación cliente pode executar o código no seu propio back-end.
6. Menciona os métodos HTTP que admite REST.
Os métodos HTTP que admite REST son:
- GET: este método pide un recurso no URL especificado. Non se debe incluír un corpo de solicitude porque se ignorará. Podería ser posible almacenalo na caché localmente ou no servidor.
- POST: este método envía datos a un servizo para procesalos, e o servizo normalmente debería devolver un recurso novo ou modificado.
- PUT: o recurso actualízase no URL da solicitude.
- ELIMINAR: o recurso elimínase no URL da solicitude.
- Opcións: Identifica os métodos admitidos.
- HEAD: devólvense os metadatos do URL da solicitude.
7. Describe as restricións que pon unha interface consistente.
Para separar o cliente do servidor, é necesaria unha interface consistente.
Para conseguir unha interface consistente, son necesarias as seguintes catro restricións:
- Identificación de recursos: as solicitudes dos clientes deben utilizar ID de recursos estándar para identificar recursos (URI)
- Manipulación de recursos mediante estas representacións: os clientes teñen toda a información necesaria para poder cambiar o estado dos recursos cando obteñen unha representación de recursos do servidor.
- Mensaxes autodescritivas: as mensaxes inclúen todos os metadatos e outra información necesaria para que o receptor os entenda.
- Hypermedia como motor de estado da aplicación: a canle para a comunicación cliente-servidor é hipermedia, como HTML, e os clientes non necesitan documentación específica da API para comprender as respostas do servidor.
8. Que é exactamente un recurso REST?
Os recursos son os compoñentes fundamentais dun servizo web RESTful nunha arquitectura REST. Inclúen toda a información crucial á que debe acceder un cliente de API.
Pódese acceder a calquera tipo de recurso, como unha páxina HTML, unha imaxe, un vídeo ou calquera outra cousa necesaria para unha actividade da API, a través do servidor nun sistema cliente-servidor.
Os recursos identifícanse mediante un identificador uniforme de recursos. Texto, JSON ou XML son representacións aceptables dos recursos. Dito isto, non hai limitacións no formato da representación.
9. Que significa para ti JAX-RS?
É máis sinxelo crear servizos web RESTful en Java grazas á API de Java para servizos web RESTful, moitas veces coñecida como JAX-RS. Os desenvolvedores poden describir recursos e as operacións que se poden levar a cabo con eles utilizando as anotacións que se proporcionan.
10. Que distingue a AJAX e REST entre si?
Ajax:
- Ajax é un grupo de tecnoloxías que permite a actualización dinámica de interface co usuario elementos sen ter que recargar a páxina.
- Ajax elimina a comunicación asíncrona entre o cliente e o servidor.
DESCANSO:
- REST esixe comunicación entre o servidor e o cliente.
- A utilización dos recursos é importante para a estrutura do URL e o patrón de solicitude/resposta utilizados por REST.
11. Podes enumerar algúns inconvenientes dos servizos web RESTful?
Non se poden manter as sesións xa que os servizos adhírense á noción de apatridia. (O cliente é responsable de pasar o identificador da sesión durante a simulación da sesión).
As restricións de seguridade non son fundamentais para REST. Os protocolos que o utilizan herdan as precaucións de seguridade. Polo tanto, é importante ter precaución ao poñer en marcha medidas de seguridade, como a integración de autenticacións baseadas en SSL/TLS.
12. Que distingue as técnicas PUT e POST entre si?
POÑER:
- Non hai caché para as respostas PUT.
- Idempotente (é dicir, varias solicitudes darán o mesmo resultado)
- a carga útil da solicitude actualiza ou substitúe o recurso de destino.
POSTAL:
- idempotent not (é dicir, varias solicitudes darán múltiplos do mesmo recurso)
- O servidor web procesa a carga útil da solicitude en función do recurso previsto.
- Se se inclúe a cabeceira de control de caché adecuada, as respostas POST pódense almacenar na caché.
13. Como probas os servizos web RESTful?
As probas de servizos web RESTful poden ser axudadas por unha serie de ferramentas, incluíndo Swagger e Postman. A inspección de parámetros de solicitude, como parámetros de consulta, cabeceiras e cabeceiras de resposta, é posible grazas á abundancia de funcións deste último.
Postman pódese usar para facer solicitudes aos puntos finais e mostrar os resultados. E XML e JSON pódense crear a partir destas respostas.
Postman e Swagger ofrecen funcións moi comparables. Por outra banda, Swagger tamén ofrece capacidades como a documentación do punto final.
14. Describe unha API REST no mundo real.
- Os sitios web de viaxes e billetes poden aproveitar os horarios dos voos e os prezos que as compañías aéreas ofrecen a través das API.
- Para que as aplicacións de mapas e navegación (como Google Maps) as utilicen, as axencias de transporte público adoitan facer que os seus datos sexan públicos en tempo real mediante API.
- As aplicacións meteorolóxicas usan API abertas que intercambian datos meteorolóxicos para mostrar información meteorolóxica.
- Os desenvolvedores poden acceder aos datos de mapas de Google Maps a través de varias das súas API aloxadas. Estas API son usadas polos desenvolvedores para inserir mapas dinámicos nas súas aplicacións e sitios web.
15. Como funciona a arquitectura de microservizos?
- As solicitudes son enviadas por varios clientes utilizando varios dispositivos.
- Despois de confirmar as identidades dos clientes, os provedores de identidades proporcionan tokens de seguridade.
- As solicitudes dos clientes son xestionadas por API Gateway.
- Todo o material do sistema consérvase como contido estático.
- A ferramenta de xestión comproba o equilibrio dos servizos nos nodos e calquera avaría.
- Descubrir o camiño de comunicación entre microservizos é axudado pola descuberta de servizos.
- Os centros de datos e os servidores proxy constitúen sistemas de rede dispersos chamados redes de entrega de contidos.
- Os servizos remotos proporcionan acceso á información dende a distancia.
16. Que é exactamente a caché?
A práctica de gardar temporalmente unha copia dunha resposta do servidor nalgún lugar (como a memoria do ordenador) para poder acceder a ela máis tarde coñécese como caché.
O almacenamento en caché mellora a velocidade do servidor cando se usan API REST ao diminuír a cantidade de traballo que debe facer o servidor para satisfacer a solicitude. As aplicacións que utilizan a API funcionan máis rápido grazas á memoria caché porque non teñen que enviar unha nova solicitude cada vez que necesitan un recurso.
O campo Cache-Control da cabeceira da resposta HTTP contén información sobre o tempo que o cliente pode gardar na memoria caché un recurso antes de ter que acceder de novo.
17. Describe a carga útil.
A carga útil en REST refírese á información contida no corpo da resposta HTTP. O cliente utilizou a técnica GET para solicitar os datos en cuestión.
O documento que contén o texto do chío e os ficheiros necesarios para poñer o chío nun sitio web incluiranse na carga útil, por exemplo, se solicitas un chío específico á API de Twitter. Ademais, a carga útil pódese incluír na solicitude HTTP mediante o método POST.
18. Diferenciar XABÓN VS REST?
- A diferenza de SOAP, que só pode xestionar XML, REST permite unha gama máis ampla de formatos de recursos, incluíndo XML, texto, HTML, imaxes, vídeo e moito máis.
- Cando a seguridade é crucial para as aplicacións en liña, SOAP é útil. REST non se pode utilizar cando as transaccións deben completarse de forma segura xa que non é particularmente segura.
- Xa que SOAP é só un protocolo, REST pode usalo nos seus servizos web pero non ao revés.
- Aínda que REST é só un patrón arquitectónico que se usa para desenvolver servizos web e cumpre con certas limitacións como a configuración cliente-servidor, a ausencia de estado, a resposta caché, os sistemas en capas e a interface consistente, SOAP é un protocolo que opera con estándares particulares que deben cumprirse rigorosamente. a.
- Mentres que REST usa identificadores de recursos universais (URI), SOAP usa interfaces de servizo para ofrecer as súas capacidades ás aplicacións cliente. REST ten unha necesidade de ancho de banda menor que SOAP xa que as mensaxes SOAP contan con máis información.
19. Pódese usar o protocolo de seguridade da capa de transporte (TLS) con REST?
De feito, podemos. A comunicación do cliente e do servidor REST está cifrada a través de TLS e o protocolo tamén ofrece aos clientes unha forma de autenticar servidores.
Debido ao feito de que é o substituto da capa de socket seguro, utilízase para a comunicación segura (SSL). A implementación de servizos web RESTful ten éxito con HTTPS porque coopera de forma eficaz tanto con TLS como con SSL.
O REST herda as características do protocolo que implementa, que é unha cousa a destacar aquí. Como resultado, as proteccións de seguridade dependen do protocolo que utiliza REST.
20. Métodos idempotentes: que son? Como se aplica ao mundo dos servizos web RESTful?
Cando o URI é o mesmo, algúns métodos HTTP dunha solicitude teñen o mesmo impacto no servidor, xa sexan entregados unha ou varias veces. As técnicas idempotentes son as que se coñecen como.
Por exemplo, sen importar cantas veces se execute un URI usando o método GET, o servidor sempre experimentará o mesmo resultado. Os métodos idempotentes inclúen GET, PUT e PATCH, por citar algúns.
Os métodos HTTP idempotentes son algúns dos que utiliza RESTful aplicacións web. Son necesarios para garantir a coherencia nas actividades dos servizos web RESTful.
Os clientes que usan API REST poden cometer erros de código que obrigan a unha API REST a realizar solicitudes repetidas accidentalmente. Estas chamadas teñen o potencial de facer un mal uso dos recursos.
21. Cal é a funcionalidade da autenticación básica HTTP?
Cando se utiliza a autenticación básica como parte das API, o usuario debe enviar o nome de usuario e o contrasinal, que son concatenados polo navegador na forma "nome de usuario: contrasinal" e codificados en base64.
En cada solicitude HTTP do navegador, o valor codificado entrégase como o valor para a cabeceira "Autorización". Debido a que as credenciais só están codificadas, recoméndase utilizar este formulario cando se envíen solicitudes HTTPS porque non son seguras e calquera persoa pode interceptalas se non se utilizan protocolos de seguridade.
22. Cres que GraphQL é a mellor opción para crear arquitectura de microservizos?
Os microservizos e GraphQL van perfectamente porque GraphQL mantén en segredo a túa arquitectura de microservizos para os teus clientes.
Desde o front end, queres que todos os teus datos proveñan dunha única API, mentres que desde o backend queres dividilos en microservizos. A mellor técnica que coñezo para conseguir ambas é usar GraphQL.
Permítelle dividir o seu back-end en microservizos ao tempo que dá a cada aplicación unha única API e permite conexións entre os datos de varios servizos.
23. Cales son as principais distincións entre os métodos HTTP seguros e idempotentes?
Os métodos idempotentes producen o mesmo resultado cando se invocan unha ou varias veces mediante a mesma solicitude. O método PUT é idempotente.
Todos os métodos seguros son idempotentes, pero non todos os métodos idempotentes son seguros xa que os métodos seguros non alteran os recursos. Por exemplo, GET é seguro xa que só recupera datos e non altera o recurso.
Ademais, é idempotente, o que significa que sempre devolverá a mesma resposta cando se invoque.
24. Que implica a API JAX-RS mediante as clases de recursos raíz RESTful?
Java Enterprise Edition ofrece clases e interfaces que cumpren os requisitos da API de JAX-RS. Coa axuda de JAX-RS, a creación de servizos web Java no estilo arquitectónico REST faise máis fácil.
Na API JAX-RS, as clases de recursos raíz son só "obxectos Java antigos simples" ou POJO. Para implementar os recursos web necesarios, empregan anotacións JAX-RS.
Teñen anotacións @path ou polo menos un dos seus métodos ten anotacións @path. Pódense resumir como clases Java con métodos para tratar con puntos finais da API.
25. Que é exactamente o carteiro e por que se usa?
Utilízase unha ferramenta de desenvolvemento de API chamada Postman para crear, probar e modificar as API. Esta ferramenta pode ser usada polos desenvolvedores para calquera función que precisen para unha API. Simplifica e facilita o traballo dos desenvolvedores.
Postman facilita facer unha variedade de consultas HTTP, incluíndo GET, POST, PUT e PATCH, gardar ambientes para o seu uso posterior e converter as API en código en varios idiomas diferentes.
Cada etapa do ciclo da API faise máis sinxela con Postman e a cooperación racionalízase para un desenvolvemento máis rápido da API.
Ademais, permite aos desenvolvedores xestionar a documentación, as especificacións, os casos de proba, os procesos e os catálogos de API.
26. Como se mantén seguras as API REST?
Dado que as API REST non usan garantías de seguridade tan rigorosas como as API SOAP, os datos confidenciais non deben enviarse ou recuperarse mediante elas.
Non obstante, as API REST fiables seguen integrando controis de seguridade para transmisións de datos seguras e fiables.
- Autenticación e autorización: todas e cada unha das solicitudes realizadas á API deben pasar estas dúas comprobacións. Verificar a identidade do cliente mediante a autenticación e validar que ten autoridade para acceder aos recursos solicitados mediante autorización son dous procesos diferentes.
- Validación: antes de que a API conceda acceso aos seus recursos, as solicitudes aínda deben comprobarse para detectar códigos posiblemente daniños despois da autenticación e autorización. Así, un servidor estaría aberto a un ataque de inxección.
- Validación: antes de que a API conceda acceso aos seus recursos, as solicitudes aínda deben comprobarse para detectar códigos posiblemente daniños despois da autenticación e autorización. Así, un servidor estaría aberto a un ataque de inxección.
- Cifrado: o cifrado TLS/SSL protexe a conexión entre o cliente e o servidor e evita que os hackers intercepten solicitudes e respostas.
- As técnicas de limitación da taxa, como os límites e a limitación, protexen os servidores de ataques de forza bruta como DDoS que pretenden degradalos ou bloquealos.
- Non hai información confidencial nos URI: os URI dos recursos non deben conter ningún dato protexido (como un nome de usuario, un contrasinal ou un token de autenticación).
Conclusión
Parabéns! Varias preguntas básicas ou complexas de entrevista da API REST e as súas respectivas solucións están agora ao teu alcance.
Agora que tes un bo concepto de como responder a algunhas das preguntas típicas das entrevistas da API REST, podes continuar respondendo ás entrevistas. O seguinte paso depende dos teus obxectivos.
visita Serie de entrevistas con Hashdork para prepararse para entrevistas.
Deixe unha resposta