top 20 restful web services interview question
Lista de las preguntas y respuestas de la entrevista de servicios web RESTful más frecuentes que lo ayudarán a prepararse para la próxima entrevista:
preguntas de la entrevista en html5 y css3
Servicios web, un término muy conocido cuando hablamos de intercambiar algún tipo de datos entre múltiples aplicaciones o digamos software. Basado en el modelo cliente-servidor, estos servicios pueden ser utilizados por múltiples aplicaciones de software escritas en varios idiomas y además tiene la ventaja de ejecutarse en varias plataformas.
Del mismo modo REST, Representational State Transfer también se basa en una arquitectura de estilo cliente-servidor sin estado, a la que se puede acceder fácilmente a través de la red y se identifica mediante URI, es decir, un identificador uniforme de recursos.
El objetivo principal de describir la definición de servicios web, así como REST anterior, es ayudarlo a relacionarse con el término ‘ Servicios web RESTful porque los servicios web RESTful se definen como servicios web que utilizan el método HTTP y se basan en la arquitectura de REST. Tiene características útiles como alta escalabilidad y mantenibilidad, la creación de API, etc.
Más información = >> API Flask Restful
En este artículo, encontrará la colección de preguntas y respuestas que aclararán sus conceptos básicos y ayudarán a desarrollar una mejor comprensión del tema.
Lea también:
- Principales preguntas de la entrevista sobre servicios web
- Principales preguntas de entrevistas para SoapUI
Lista de preguntas sobre servicios web RESTful
Empecemos.
P # 1) ¿Cuál es su comprensión de los servicios web RESTful?
Responder: Al igual que SOAP (Protocolo simple de acceso a objetos), que se utiliza para desarrollar servicios web mediante el método XML, los servicios web RESTful utilizan el protocolo web, es decir, el método de protocolo HTTP. Tienen características como escalabilidad, mantenibilidad, ayudan a la comunicación de múltiples aplicaciones construidas en varios lenguajes de programación, etc.
La implementación del servicio web RESTful define el método de acceso a varios recursos que son requeridos por el cliente y ha enviado la solicitud al servidor a través del navegador web.
Los aspectos importantes de esta implementación incluyen:
- Recursos
- Solicitar encabezados
- Cuerpo de solicitud
- Cuerpo de respuesta
- Códigos de estado
P # 2) Nombre el protocolo que utilizan los servicios web RESTful.
Responder: Los servicios web RESTful utilizan un protocolo web famoso, es decir, el protocolo HTTP. Esto sirve como medio de comunicación de datos entre el cliente y el servidor. Los métodos estándar HTTP se utilizan para acceder a los recursos en la arquitectura del servicio web RESTful.
P # 3) Explique el término 'Direccionamiento' con respecto al servicio RESTful WEB.
Responder: Al igual que necesitamos una dirección con código postal para llegar a cualquier persona, de la misma manera, 'Direccionamiento' localiza los recursos que están presentes en el servidor con el fin de alojar servicios web. Esto generalmente se hace con URI, es decir, identificador de recursos unificado.
P # 4) Incluya características de los servicios web RESTful.
Responder: Todos los servicios web RESTful deben tener las siguientes características y características que se enumeran a continuación:
- Basado en la representación Cliente-Servidor.
- Uso del protocolo HTTP para realizar funciones como obtener datos del servicio web, recuperar recursos, ejecutar cualquier consulta, etc.
- La comunicación entre el servidor y el cliente se realiza a través del medio conocido como 'mensajería'.
- Direccionamiento de recursos disponibles en el servidor a través de URI.
- Basado en el concepto de apatridia donde cada solicitud de cliente y la respuesta es independiente de la otra con total seguridad de brindar la información requerida.
- Utiliza el concepto de almacenamiento en caché.
- Funciona en la interfaz uniforme.
P # 5) Explique la técnica de mensajería.
Responder: Los mensajes son el modo de intercambio de datos para que tenga lugar cualquier tipo de comunicación. De la misma manera, el protocolo HTTP desempeña el papel de comunicación de mensajes entre el cliente y el servidor a través de métodos de solicitud y respuesta HTTP. La solicitud HTTP es enviada por el cliente que contiene información sobre los datos y, a su vez, recibe una respuesta HTTP del servidor.
Los mensajes son la recopilación de información sobre los datos, es decir, los metadatos.
P # 6) ¿Cuáles son los componentes centrales de la solicitud HTTP y la respuesta HTTP?
Responder: Los componentes principales de la solicitud HTTP son:
- Verbo: Incluye métodos como GET, PUT, POST, etc.
- Identificador de recursos uniforme para identificar los recursos disponibles en el servidor.
- Versión HTTP para especificar la versión HTTP.
- Encabezado de solicitud HTTP para contener la información sobre los datos.
- Cuerpo de solicitud HTTP que contiene la representación de los recursos en uso.
Los componentes principales de Respuesta HTTP son:
- Código de solicitud: Contiene varios códigos que determinan el estado de la respuesta del servidor.
- Versión HTTP para especificar la versión HTTP.
- Encabezado de respuesta HTTP para contener la información sobre los datos.
- Cuerpo de respuesta HTTP que contiene la representación de los recursos en uso.
P # 7) Explique el término 'Apatridia' con respecto al servicio RESTful WEB.
Responder: En REST, el propio ST define la transferencia de estado y la apatridia significa aislamiento completo. Esto significa que el estado de la aplicación del cliente nunca se almacena en el servidor y se transmite.
En este proceso, los clientes envían toda la información que se requiere para que el servidor cumpla con la solicitud HTTP que se ha enviado. Así cada cliente solicita y la respuesta es independiente del otro con total seguridad de brindar la información requerida.
Cada cliente pasa un 'identificador de sesión' que también actúa como un identificador para cada sesión.
P # 8) Enumere las ventajas y desventajas de la 'apatridia'.
Responder: En la pregunta anterior, hemos entendido el significado de la apatridia con respecto a la comunicación cliente-servidor. Ahora, veamos algunas de sus ventajas y desventajas.
Ventajas:
- Cada método requerido para la comunicación se identifica como un método independiente, es decir, no hay dependencias con otros métodos.
- No se mantiene ninguna comunicación previa con el cliente y el servidor y, por lo tanto, todo el proceso se simplifica mucho.
- Si alguna información o metadatos usados anteriormente se requiere en otro método, entonces el cliente envía nuevamente esa información con la solicitud HTTP.
- El protocolo HTTP y el servicio web REST comparten la característica de la apatridia.
Desventajas:
- En cada solicitud HTTP del cliente, el servicio web requiere la disponibilidad de cierta información sobre el estado del cliente.
P # 9) Incluya algunas limitaciones importantes para los servicios web RESTful.
Responder: Cada restricción tiene impactos tanto positivos como negativos y para producir una arquitectura general, debe haber un equilibrio entre ambos.
A continuación se mencionan algunas limitaciones importantes para el servicio web RESTful:
- Debe haber preocupaciones separadas para cada servidor y cliente que ayudarán a mantener la modularidad dentro de la aplicación. Esto también reducirá la complejidad y aumentará la escalabilidad.
- La comunicación cliente-servidor debe ser sin estado, lo que significa que no se utiliza información previa y la ejecución completa se realiza de forma aislada. En casos de falla, también ayuda al cliente a recuperarse.
- En la comunicación cliente-servidor, la respuesta HTTP debe poder almacenarse en caché para que, cuando sea necesario, se pueda utilizar una copia en caché, lo que a su vez mejora la escalabilidad y el rendimiento del servidor.
- La cuarta restricción es la interfaz uniforme que permite comprender fácilmente la interacción cliente-servidor. Esta restricción se divide además en cuatro subrestricciones como:
- Identificación de recursos
- Manipulación de recursos
- Cada mensaje se comprende fácilmente y es autodescriptivo.
- Hipermedia, que se define como el texto con hipervínculos y cuando se hace clic, se mueve a otro estado de la aplicación.
- La comunicación cliente-servidor debe realizarse en un sistema en capas y, por lo tanto, el cliente solo debe tener conocimiento sobre el nivel intermedio con el que se está comunicando.
P # 10) ¿Qué es un 'recurso'?
Responder: Al igual que la instancia de 'Objeto', hemos aprendido en el lenguaje de programación Object Orient, de la misma manera, 'Recurso' se define como un objeto de un tipo que puede ser una imagen, archivo HTML, datos de texto y cualquier tipo de dinámica. datos. Hay una variedad de formatos de representación disponibles para representar un recurso.
Algunos de los recursos más comunes se enumeran a continuación:
- JSON
- YAML
- XML
- HTML
P # 11) ¿Por qué se requiere una representación adecuada de los recursos?
Responder: La representación es muy importante porque determina la fácil identificación de los recursos. Con representaciones adecuadas del recurso en el formato adecuado, permite al cliente comprender fácilmente el formato.
P # 12) Incluya algunos puntos importantes que deben tenerse en cuenta al diseñar la representación de recursos para los servicios web RESTful.
Responder: Como no hay restricciones sobre el formato en el que se realiza la representación de recursos, solo que el requisito principal es que el formato de la representación debe ser según el requisito del cliente.
Una buena representación de recursos se diseña considerando los siguientes puntos principales:
- El formato de representación de recursos debe ser fácilmente entendido por el cliente y el servidor.
- La representación debe ser completa independientemente de su estructura de formato, que puede ser compleja o simple.
- En el caso de la vinculación de los recursos a otros recursos, estos casos también deben considerarse y manejarse.
P # 13) ¿Qué es el almacenamiento en caché?
Responder: El almacenamiento en caché es el proceso en el que se almacena la respuesta del servidor para que se pueda utilizar una copia en caché cuando sea necesario y no sea necesario generar la misma respuesta nuevamente. Este proceso no solo reduce la carga del servidor, sino que a su vez aumenta la escalabilidad y el rendimiento del servidor. Solo el cliente puede almacenar en caché la respuesta y eso también durante un período de tiempo limitado.
A continuación se mencionan el encabezado de los recursos y su breve descripción para que puedan ser identificados para el proceso de almacenamiento en caché:
- Hora y fecha de creación de recursos
- Hora y fecha de modificación del recurso que suele almacenar el último detalle.
- Encabezado de control de caché
- Hora y fecha en que caducará el recurso almacenado en caché.
- La edad que determina el momento desde que se ha recuperado el recurso.
P # 14) Explicar el encabezado de control de caché.
Responder: Un encabezado de control de caché estándar puede ayudar a lograr la capacidad de caché. A continuación se incluye una breve descripción de los distintos encabezados de control de caché:
- Público: Los recursos que están marcados como públicos pueden almacenarse en caché mediante cualquier componente intermedio entre el cliente y el servidor.
- Privado: Los recursos que están marcados como privados solo pueden ser almacenados en caché por el cliente.
- Sin caché significa que un recurso en particular no se puede almacenar en caché y, por lo tanto, se detiene todo el proceso.
P # 15) ¿Cuáles son las mejores prácticas que se deben seguir al diseñar servicios web RESTful?
Responder: Para diseñar un servicio web RESTful seguro, existen algunas mejores prácticas o puntos que deben tenerse en cuenta.
Estos se explican de la siguiente manera:
- Cada entrada en el servidor debe validarse.
- La entrada debe estar bien formada.
- Nunca pase ningún dato sensible a través de URL.
- Para cualquier sesión, el usuario debe estar autenticado.
- Solo se deben usar mensajes de error HTTP para indicar cualquier falla.
- Utilice un formato de mensaje que sea fácil de entender y requerido por el cliente.
- El Identificador de recurso unificado debe ser descriptivo y de fácil comprensión.
P # 16) ¿Qué es la carga útil?
Responder: Los datos de solicitud que están presentes en la parte del cuerpo de cada mensaje HTTP se denominan 'Carga útil'. En el servicio web Restful, la carga útil solo se puede pasar al destinatario a través del método POST.
No hay límite para enviar datos como carga útil a través del método POST, pero la única preocupación es que más datos consumirán más tiempo y ancho de banda. Esto también puede consumir gran parte del tiempo del usuario.
P # 17) Incluya algunos de los métodos HTTP con descripción.
Respuesta: A continuación se incluye la lista de métodos HTTP con sus descripciones:
- OBTENER: Esta es una operación de solo lectura que obtiene la lista de usuarios en el servidor.
- PONER: Esta operación se utiliza para la creación de cualquier recurso nuevo en el servidor.
- CORREO: Esta operación se utiliza para actualizar un recurso antiguo o para crear un nuevo recurso.
- ELIMINAR: Como sugiere el nombre, esta operación se utiliza para eliminar cualquier recurso en el servidor.
- OPCIONES: Esta operación obtiene la lista de las opciones admitidas de recursos que están disponibles en el servidor.
P # 18) ¿Cuál es la diferencia entre el método PUT y el método POST?
Responder: La principal diferencia entre el método PUT y POST es que el resultado generado con el método PUT es siempre el mismo sin importar cuántas veces se realice la operación. Por otro lado, el resultado generado por la operación POST siempre es diferente cada vez.
P # 19) ¿Qué entiende por JAX-RS?
Responder: JAX-RS se define como la API de Java para el servicio web RESTful. Entre las múltiples bibliotecas y marcos, esta se considera la API basada en lenguaje de programación Java más adecuada que admite el servicio web RESTful.
Algunas de las implementaciones de JAX-RS son:
- Jersey
- Estar tranquilo
- Apache CFX
- Tocar
Entre estos, Jersey es el marco más popular.
P # 20) ¿Qué son los códigos de estado HTTP? Recluta a unos pocos con sentido.
Responder: Los códigos de estado HTTP básicamente son la representación del estado de la tarea que se ha realizado en el servidor, con la modalidad de algunos códigos. Cada código tiene su propio significado.
Algunos de los códigos de estado HTTP con su significado son los siguientes:
- Código 200: Esto indica éxito.
- Código 201: Esto indica que el recurso se ha creado correctamente.
- Código 204: Esto indica que no hay contenido en el cuerpo de la respuesta.
- Código 404: Esto indica que no hay ningún método disponible.
Hay algunos códigos más que indican el estado.
Conclusión
Este artículo lo ayudará a prepararse para la entrevista de servicios web RESTful y lo ayudará a comprender el concepto de una manera simple y fácil. He tratado de cubrir todas las áreas que son muy necesarias para tener un conocimiento completo sobre los servicios web RESTful.
Otras lecturas - Tutorial de API de matraces
Solo recuerde, es posible que no pueda responder a todas las preguntas de la entrevista, pero cualquier respuesta debe ser precisa. Su concepto básico debe ser sólido y su nivel de confianza debe ser alto.
¡¡Todo lo mejor!!
Lectura recomendada
- Algunas preguntas y respuestas complicadas sobre pruebas manuales
- Más de 20 preguntas y respuestas de entrevistas .NET
- Las 20 preguntas y respuestas más populares de la entrevista de TestNG
- Las 20 preguntas y respuestas más importantes de la entrevista de pruebas de API
- Preguntas y respuestas de la entrevista de prueba ETL
- Las 20 preguntas y respuestas más recientes de la entrevista de DevOps para 2021
- Las 20 preguntas y respuestas principales de las entrevistas con analistas de negocios (LISTA 2021)
- Las 20 preguntas y respuestas principales de la entrevista de servicios web RESTful
- Las 45 preguntas y respuestas principales de la entrevista de servicios web (RESTful, SOAP, preguntas de seguridad)