Índice del contenido[Esconder][Espectáculo]
- 1. ¿Qué entiendes por REST?
- 2. ¿Qué quiere decir API REST?
- 3. ¿Qué es exactamente URI?
- 4. ¿Cuáles son las características de los Servicios Web RESTful?
- 5. ¿Cuáles son los principios rectores de REST?
- 6. Mencione los métodos HTTP que admite REST.
- 7. Describa las restricciones impuestas por una interfaz consistente.
- 8. ¿Qué es exactamente un recurso REST?
- 9. ¿Qué significa JAX-RS para usted?
- 10. ¿Qué distingue a AJAX y REST entre sí?
- 11. ¿Puede enumerar algunos inconvenientes de los servicios web RESTful?
- 12. ¿Qué distingue a las técnicas PUT y POST entre sí?
- 13. ¿Cómo se prueban los servicios web RESTful?
- 14. Describa una API REST en el mundo real.
- 15. ¿Cómo funciona la arquitectura de microservicios?
- 16. ¿Qué es exactamente el almacenamiento en caché?
- 17. Describa la carga útil.
- 18. ¿Diferenciar SOAP VS REST?
- 19. ¿Se puede usar el protocolo de seguridad de la capa de transporte (TLS) con REST?
- 20. Métodos idempotentes: ¿qué son? ¿Cómo se aplica al mundo de los servicios web RESTful?
- 21. ¿Cuál es la funcionalidad de la autenticación básica HTTP?
- 22. ¿Crees que GraphQL es la mejor opción para crear una arquitectura de microservicios?
- 23. ¿Cuáles son las principales diferencias entre los métodos HTTP seguro e idempotente?
- 24. ¿Qué implica la API JAX-RS para las clases de recursos raíz RESTful?
- 25. ¿Qué es exactamente Postman y por qué se usa?
- 26. ¿Cómo se mantienen seguras las API REST?
- Conclusión
La evolución de REST ha hecho que las API sean increíblemente accesibles al mismo tiempo que revelan toda su fuerza y potencial. Las API REST son fáciles de crear y almacenar en caché debido a su arquitectura orientada a los recursos.
Además, a lo largo del tiempo, las API RESTful fueron las precursoras de otros desarrollos importantes como la computación en la nube y el diseño basado en microservicios.
Por lo tanto, no debería sorprender que los desarrolladores de API REST estén en demanda hoy en día, dada la forma en que brindan a las empresas que emplean servicios RESTful una ventaja competitiva. Las API REST son una tendencia de diseño popular.
Muchas empresas de TI quieren conocimientos de API REST de desarrolladores de software y preguntar al respecto en entrevistas técnicas.
Estas son algunas de las preguntas más típicas de entrevistas de API REST que lo ayudarán a estar listo para entrevistas en varias empresas si desea trabajar en el campo de desarrollo de API REST.
1. ¿Qué entiendes por REST?
REST es un paradigma arquitectónico para diseñar aplicaciones basadas en web que se basan en el Protocolo de transferencia de hipertexto (HTTP).
REST define ciertos estándares que los servicios web deben cumplir para ser considerados RESTful. Estas recomendaciones garantizan que las solicitudes y los recursos se transmitan de forma rápida y eficaz entre el cliente y el servidor utilizando protocolos HTTP estandarizados.
2. ¿Qué quiere decir API REST?
Un enlace de software a software conocido como interfaz de programación de aplicaciones permite la comunicación y el intercambio de datos entre programas independientes. Por ejemplo, un sitio web de noticias podría usar la API de Twitter para descubrir tweets pertinentes automáticamente e integrarlos en las noticias.
Una API que se adhiere a los principios REST se conoce como API REST, a veces conocida como API RESTful. En una API REST, cada pieza de datos se maneja como un recurso y se le asigna una identidad de recurso estándar (URI) distinta.
Por ejemplo, la API de Twitter hace que cada tweet sea un recurso recuperable que está disponible para los clientes. Los usuarios pueden utilizar la API de Twitter para publicar tweets y realizar otras tareas del sitio web.
3. ¿Qué es exactamente URI?
A Red de computadoras Se puede hacer referencia al recurso mediante un URI o un identificador de recurso uniforme. Sirve como un medio para separar un recurso de otro. Las fuentes pueden o no estar en línea.
Debido a su estructura estándar, los URI facilitan la conexión incluso a varios tipos de recursos. La ubicación o el nombre del recurso se incluye en las URI junto con una cadena de caracteres.
El URI se compone de una ruta, un esquema, una consulta y otros elementos, pero no incluye el protocolo.
Usando un protocolo, las URL (localizadores uniformes de recursos) se utilizan para encontrar recursos en Internet o accesibles a través de él.
4. ¿Cuáles son las características de los Servicios Web RESTful?
- El paradigma Cliente-Servidor es la base del servicio.
- El servicio puede acceder a los recursos mediante el uso de URI.
- El servicio utiliza el protocolo HTTP para adquirir datos/recursos, ejecutar consultas y realizar otras tareas.
- Mensajería es el nombre del método utilizado para comunicarse entre el cliente y el servidor.
- Estos servicios también pueden implementar el patrón de arquitectura REST mediante servicios SOAP.
- Para reducir las llamadas al servidor para el mismo tipo de solicitudes repetitivas, estos servicios también emplean la idea del almacenamiento en caché.
5. ¿Cuáles son los principios rectores de REST?
Las API REST deben cumplir cinco criterios:
Desacoplamiento cliente-servidor: solo se puede utilizar una serie de solicitudes y respuestas para comunicarse entre el cliente y el servidor. Solo los clientes y servidores pueden enviar solicitudes y respuestas, respectivamente. Esta idea sencilla permite que ambas partes funcionen independientemente una de la otra.
Interfaz uniforme: debe haber un protocolo uniforme para todas las conexiones cliente-servidor. Este protocolo para REST es HTTP. Debido a que cada aplicación solicita y envía datos utilizando el mismo idioma, una interfaz coherente simplifica las integraciones.
Sin estado: el servidor no guarda ningún registro de solicitudes o respuestas anteriores en la comunicación sin estado. Cada solicitud y respuesta proporciona todos los detalles necesarios para completar el intercambio. La comunicación sin estado mejora la velocidad, ahorra memoria y reduce el estrés en el servidor. Además, evita la posibilidad de que una solicitud falle debido a datos incompletos.
Sistema en capas: los servidores que residen entre el cliente y el servidor API se denominan capas. Estos servidores adicionales realizan una variedad de servicios, como detectar spam y optimizar la velocidad. Las capas en REST son modulares, lo que significa que se pueden agregar y eliminar sin afectar las comunicaciones entre el cliente y el servidor API.
Almacenamiento en caché: los clientes pueden almacenar en caché cualquier recurso para aumentar la velocidad si las respuestas del servidor indican si el recurso se puede almacenar en caché o no.
Codificación a pedido: en respuesta, una API puede transmitir un código de computadora ejecutable a los clientes. La aplicación cliente puede ejecutar el código en su propio back-end.
6. Mencione los métodos HTTP que admite REST.
Los métodos HTTP que admite REST son:
- GET: este método solicita un recurso en la URL especificada. No se debe incluir un cuerpo de solicitud porque se ignorará. Podría ser posible almacenarlo en caché localmente o en el servidor.
- POST: este método envía datos a un servicio para su procesamiento, y el servicio normalmente debería devolver un recurso nuevo o modificado.
- PUT: el recurso se actualiza en la URL de solicitud.
- ELIMINAR: el recurso se elimina en la URL de solicitud.
- Opciones: Identifica los métodos soportados.
- HEAD: se devuelven los metadatos de la URL de la solicitud.
7. Describa las restricciones impuestas por una interfaz consistente.
Para separar el cliente del servidor, se requiere una interfaz consistente.
Para lograr una interfaz consistente, se requieren las siguientes cuatro restricciones:
- Identificación de recursos: las solicitudes de los clientes deben utilizar ID de recursos estándar para identificar recursos (URI)
- Manipulación de recursos utilizando estas representaciones: los clientes tienen toda la información necesaria para poder cambiar el estado de los recursos cuando obtienen una representación de recursos del servidor.
- Mensajes autodescriptivos: los mensajes incluyen todos los metadatos y otra información necesaria para que el receptor los entienda.
- Hipermedia como motor de estado de la aplicación: el canal para la comunicación cliente-servidor es hipermedia, como HTML, y los clientes no necesitan documentación específica de la API para comprender las respuestas del servidor.
8. ¿Qué es exactamente un recurso REST?
Los recursos son los componentes fundamentales de un servicio web RESTful en una arquitectura REST. Incluyen toda la información crucial a la que un cliente API necesita acceder.
Se puede acceder a cualquier tipo de recurso, como una página HTML, una imagen, un video o cualquier otra cosa necesaria para una actividad API, a través del servidor en un sistema cliente-servidor.
Los recursos se identifican mediante un identificador uniforme de recursos. Texto, JSON o XML son representaciones aceptables de recursos. Dicho esto, no existen limitaciones en el formato de la representación.
9. ¿Qué significa JAX-RS para usted?
Es más sencillo crear servicios web RESTful en Java gracias a la API de Java para servicios web RESTful, a menudo conocida como JAX-RS. Los desarrolladores pueden describir los recursos y las operaciones que se pueden realizar en ellos utilizando las anotaciones que se proporcionan.
10. ¿Qué distingue a AJAX y REST entre sí?
Ajax:
- Ajax es un grupo de tecnologías que permite la actualización dinámica de interfaz de usuario elementos sin tener que recargar la página.
- Ajax elimina la comunicación asíncrona entre el cliente y el servidor.
DESCANSO:
- REST exige comunicación entre el servidor y el cliente.
- La utilización de recursos es importante para la estructura de URL y el patrón de solicitud/respuesta que utiliza REST.
11. ¿Puede enumerar algunos inconvenientes de los servicios web RESTful?
Las sesiones no se pueden mantener ya que los servicios se adhieren a la noción de apatridia. (El cliente es responsable de pasar la identificación de la sesión durante la simulación de la sesión).
Las restricciones de seguridad no son fundamentales para REST. Los protocolos que lo utilizan heredan las precauciones de seguridad. Por lo tanto, es importante tener cuidado al implementar medidas de seguridad, como la integración de autenticaciones basadas en SSL/TLS.
12. ¿Qué distingue a las técnicas PUT y POST entre sí?
PUESTO:
- No hay caché para las respuestas PUT.
- Idempotente (es decir, múltiples solicitudes producirán el mismo resultado)
- la carga útil de la solicitud actualiza o reemplaza el recurso de destino.
ENVIAR:
- idempotente no (es decir, varias solicitudes producirán múltiplos del mismo recurso)
- El servidor web procesa la carga útil de la solicitud en función del recurso previsto.
- Si se incluye el encabezado de control de caché apropiado, las respuestas POST se pueden almacenar en caché.
13. ¿Cómo se prueban los servicios web RESTful?
Las pruebas de servicios web RESTful pueden ser asistidas por una serie de herramientas, incluidas Swagger y Postman. La inspección de parámetros de solicitud como parámetros de consulta, encabezados y encabezados de respuesta es posible gracias a la abundancia de características de este último.
El cartero se puede utilizar para realizar solicitudes a los puntos finales y mostrar los resultados. Y XML y JSON se pueden crear a partir de estas respuestas.
Postman y Swagger ofrecen funcionalidades extremadamente comparables. Por otro lado, Swagger también ofrece capacidades como documentación de punto final.
14. Describa una API REST en el mundo real.
- Los sitios web de viajes y emisión de boletos pueden aprovechar los horarios de vuelo y los precios que las aerolíneas ponen a disposición a través de las API.
- Para que las aplicaciones de mapas y navegación (como Google Maps) las utilicen, las agencias de transporte público a menudo ponen sus datos a disposición del público en tiempo real a través de las API.
- Las aplicaciones meteorológicas utilizan API abiertas que intercambian datos meteorológicos para mostrar información meteorológica.
- Los desarrolladores pueden acceder a los datos de mapas de Google Maps a través de varias de sus API alojadas. Los desarrolladores utilizan estas API para incrustar mapas dinámicos en sus aplicaciones y sitios web.
15. ¿Cómo funciona la arquitectura de microservicios?
- Las solicitudes son enviadas por varios clientes utilizando varios dispositivos.
- Después de confirmar las identidades de los clientes, los proveedores de identidad proporcionan tokens de seguridad.
- Las solicitudes de los clientes son administradas por API Gateway.
- Todo el material del sistema se conserva como contenido estático.
- La herramienta de administración verifica el saldo de los servicios en los nodos y cualquier falla.
- El descubrimiento de servicios ayuda a descubrir la ruta de comunicación entre microservicios.
- Los centros de datos y los servidores proxy forman sistemas de red dispersos llamados redes de entrega de contenido.
- Los servicios remotos brindan acceso a la información a distancia.
16. ¿Qué es exactamente el almacenamiento en caché?
La práctica de guardar temporalmente una copia de una respuesta del servidor en algún lugar (como la memoria de la computadora) para poder acceder a ella más tarde más rápidamente se conoce como almacenamiento en caché.
El almacenamiento en caché mejora la velocidad del servidor cuando se utilizan API REST al disminuir la cantidad de trabajo que debe realizar el servidor para satisfacer la solicitud. Las aplicaciones que utilizan la API se ejecutan más rápido gracias al almacenamiento en caché porque no tienen que enviar una nueva solicitud cada vez que necesitan un recurso.
El campo Cache-Control del encabezado de respuesta HTTP contiene información sobre cuánto tiempo el cliente puede almacenar en caché un recurso antes de que sea necesario acceder a él nuevamente.
17. Describa la carga útil.
La carga útil en REST se refiere a la información contenida en el cuerpo de la respuesta HTTP. El cliente utilizó la técnica GET para solicitar los datos en cuestión.
El documento que contiene el texto del tweet y los archivos necesarios para colocar el tweet en un sitio web se incluirán en la carga útil, por ejemplo, si le solicita a la API de Twitter un tweet específico. Además, la carga útil se puede incluir en la solicitud HTTP mediante el método POST.
18. Diferenciar JABÓN VS DESCANSO?
- A diferencia de SOAP, que solo puede manejar XML, REST permite una gama más amplia de formatos de recursos, incluidos XML, texto, HTML, imágenes, video y más.
- Cuando la seguridad es crucial para las aplicaciones en línea, SOAP es útil. REST no se puede utilizar cuando las transacciones deben completarse de forma segura, ya que no es particularmente seguro.
- Dado que SOAP es solo un protocolo, REST puede usarlo en sus servicios web, pero no al revés.
- Si bien REST es solo un patrón arquitectónico utilizado para desarrollar servicios web y cumple con ciertas limitaciones, como la configuración cliente-servidor, la falta de estado, la respuesta almacenable en caché, los sistemas en capas y la interfaz coherente, SOAP es un protocolo que opera con estándares particulares que deben cumplirse rigurosamente. a.
- Mientras que REST usa identificadores de recursos universales (URI), SOAP usa interfaces de servicio para proporcionar sus capacidades a las aplicaciones cliente. REST tiene una menor necesidad de ancho de banda que SOAP, ya que los mensajes SOAP contienen más información.
19. ¿Se puede usar el protocolo de seguridad de la capa de transporte (TLS) con REST?
De hecho, podemos. La comunicación entre el servidor y el cliente REST se cifra a través de TLS, y el protocolo también brinda a los clientes una forma de autenticar los servidores.
Debido a que es el reemplazo de Secure Socket Layer, se utiliza para comunicaciones seguras (SSL). La implementación de servicios web RESTful es exitosa con HTTPS porque coopera de manera efectiva tanto con TLS como con SSL.
El REST hereda las características del protocolo que implementa, que es algo a tener en cuenta aquí. Como resultado, las protecciones de seguridad dependen del protocolo que usa REST.
20. Métodos idempotentes: ¿qué son? ¿Cómo se aplica al mundo de los servicios web RESTful?
Cuando el URI es el mismo, algunos métodos HTTP en una solicitud tienen el mismo impacto en el servidor, ya sea que se entreguen una o varias veces. Las técnicas idempotentes son lo que se les conoce.
Por ejemplo, no importa cuántas veces se ejecute un URI con el método GET, el servidor siempre experimentará el mismo resultado. Los métodos idempotentes incluyen GET, PUT y PATCH, por nombrar algunos.
Los métodos HTTP idempotentes son algunos de los utilizados por RESTful aplicaciones web. Son necesarios para garantizar la coherencia en las actividades de los servicios web RESTful.
Los clientes que usan API REST pueden cometer errores de código que obligan a una API REST a realizar solicitudes repetidas accidentalmente. Estas llamadas tienen el potencial de hacer un mal uso de los recursos.
21. ¿Cuál es la funcionalidad de la autenticación básica HTTP?
Al utilizar la Autenticación básica como parte de las API, el usuario debe enviar el nombre de usuario y la contraseña, que el navegador concatena en la forma "nombre de usuario: contraseña" y está codificado en base64.
En cada solicitud HTTP del navegador, el valor codificado se entrega como el valor del encabezado "Autorización". Debido a que las credenciales solo están codificadas, se recomienda usar este formulario al enviar solicitudes HTTPS porque no son seguras y cualquiera puede interceptarlas si no se utilizan los protocolos de seguridad.
22. ¿Crees que GraphQL es la mejor opción para crear una arquitectura de microservicios?
Los microservicios y GraphQL se llevan bien porque GraphQL mantiene su arquitectura de microservicio en secreto para sus clientes.
Desde el front-end, desea que todos sus datos provengan de una sola API, mientras que desde el back-end, desea dividirlos en microservicios. La mejor técnica que conozco para lograr ambos es usar GraphQL.
Le permite dividir su back-end en microservicios mientras le da a cada aplicación una sola API y permite uniones entre datos de varios servicios.
23. ¿Cuáles son las principales diferencias entre los métodos HTTP seguro e idempotente?
Los métodos idempotentes producen el mismo resultado cuando se invocan una o varias veces a través de la misma solicitud. El método PUT es idempotente.
Todas las formas seguras son idempotentes, pero no todos los métodos idempotentes son seguros ya que los métodos seguros no alteran los recursos. Por ejemplo, GET es seguro ya que solo recupera datos y no altera el recurso.
Además, es idempotente, lo que significa que siempre devolverá la misma respuesta cuando se invoque.
24. ¿Qué implica la API JAX-RS para las clases de recursos raíz RESTful?
Java Enterprise Edition proporciona clases e interfaces que se adhieren a los requisitos de la API de JAX-RS. Con la ayuda de JAX-RS, se facilita la creación de servicios web Java en el estilo arquitectónico REST.
En la API de JAX-RS, las clases de recursos raíz son simplemente "objetos Java simples y antiguos" o POJO. Para implementar los recursos web necesarios, emplean anotaciones JAX-RS.
Tienen anotaciones @path o al menos uno de sus métodos tiene anotaciones @path. Se pueden resumir como clases de Java con métodos para tratar con puntos finales de API.
25. ¿Qué es exactamente Postman y por qué se usa?
Se utiliza una herramienta de desarrollo de API llamada Postman para crear, probar y modificar las API. Los desarrolladores pueden utilizar esta herramienta para cualquier característica que requieran para una API. Simplifica y facilita el trabajo de los desarrolladores.
Postman facilita la realización de una variedad de consultas HTTP, incluidas GET, POST, PUT y PATCH, guarda entornos para su uso posterior y convierte las API en código en varios idiomas diferentes.
Cada etapa del ciclo de la API se simplifica con Postman y la cooperación se optimiza para un desarrollo de la API más rápido.
Además, permite a los desarrolladores administrar la documentación, las especificaciones, los casos de prueba, los procesos y los catálogos de API.
26. ¿Cómo se mantienen seguras las API REST?
Dado que las API de REST no utilizan protecciones de seguridad tan rigurosas como las API de SOAP, no se deben enviar ni recuperar datos confidenciales con ellas.
Sin embargo, las API REST confiables continúan integrando controles de seguridad para transmisiones de datos seguras y confiables.
- Autenticación y autorización: Todas y cada una de las solicitudes realizadas a la API deben pasar estas dos comprobaciones. Verificar la identidad del cliente a través de la autenticación y validar que tiene autoridad para acceder a los recursos solicitados a través de la autorización son dos procesos diferentes.
- Validación: antes de que la API otorgue acceso a sus recursos, las solicitudes aún deben verificarse en busca de código posiblemente dañino después de la autenticación y autorización. Por lo tanto, un servidor estaría abierto a un ataque de inyección.
- Validación: antes de que la API otorgue acceso a sus recursos, las solicitudes aún deben verificarse en busca de código posiblemente dañino después de la autenticación y autorización. Por lo tanto, un servidor estaría abierto a un ataque de inyección.
- Cifrado: el cifrado TLS/SSL protege la conexión entre el cliente y el servidor y evita que los piratas informáticos intercepten solicitudes y respuestas.
- Las técnicas de limitación de velocidad, como los límites y la aceleración, protegen los servidores de ataques de fuerza bruta como DDoS que tienen como objetivo degradarlos o bloquearlos.
- Sin información confidencial en los URI: los URI de los recursos no deben contener datos protegidos (como un nombre de usuario, una contraseña o un token de autenticación).
Conclusión
¡Felicidades! Varias preguntas de entrevistas de REST API básicas a complejas y sus respectivas soluciones ahora están al alcance de su mano.
Ahora que tiene un buen concepto de cómo responder a algunas de las preguntas típicas de las entrevistas de la API REST, puede continuar respondiendo las entrevistas. El siguiente paso depende de tus objetivos.
Visite Serie de entrevistas con Hashdork para prepararse para las entrevistas.
Deje un comentario