top 20 restful web services interview question
Lista das perguntas e respostas mais frequentes da entrevista de serviços da Web RESTful para ajudá-lo a se preparar para a próxima entrevista:
Serviços da Web, um termo muito conhecido quando falamos sobre a troca de algum tipo de dados entre vários aplicativos ou, digamos, software. Baseados no modelo cliente-servidor, esses serviços podem ser usados por vários aplicativos de software escritos em vários idiomas e também têm a vantagem de rodar em várias plataformas.
Da mesma forma que REST, Representational State Transfer também é baseado em arquitetura de estilo cliente-servidor stateless, que pode ser facilmente acessada pela rede e é identificada por URIs, ou seja, Uniform Resource Identifier.
como transformar um vídeo do youtube em um arquivo wav
O principal objetivo de descrever a definição de serviços da Web, bem como REST acima, é ajudá-lo a se relacionar com o termo ' Serviços da web RESTful ' porque os serviços da web RESTful são definidos como serviços da web que usam o método HTTP e são baseados na arquitetura de REST. Possui recursos úteis como alta escalabilidade e facilidade de manutenção, a criação de APIs, etc.
Saiba mais = >> API Flask Restful
Neste artigo, você encontrará uma coleção de perguntas e respostas que irão esclarecer seus fundamentos e ajudar a desenvolver uma melhor compreensão do assunto.
Leia também:
Lista de perguntas sobre serviços da Web RESTful
Vamos começar.
P # 1) Qual é a sua compreensão do que são serviços da Web RESTful?
Responda: Assim como o SOAP (Simple Object Access Protocol), que é usado para desenvolver serviços da web pelo método XML, os serviços da web RESTful usam o protocolo da web, ou seja, o método do protocolo HTTP. Eles têm recursos como escalabilidade, facilidade de manutenção, ajuda na comunicação de vários aplicativos baseada em várias linguagens de programação, etc.
A implementação do serviço da web RESTful define o método de acesso a vários recursos exigidos pelo cliente e ele enviou a solicitação ao servidor por meio do navegador da web.
Os aspectos importantes desta implementação incluem:
- Recursos
- Solicitar cabeçalhos
- Corpo de Solicitação
- Corpo de Resposta
- Códigos de status
P # 2) Nomeie o protocolo que é usado pelos serviços da Web RESTful.
Responda: Os serviços da web RESTful usam um protocolo da web famoso, ou seja, o protocolo HTTP. Isso serve como um meio de comunicação de dados entre o cliente e o servidor. Os métodos padrão HTTP são usados para acessar recursos na arquitetura de serviço da web RESTful.
P # 3) Explique o termo ‘Endereçamento’ em relação ao serviço RESTful WEB.
Responda: Assim como exigimos um endereço com código postal para chegar a qualquer pessoa, da mesma forma, ‘Endereçamento’ localiza recursos que estão presentes no servidor para fins de hospedagem de serviços da web. Isso geralmente é feito com URI, ou seja, Unified Resource Identifier.
P # 4) Conte com os recursos dos serviços da Web RESTful.
Responda: Todos os serviços da web RESTful devem ter os seguintes recursos e características que estão listados abaixo:
- Com base na representação cliente-servidor.
- Uso de protocolo HTTP para executar funções como buscar dados do serviço da web, recuperar recursos, executar qualquer consulta, etc.
- A comunicação entre o servidor e o cliente é realizada através do meio conhecido como ‘mensagens’.
- Endereçamento de recursos disponíveis no servidor por meio de URIs.
- Com base no conceito de apatridia, onde cada solicitação do cliente e a resposta são independentes umas das outras com total garantia de fornecimento das informações solicitadas.
- Usa o conceito de cache.
- Funciona na interface Uniform.
P # 5) Explique a técnica de mensagens.
Responda: As mensagens são o modo de troca de dados para qualquer tipo de comunicação. Da mesma forma, o protocolo HTTP desempenha o papel de comunicação de mensagens entre o cliente e o servidor através dos métodos HTTP Request e Response. A solicitação HTTP é enviada pelo cliente que contém informações sobre os dados e, por sua vez, recebe a resposta HTTP do servidor.
As mensagens são a coleção de informações sobre os dados, ou seja, metadados.
P # 6) Quais são os componentes principais da solicitação HTTP e da resposta HTTP?
Responda: Os principais componentes sob solicitação HTTP são:
- Verbo: Inclui métodos como GET, PUT, POST, etc.
- Identificador Uniforme de Recursos para identificar os recursos disponíveis no servidor.
- Versão HTTP para especificar a versão HTTP.
- Cabeçalho de solicitação HTTP para conter as informações sobre os dados.
- Corpo da solicitação HTTP que contém a representação dos recursos em uso.
Os principais componentes em resposta HTTP são:
- Código de solicitação: Ele contém vários códigos que determinam o status da resposta do servidor.
- Versão HTTP para especificar a versão HTTP.
- Cabeçalho de resposta HTTP para conter as informações sobre os dados.
- Corpo da resposta HTTP que contém a representação dos recursos em uso.
P # 7) Explique o termo 'apatridia' em relação ao serviço RESTful WEB.
Responda: Em REST, o próprio ST define transferência de estado e ausência de estado significa isolamento completo. Isso significa que o estado do aplicativo do cliente nunca é armazenado no servidor e é transmitido.
Nesse processo, os clientes enviam todas as informações necessárias para que o servidor atenda à solicitação HTTP enviada. Assim, cada cliente solicita e a resposta é independente uma da outra com total garantia de fornecimento das informações solicitadas.
Cada cliente passa um 'identificador de sessão' que também atua como um identificador para cada sessão.
Q # 8) Liste as vantagens e desvantagens da 'apatridia'.
Responda: Na pergunta acima, entendemos o significado de apatridia em relação à comunicação cliente-servidor. Agora, vamos ver algumas de suas vantagens e desvantagens.
Vantagens:
- Cada método necessário para a comunicação é identificado como um método independente, ou seja, não há dependências para outros métodos.
- Qualquer comunicação anterior com o cliente e servidor não é mantida e, portanto, todo o processo é muito simplificado.
- Se qualquer informação ou metadado usado anteriormente for exigido em outro método, o cliente enviará novamente essa informação com a solicitação HTTP.
- O protocolo HTTP e o serviço da Web REST compartilham o recurso de ausência de estado.
Desvantagens:
melhor software de manutenção de sistema para windows 10
- Em cada solicitação HTTP do cliente, a disponibilidade de algumas informações sobre o estado do cliente é exigida pelo serviço web.
P # 9) Liste algumas restrições importantes para serviços da Web RESTful.
Responda: Cada restrição tem impactos positivos e negativos e, para produzir uma arquitetura geral, deve haver um equilíbrio entre as duas.
A seguir mencionadas estão algumas restrições importantes para o serviço da web RESTful:
- Deve haver preocupações separadas para cada servidor e cliente, o que ajudará a manter a modularidade dentro do aplicativo. Isso também reduzirá a complexidade e aumentará a escalabilidade.
- A comunicação cliente-servidor deve ser sem estado, o que significa que nenhuma informação anterior é usada e a execução completa é feita de forma isolada. Em caso de falha, também ajuda o cliente a se recuperar.
- Na comunicação cliente-servidor, a resposta HTTP deve ser armazenável em cache para que, quando necessária, uma cópia em cache possa ser usada, o que, por sua vez, aprimora a escalabilidade e o desempenho do servidor.
- A quarta restrição é a interface uniforme que permite que a interação cliente-servidor seja facilmente compreendida. Essa restrição é dividida em quatro sub-restrições, como:
- Identificação de Recursos
- Manipulação de Recursos
- Cada mensagem é facilmente compreendida e autodescritiva.
- Hipermídia, que é definida como o texto com hiperlinks e, ao ser clicado, passa para outro estado do aplicativo.
- A comunicação cliente-servidor deve ser feita em um sistema em camadas e, portanto, o cliente deve ter conhecimento apenas sobre o nível intermediário com o qual a comunicação está sendo feita,
P # 10) O que é um ‘Recurso’?
Responda: Assim como a instância de 'Objeto', aprendemos em Linguagem de Programação Orientada a Objetos, da mesma forma, 'Recurso' é definido como um objeto de um tipo que pode ser uma imagem, arquivo HTML, dados de texto e qualquer tipo de dinâmica dados. Existem variedades de formatos de representação disponíveis para representar um recurso.
Alguns recursos mais comuns estão listados abaixo:
- JSON
- YAML
- XML
- HTML
Q # 11) Por que a representação adequada do Recurso é necessária?
Responda: A representação é muito importante porque determina a fácil identificação dos recursos. Com representações adequadas de recursos no formato adequado, permite ao cliente compreender facilmente o formato.
P # 12) Liste alguns pontos importantes que devem ser mantidos em mente ao projetar a representação de recursos para serviços da web RESTful.
Responda: Como não há restrições quanto ao formato em que a representação do recurso é feita, apenas que o principal requisito é que o formato da representação seja conforme a necessidade do cliente.
Uma boa representação de recursos é projetada considerando os seguintes pontos principais:
- O formato de representação do recurso deve ser facilmente compreendido pelo cliente e servidor.
- A representação deve ser completa independentemente de sua estrutura de formato, que pode ser complexa ou simples.
- No caso de vinculação dos recursos a outros recursos, tais casos também devem ser considerados e tratados.
P # 13) O que é cache?
Responda: Cache é o processo no qual a resposta do servidor é armazenada para que uma cópia em cache possa ser usada quando necessária e não haja necessidade de gerar a mesma resposta novamente. Esse processo não apenas reduz a carga do servidor, mas também aumenta a escalabilidade e o desempenho do servidor. Apenas o cliente é capaz de armazenar em cache a resposta e isso também por um período limitado de tempo.
Mencionados abaixo estão o cabeçalho dos recursos e sua breve descrição para que possam ser identificados para o processo de cache:
- Hora e data de criação do recurso
- Hora e data da modificação do recurso que geralmente armazena o último detalhe.
- Cabeçalho de controle de cache
- Hora e data em que o recurso armazenado em cache irá expirar.
- A idade que determina a hora a partir da qual o recurso foi obtido.
Q # 14) Explique o cabeçalho de controle de cache.
Responda: Um cabeçalho de controle de cache padrão pode ajudar a obter capacidade de cache. A seguir está uma breve descrição dos vários cabeçalhos de controle de cache:
- Público: Os recursos marcados como públicos podem ser armazenados em cache por quaisquer componentes intermediários entre o cliente e o servidor.
- Privado: Os recursos marcados como privados só podem ser armazenados em cache pelo cliente.
- Sem cache significa que um determinado recurso não pode ser armazenado em cache e, portanto, todo o processo é interrompido.
P # 15) Quais são as práticas recomendadas que devem ser seguidas ao projetar serviços da Web RESTful?
Responda: Para projetar um serviço da web RESTful seguro, existem algumas práticas recomendadas ou pontos que devem ser considerados.
Eles são explicados da seguinte forma:
- Cada entrada no servidor deve ser validada.
- A entrada deve ser bem formada.
- Nunca passe dados confidenciais por meio de URL.
- Para qualquer sessão, o usuário deve ser autenticado.
- Apenas mensagens de erro HTTP devem ser usadas para indicar qualquer falha.
- Use um formato de mensagem que seja facilmente entendido e exigido pelo cliente.
- O Unified Resource Identifier deve ser descritivo e de fácil compreensão.
Q # 16) O que é carga útil?
Responda: Os dados da solicitação que estão presentes na parte do corpo de cada mensagem HTTP são chamados de ‘Payload’. No serviço da web Restful, a carga útil só pode ser passada ao destinatário por meio do método POST.
Não há limite de envio de dados como carga útil por meio do método POST, mas a única preocupação é que mais dados consumirão mais tempo e largura de banda. Isso também pode consumir muito do tempo do usuário.
bom downloader de música grátis para android
P # 17) Liste alguns dos métodos HTTP com descrição.
Resposta: Abaixo está a lista de métodos HTTP com suas descrições:
- OBTER: Esta é uma operação somente leitura que busca a lista de usuários no servidor.
- POR: Esta operação é usada para a criação de qualquer novo recurso no servidor.
- PUBLICAR: Esta operação é usada para atualizar um recurso antigo ou para criar um novo recurso.
- EXCLUIR: Como o nome sugere, essa operação é usada para excluir qualquer recurso no servidor.
- OPÇÕES: Esta operação busca a lista de todas as opções de recursos com suporte que estão disponíveis no servidor.
Q # 18) Qual é a diferença entre o método PUT e o método POST?
Responda: A principal diferença entre os métodos PUT e POST é que o resultado gerado com o método PUT é sempre o mesmo, não importa quantas vezes a operação seja realizada. Por outro lado, o resultado gerado pela operação POST é sempre diferente a cada vez.
P # 19) Qual é o seu entendimento sobre JAX-RS?
Responda: JAX-RS é definido como a API Java para serviço da web RESTful. Entre várias bibliotecas e estruturas, esta é considerada a API baseada na linguagem de programação Java mais adequada que oferece suporte ao serviço da Web RESTful.
Algumas das implementações de JAX-RS são:
- Jersey
- RESTEasy
- Apache CFX
- Toque
Entre eles, Jersey é a estrutura mais popular.
Q # 20) O que são códigos de status HTTP? Recrute poucos com significado.
Responda: Códigos de status HTTP basicamente são a representação do status da tarefa que foi executada no servidor, com o modo de alguns códigos. Cada código tem seu próprio significado.
Alguns dos códigos de status HTTP com seus significados são os seguintes:
- Código 200: Isso indica sucesso.
- Código 201: Isso indica que o recurso foi criado com sucesso.
- Código 204: Isso indica que não há conteúdo no corpo da resposta.
- Código 404: Isso indica que não há método disponível.
Existem mais alguns códigos que indicam o status.
Conclusão
Este artigo o ajudará a se preparar para a entrevista de serviços da Web RESTful e a entender o conceito de uma maneira simples e fácil. Tentei cobrir todas as áreas que são muito necessárias para ter um conhecimento completo sobre os serviços Web RESTful.
Leitura adicional - Tutorial da API Flask
Lembre-se de que pode ser que você não consiga responder a todas as perguntas da entrevista, mas tudo o que você responder deve ser preciso. Seu conceito básico deve ser forte e seu nível de confiança deve ser alto.
Tudo de bom!!
Leitura recomendada
- Algumas perguntas e respostas complicadas de testes manuais
- Mais de 20 perguntas e respostas para entrevistas em .NET
- 20 perguntas e respostas mais populares da entrevista TestNG
- As 20 perguntas e respostas mais importantes da entrevista de teste de API
- Perguntas e respostas da entrevista de teste de ETL
- As 20 perguntas e respostas mais recentes da entrevista DevOps para 2021
- 20 principais perguntas e respostas da entrevista com analista de negócios (LISTA 2021)
- 20 principais perguntas e respostas da entrevista sobre serviços da Web RESTful
- 45 principais perguntas e respostas da entrevista de serviços da Web (RESTful, SOAP, questões de segurança)