40 preguntas y respuestas frecuentes en una entrevista de API REST [2023]

toadmin. ru

API significa interfaz de programación de aplicaciones. Sirve como puerta de enlace para que las aplicaciones accedan a algunos recursos de otras aplicaciones.

La ventaja de usar API es proporcionar acceso a aplicaciones de terceros para que no puedan acceder a todos los datos de su aplicación. Solo pueden acceder a los datos que proporciona a través de su API.

La aplicación o usuario que desea acceder a los datos se denomina Cliente y la aplicación que sirve a los datos se denomina servidor.

Hoy, las API se utilizan ampliamente en cualquier arquitectura de software. Si está solicitando el papel de ingeniero de redes front-end, back-end, pila completa o red, se le harán muchas preguntas sobre las API.

Dicho esto, echemos un vistazo a algunas de las preguntas más frecuentes sobre las API REST.

Contents
  1. ¿Qué es el descanso?
  2. ¿Cuáles son algunas de las características clave del descanso?
  3. ¿Qué son los recursos en la arquitectura REST?
  4. Mencione algunas de las ventajas y desventajas de las API REST.
  5. Para definir un patrón de descanso.
  6. ¿Qué es RESTFOR?
  7. ¿Qué son los servicios web RESTFUL?
  8. ¿Cómo puede probar los servicios web RESTful?
  9. Mencione algunas de las características de Restful Web Services.
  10. Definir clases de recursos raíz relajantes.
  11. ¿Qué es un URI?
  12. ¿Qué es la apatridia en reposo?
  13. ¿Qué es Jax-RS?
  14. ¿Cuáles son las anotaciones clave en la API JAX-RS?
  15. ¿Cuáles son algunas de las características clave de la API JAX-RS?
  16. ¿Cómo se pueden personalizar las aplicaciones JAX-RS?
  17. ¿Qué son Jax-WS y Jax-RS?
  18. ¿Cuáles son los códigos de estado HTTP?
  19. ¿Qué son los métodos HTTP?
  20. ¿Cómo funciona la autenticación básica de HTTP?
  21. ¿Cuáles son los componentes principales de una solicitud HTTP?
  22. ¿Cuáles son los componentes principales de una respuesta HTTP?
  23. ¿Cuál es la diferencia entre REST y AJAX?
  24. ¿Cuál es la diferencia entre jabón y descanso?
  25. ¿Cuál es la diferencia entre Put y Post?
  26. ¿Qué es una carga útil?
  27. ¿Cuál es el tamaño máximo de la carga útil que se puede enviar en los métodos de correo?
  28. ¿Qué pautas se deben seguir al crear un URI?
  29. ¿Qué son los métodos ideMpotentes?
  30. ¿Qué es el portador de letras?
  31. Definición de mensajes en servicios web RESTful.
  32. ¿Cuál es la diferencia entre la arquitectura monolítica, SOA y la arquitectura de microservicio?
  33. ¿Cómo funciona una arquitectura de microservicios?
  34. ¿Qué es CRUD?
  35. ¿Qué es el almacenamiento en caché?
  36. ¿Cuál es el beneficio de @RequestMapping?
  37. ¿Qué hace @PathVariable?
  38. Defina HttpMessageConverter.
  39. Ultimas palabras

¿Qué es el descanso?

Respuesta: REST es un diseño arquitectónico que define algunas limitaciones sobre cómo funcionan las API. Las API que siguen los principios de descanso se conocen como API RESTful. REST significa transferencia de estado de representación.

No es un protocolo o estándar; En cambio, es una arquitectura que se puede utilizar para implementar API de varias maneras.

Proporciona a los desarrolladores una alta flexibilidad y libertad, por lo que se usa ampliamente para el desarrollo de API. Estos son algunos de los principios de la arquitectura REST:

  • Separación del cliente y servidor: en una API RESTful, el cliente no debe afectar al servidor de ninguna manera que no sea solicitar datos a través de un URI (identificador de recursos uniformes). Del mismo modo, el servidor no debe modificar el contenido del cliente de ninguna manera.
  • Antitular: cuando se realizan dos solicitudes separadas, no se dan cuenta entre sí. En otras palabras, las solicitudes no tienen estado y no mantienen ningún estado. Si se ejecuta una consulta, simplemente termina. Cada consulta está aislada de otras consultas.
  • Arquitectura de varios niveles: el cliente o servidor no sabe si la solicitud se ejecuta directamente a la fuente o a una aplicación intermedia. Solo les importa la respuesta a la solicitud.
  • Estimulación de almacenamiento en caché: los datos o las respuestas se pueden almacenar en caché tanto en el lado del cliente como en el lado del servidor para mejorar el rendimiento y la escalabilidad. Si hay solicitudes frecuentes para un recurso en particular, la respuesta a esa solicitud se puede almacenar en caché y se usa cuando sea necesario.

¿Cuáles son algunas de las características clave del descanso?

Respuesta. Las características clave o características de REST son:

  • Flexibilidad: puede moverse de un servidor a otro y no cambiará nada, porque la API enviará la misma respuesta a una solicitud específica. Además, puede agregar tantos puntos finales como desee para diferentes tipos de datos.
  • Escalabilidad. El almacenamiento en caché aumenta la escalabilidad al almacenar respuestas para su uso posterior. Esto reduce la carga en el servidor y también reduce la latencia.
  • Autorización: con el encabezado de autorización, puede especificar credenciales que el servidor puede usar para autorizar la solicitud.
  • Sin estado: esta es la característica más importante del descanso porque evita que las solicitudes sepan lo que está sucediendo con otras solicitudes. Las solicitudes se aislan y terminan tan pronto como se ejecutan.

¿Qué son los recursos en la arquitectura REST?

Respuesta. Los recursos son objetos sobre los cuales se realizan diversas operaciones, como obtener, actualizar o eliminar. Son los componentes básicos de la arquitectura REST.

Por ejemplo, si considera una tienda de comercio electrónico en línea, los productos, los usuarios y los metadatos se consideran recursos porque pueden ser manipulados. Los recursos se pueden pasar a otra aplicación a través de una API.

Mencione algunas de las ventajas y desventajas de las API REST.

R: Las ventajas de la API REST son las siguientes:

  • Es fácil de implementar.
  • Los recursos se pueden procesar fácilmente.
  • Es escalable debido a su arquitectura de cliente cliente.
  • Admite múltiples tipos de medios para la transferencia de datos como XML y JSON.
  • No puede mantener el estado entre las solicitudes.
  • La verdadera fuente del recurso no se puede conocer debido a la arquitectura en capas.
  • No es adecuado para consultas o solicitudes complejas.

Para definir un patrón de descanso.

Respuesta. Un patrón de descanso es una utilidad o cliente que puede usar para acceder a la API REST en el entorno de resorte. Esencialmente oculta el código de plantilla que puede tener que escribir para solicitar un recurso de la API REST.

¿Qué es RESTFOR?

R: Las API o servicios RESTful son interfaces que implementan el estilo arquitectónico REST (transferencia de estado de representación) y el trabajo utilizando protocolos como HTTP.

¿Qué son los servicios web RESTFUL?

Respuesta. Los servicios web RESTful están diseñados para una mejor experiencia web. La transferencia de estado de representación (REST) es un estilo arquitectónico que define restricciones como la interfaz unificada, la arquitectura en capas y la apatrientes, cuando se aplica a un servicio web, causan propiedades deseables como el rendimiento y la escalabilidad que permiten que los servicios funcionen mejor en la web.

¿Cómo puede probar los servicios web RESTful?

Respuesta. Para probar un servicio web RESTful, puede usar un cliente REST como Postman o Thunder Client y consultar el servicio web que desea probar. Luego, cuando obtenga una respuesta, comprenda la respuesta; Esa es la parte clave.

Si desea probar una API compleja con muchos puntos finales, es posible que deba dividir las pruebas y realizar pruebas unitarias, pruebas de integración, pruebas de rendimiento y pruebas de extremo a extremo.

Mencione algunas de las características de Restful Web Services.

Respuesta. Algunas de las características clave de los servicios web Restful son:

  • Soporte para múltiples tipos de medios como JSON y XML.
  • Escalabilidad
  • Aislamiento del cliente y del servidor
  • Flexibilidad

Definir clases de recursos raíz relajantes.

Respuesta. Las clases de recursos raíz son «objetos java antiguos» (POJOS) que están anotados con @Path o tienen al menos un método anotado con @Path o un puntero de método de consulta, como @get, @post, @put o @remove.

¿Qué es un URI?

Respuesta: URI significa Identificador de recursos uniformes. Es una secuencia de caracteres utilizados para encontrar o identificar recursos de API o servicio. Utiliza el nombre o ubicación del recurso para identificarlo, pero no confía en un método o técnica específica.

¿Qué es la apatridia en reposo?

R: La apatridia se refiere a una restricción aplicada a una API en la que cualquiera de las dos solicitudes no puede saber qué está sucediendo entre sí. En otras palabras, el estado de las solicitudes no se almacena. Si se cumple una solicitud, simplemente termina cuando se recibe la respuesta.

¿Qué es Jax-RS?

R: JAX-RS es una API Java que le permite desarrollar aplicaciones Java que utilizan la arquitectura REST. Esta API simplifica el desarrollo de aplicaciones REST en Java.

¿Cuáles son las anotaciones clave en la API JAX-RS?

R: Los desarrolladores utilizan anotaciones en Jax-RS para decorar las clases de Java para definir recursos y métodos que pueden ejecutarse con esos recursos. Algunas anotaciones clave de API Jax-RS son:

  • @Get: solía realizar solicitudes GET en HTTP.
  • @Post: se usa para cumplir con las solicitudes de publicación en HTTP.
  • @Path: se refiere a la ruta relativa de una clase Java.
  • @QueryParam: se refiere a los parámetros de una URI de solicitud o URL.

¿Cuáles son algunas de las características clave de la API JAX-RS?

R: Jax-RS Características:

  • Almacenamiento en caché del lado del cliente
  • Almacenamiento en caché del lado del servidor
  • Personalización de cadenas de consulta
  • Anotaciones de tiempo de ejecución

¿Cómo se pueden personalizar las aplicaciones JAX-RS?

R: Una aplicación JAX-RS consta de al menos una clase de recursos empaquetada en un archivo de guerra. El URI base desde el cual los recursos de aplicación responden a las solicitudes se pueden especificar de una de dos maneras:

  • Usando la anotación @AplicationPath en el javax. ws. rs. core. Application Subclase empaquetado en la guerra
  • Uso de la etiqueta de mapeo de servlet en el descriptor de implementación de War Web. xml

¿Qué son Jax-WS y Jax-RS?

Respuesta. JAX-WS es una API de servicios web XML Jakarta que se utiliza para desarrollar API utilizando un protocolo de acceso de objetos simple (SOAP), un protocolo de mensajería basado en XML.

Por otro lado, Jax-RS es una API Java utilizada para crear servicios web utilizando REST Architecture.

¿Cuáles son los códigos de estado HTTP?

R: Los códigos de estado no son más que una forma de comunicar el estado de la respuesta enviada por el servidor al cliente. Están presentes en los encabezados de respuesta enviados por el servidor.

El cliente puede calcular si la solicitud falló o completó, o si hay algo mal con la respuesta utilizando códigos de estado.

Aquí hay algunos códigos de estado HTTP comunes:

  • 200 es la palabra clave «OK». Esto significa que la solicitud se completó y la respuesta está bien.
  • 404 significa «no encontrado». Esto significa que no hay recurso o ningún punto final en el servidor.
  • 500 – Esto significa «error interno del servidor». Esto generalmente ocurre cuando el servidor no puede generar una respuesta válida o hay un error que no se da explícitamente.
  • 503 – Esto significa «servicio no disponible». Esto significa que el servidor actualmente no puede procesar ninguna solicitud, probablemente porque está muerta o inactiva debido a una solicitud de sobrecarga. También puede suceder cuando el servidor está en mantenimiento.

¿Qué son los métodos HTTP?

R: Los métodos HTTP se utilizan para realizar un tipo específico de acción en un recurso API particular. Por ejemplo, si desea recuperar una lista de películas de una API de colección de películas, puede usar el método GET proporcionado por HTTP. Si desea actualizar datos, puede usar el método de publicación proporcionado por HTTP.

Métodos HTTP utilizados con frecuencia:

  • Get: las solicitudes que usan Get deben recuperar solo los datos.
  • Publicación: actualiza el recurso enviando el recurso actualizado al servidor.
  • Eliminar: elimina el recurso especificado.
  • Patch: modifica parcialmente el recurso.

¿Cómo funciona la autenticación básica de HTTP?

R: La autenticación es el proceso de verificar la identidad del cliente para garantizar la seguridad de los datos. En HTTP, la autenticación funciona a través de un encabezado de autorización que envía el cliente.

El encabezado de autorización consta del nombre de usuario/identificador y contraseña del cliente, que luego es verificado por el servidor y se otorga el acceso.

Es importante tener en cuenta aquí que cuando se usa la autenticación HTTP, el canal sobre el cual el viaje de las credenciales debe estar encriptado y asegurado.

Puede asegurar el canal usando SSL Layer que está integrado con HTTPS. Por lo tanto, se recomienda usar HTTPS en lugar de solo HTTP cuando se trabaja con credenciales.

¿Cuáles son los componentes principales de una solicitud HTTP?

R: Una solicitud HTTP consta de los siguientes componentes:

  • Solicitud de cadena. Esta es la primera línea de cualquier solicitud y consiste en el método HTTP, ruta o punto final, y el número de versión HTTP.
  • Encabezados: los encabezados HTTP se utilizan para proporcionar metadatos para la solicitud.
  • Cuerpo (opcional): este componente solo está presente para algunos métodos de solicitud. No es necesario para obtener solicitudes, pero se requiere para solicitudes post. Es el mensaje real de la solicitud.

¿Cuáles son los componentes principales de una respuesta HTTP?

R: Una respuesta HTTP consiste en los siguientes componentes:

  • Estado: Esto se refiere al código de estado HTTP que envía el servidor.
  • Encabezados: al igual que las solicitudes, las respuestas también tienen encabezados correspondientes que proporcionan información útil sobre la respuesta.
  • Mensaje: Estos son los datos reales que el servidor envía al cliente para solicitar un recurso específico.

¿Cuál es la diferencia entre REST y AJAX?

R: AJAX es un cliente a través del cual puede acceder a la API RESTful. Se usa para enviar solicitudes asíncronas usando JavaScript.

REST, o la transferencia de estado de representación, es una arquitectura que se puede implementar para crear una API RESTful. En resumen, puede usar AJAX para enviar solicitudes HTTP, que sirven como cliente, pero si desea implementar una API RESTful, debe usar la arquitectura REST.

¿Cuál es la diferencia entre jabón y descanso?

Respuesta: La transferencia de estado de representación, o REST, es una arquitectura con restricciones mínimas para crear API. SOAP o Simple Object Access Protocol es un protocolo con requisitos estrictos para la implementación de API.

El descanso es más flexible y más fácil de usar que el jabón. La mensajería basada en XML se usa en SOAP, mientras que en REST puede usar muchos tipos de transferencia de datos, como JSON, XML, etc. en comparación con SOAP, el descanso es más ligero y más rápido.

Los servicios web SOAP tienen seguridad incorporada, que es una de las ventajas de usar SOAP Over Rest, pero las características adicionales también lo hacen más complejo y difícil de usar.

¿Cuál es la diferencia entre Put y Post?

R: Post es un método de solicitud HTTP que envía algunos datos al servidor. Si realiza múltiples solicitudes de publicación para un recurso en particular, puede causar efectos secundarios a sus datos. Por ejemplo, si desea agregar un artículo a una colección, si realiza varias solicitudes de publicación, se agregarán varios artículos a la colección, lo que resulta en artículos redundantes.

Put es un método de solicitud HTTP que envía datos al servidor para un recurso específico, pero solo actualiza los datos una vez. Si envía múltiples solicitudes de put para un recurso específico, no se producirán efectos secundarios y los datos solo se agregarán una vez. En Put, si el recurso no existe, creará uno nuevo, y si existe, actualizará el existente.

Put es ideMpotent mientras que la publicación no lo es.

¿Qué es una carga útil?

Respuesta. Una carga útil en REST API es simplemente el cuerpo de la solicitud enviada por el cliente al servidor. Son los datos que desea enviar al servidor y obtener una respuesta.

¿Cuál es el tamaño máximo de la carga útil que se puede enviar en los métodos de correo?

Respuesta. El protocolo HTTP en sí no establece un límite predeterminado. El límite puede depender del límite máximo del cliente o servidor, lo que sea el mínimo.

¿Qué pautas se deben seguir al crear un URI?

Respuesta. Estos son algunos de los puntos clave a considerar al desarrollar un URI:

  • Evite usar extensiones de archivo
  • Ser consistente con todos los URI
  • Separe URI en dominios y subdominios para diferentes conjuntos de recursos.
  • Debe usar un guión o un guión bajo para separar las palabras en oraciones integradas en URI.
  • Debe usar una barra de corte para indicar la jerarquía de recursos
  • Codificar el URI usando la codificación correcta
  • Intenta hacer que el Uri humano sea legible

¿Qué son los métodos ideMpotentes?

R: Los métodos HTTP idempotentes afectan al servidor por igual a pesar de enviar múltiples solicitudes idénticas. Por ejemplo, si envía múltiples solicitudes de eliminación idénticas para un recurso en particular, el recurso no cambiará con cada solicitud; Se actualizará como si solo se hubiera enviado una solicitud.

Algunos de los métodos ideempotentes incluyen:

  • ELIMINAR
  • BORRAR
  • BORRAR
  • CABEZA
  • Parámetros

¿Qué es el portador de letras?

R: Postman es una herramienta de desarrollo de API para desarrollar, modificar y probar API. Proporciona muchas características para crear y probar rápidamente API sin la necesidad de personalización del cliente.

R: El encabezado de control de caché consiste en instrucciones o directivas para configurar el almacenamiento en caché en navegadores y servidores. Le dice al navegador o al servidor qué caché y cuánto tiempo debe almacenarse en caché antes de solicitarse a través de una solicitud de red.

El encabezado de control de caché incluye las siguientes directivas:

  • edad máxima
  • sin soldado
  • privado
  • público
  • Sin tienda
  • inmutable

Definición de mensajes en servicios web RESTful.

Respuesta. La mensajería en Restful Web Services significa que un cliente envía una solicitud HTTP a un servidor, al que el servidor responde con una respuesta HTTP. Esta comunicación entre el cliente y el servidor se llama mensajería.

¿Cuál es la diferencia entre la arquitectura monolítica, SOA y la arquitectura de microservicio?

R: En la arquitectura monolítica, todo se gestiona desde un solo lugar. El lado del cliente, el servidor y la base de datos se administran desde un lugar. Es por eso que se conoce como monolítico porque la palabra monolítica se refiere a un solo bloque o roca.

SOA significa arquitectura orientada al servicio. En esta arquitectura, diferentes aspectos de una aplicación son administrados por diferentes servicios, que también son programáticos. Por lo tanto, es una colección de varios módulos de software orientados a servicios. La integración es una parte clave de esta arquitectura.

La arquitectura de microservicios es similar a SOA, pero a diferencia de SOA, tiene varios programas autónomos que interactúan entre sí mediante API. A diferencia de una arquitectura monolítica, aquí todo es autónomo y algo independiente.

¿Cómo funciona una arquitectura de microservicios?

Respuesta. En una arquitectura de microservicios, las aplicaciones se dividen en subbloques más pequeños que son independientes entre sí y se ejecutan de forma independiente, pero interactúan entre sí a través de un conjunto bien definido de API.

Algunas de las ventajas de la arquitectura de microservicios incluyen flexibilidad, agilidad, escalabilidad, tecnologías independientes, servicios reutilizables y facilidad de implementación.

¿Qué es CRUD?

R: CRUD significa Crear, Leer, Actualizar, Eliminar. Estas son operaciones que se pueden realizar en un recurso específico. La API que admite todas estas operaciones se conoce como API CRUD. Estas son las operaciones más básicas que una API puede realizar en un recurso.

¿Qué es el almacenamiento en caché?

R: El almacenamiento en caché es un método para almacenar una respuesta o solicitud en un cliente o servidor para su uso posterior.

Las respuestas generalmente se almacenan en caché en el cliente porque si el cliente realiza la misma solicitud varias veces en un período corto de tiempo, no tiene sentido solicitar la respuesta a través de la red nuevamente y desperdiciar ancho de banda.

¿Cuál es el beneficio de @RequestMapping?

Respuesta. Es una anotación en la estructura de Spring que se utiliza para asignar solicitudes web a clases de controlador y/o métodos de controlador específicos.

¿Qué hace @PathVariable?

Respuesta: la anotación @PathVariable en la estructura Spring se usa para extraer el valor de las variables de plantilla y asignar su valor a una variable de método.

Defina HttpMessageConverter.

Respuesta. Cuando una solicitud HTTP (o partes de ella) debe convertirse al tipo requerido como argumento para un método de controlador, o cuando el valor devuelto por un método de controlador debe convertirse de alguna manera para crear una respuesta HTTP, el mensaje HTTPSe utilizan convertidores.

R: Aquí hay algunas herramientas que pueden ayudarlo con las pruebas de API:

  • Cartero
  • Está seguro
  • Vacaciones agudas
  • catalán
  • API lista
  • Apigeo

Ultimas palabras

Hoy en día, las API se han vuelto extremadamente populares debido a la llegada de Internet. Otra razón de la popularidad de las API REST es que son fáciles de desarrollar y usar.

Si se está preparando para una entrevista de trabajo, considere las preguntas anteriores sobre las API de REST que se pueden hacer en una entrevista.

Luego puede verificar cómo limpiar un sitio web usando la API de limpieza web toadmin. ru.