top 20 restful web services interview question
Liste des questions et réponses d'entretien des services Web RESTful les plus fréquemment posées pour vous aider à vous préparer à l'entretien à venir:
Services Web, un terme très connu lorsque nous parlons d'échange de données entre plusieurs applications ou de logiciels. Basé sur le modèle client-serveur, ces services peuvent être utilisés par plusieurs applications logicielles écrites dans différentes langues et ont également l'avantage de fonctionner sur diverses plates-formes.
De même, REST, Representational State Transfer est également basé sur une architecture de style client-serveur sans état, facilement accessible sur le réseau et identifiée par des URI, c'est-à-dire un identificateur de ressource uniforme.
Le but principal de la description de la définition des services Web ainsi que de REST ci-dessus est de vous aider à comprendre le terme ' Services Web RESTful » car les services Web RESTful sont définis comme des services Web qui utilisent la méthode HTTP et sont basés sur l'architecture de REST. Il possède des fonctionnalités utiles comme une évolutivité et une maintenabilité élevées, la création d'API, etc.
En savoir plus = >> API Flask Restful
Dans cet article, vous trouverez la collection de questions et réponses qui clarifiera vos bases et vous aidera à développer une meilleure compréhension du sujet.
Lisez aussi:
- Questions d'entretien les plus fréquentes sur les services Web
- Les principales questions d'entretien chez SoapUI
Liste des questions relatives aux services Web RESTful
Commençons.
Q # 1) Quelle est votre compréhension de ce que sont les services Web RESTful?
Répondre: Tout comme SOAP (Simple Object Access Protocol), qui est utilisé pour développer des services Web par la méthode XML, les services Web RESTful utilisent le protocole Web, c'est-à-dire la méthode de protocole HTTP. Ils ont des fonctionnalités telles que l'évolutivité, la maintenabilité, facilitent la communication avec plusieurs applications basées sur divers langages de programmation, etc.
L'implémentation du service Web RESTful définit la méthode d'accès aux diverses ressources requises par le client et il a envoyé la demande au serveur via le navigateur Web.
Les aspects importants de cette mise en œuvre comprennent:
- Ressources
- Demander des en-têtes
- Demander le corps
- Corps de réponse
- Codes d'état
Q # 2) Nommez le protocole utilisé par les services Web RESTful.
Répondre: Les services Web RESTful utilisent un protocole Web célèbre, à savoir le protocole HTTP. Cela sert de moyen de communication de données entre le client et le serveur. Les méthodes standard HTTP sont utilisées pour accéder aux ressources dans l'architecture de service Web RESTful.
Q # 3) Expliquez le terme «adressage» par rapport au service WEB RESTful.
Répondre: Tout comme nous avons besoin d’une adresse avec un code postal pour atteindre toute personne, de la même manière, «Adressage» localise les ressources présentes sur le serveur dans le but d’héberger des services Web. Cela se fait généralement avec l'URI, c'est-à-dire l'identificateur de ressource unifié.
Q # 4) Inscrire les fonctionnalités des services Web RESTful.
Répondre: Tous les services Web RESTful doivent avoir les fonctionnalités et caractéristiques suivantes qui sont énumérées ci-dessous:
- Basé sur la représentation client-serveur.
- Utilisation du protocole HTTP pour exécuter des fonctions telles que la récupération de données à partir du service Web, la récupération de ressources, l'exécution de toute requête, etc.
- La communication entre le serveur et le client s’effectue via le support appelé «messagerie».
- Adressage des ressources disponibles sur le serveur via des URI.
- Basé sur le concept d'apatridie où chaque demande et réponse du client est indépendante de l'autre avec l'assurance complète de fournir les informations requises.
- Utilise le concept de mise en cache.
- Fonctionne sur l'interface Uniform.
Q # 5) Expliquez la technique de messagerie.
Répondre: Les messages sont le mode d'échange de données pour tout type de communication. De la même manière, le protocole HTTP joue le rôle de communication de message entre le client et le serveur via les méthodes HTTP Request et Response. La requête HTTP est envoyée par le client qui contient des informations sur les données et reçoit à son tour une réponse HTTP du serveur.
Les messages sont la collecte d'informations sur les données, c'est-à-dire les métadonnées.
Q # 6) Quels sont les composants de base de la requête HTTP et de la réponse HTTP?
Répondre: Les composants principaux sous HTTP Request sont:
- Verbe: Inclut des méthodes telles que GET, PUT, POST, etc.
- Uniform Resource Identifier pour identifier les ressources disponibles sur le serveur.
- Version HTTP pour spécifier la version HTTP.
- En-tête de requête HTTP pour contenir les informations sur les données.
- Corps de la requête HTTP contenant la représentation des ressources utilisées.
Les principaux composants sous HTTP Response sont:
- Code requis: Celui-ci contient divers codes qui déterminent l'état de la réponse du serveur.
- Version HTTP pour spécifier la version HTTP.
- En-tête de réponse HTTP pour contenir les informations sur les données.
- Corps de réponse HTTP contenant la représentation des ressources utilisées.
Q # 7) Expliquez le terme «apatridie» par rapport au service RESTful WEB.
Répondre: Dans REST, ST lui-même définit le transfert d'état et l'apatridie signifie une isolation complète. Cela signifie que l’état de l’application du client n’est jamais stocké sur le serveur et est transmis.
Dans ce processus, les clients envoient toutes les informations nécessaires au serveur pour répondre à la demande HTTP qui a été envoyée. Ainsi, chaque client demande et la réponse est indépendante de l'autre avec l'assurance complète de fournir les informations requises.
quel est le meilleur fournisseur de messagerie
Chaque client passe un «identifiant de session» qui agit également comme un identifiant pour chaque session.
Q # 8) Recensez les avantages et les inconvénients de «l'apatridie».
Répondre: Dans la question ci-dessus, nous avons compris la signification de l'apatridie par rapport à la communication client-serveur. Voyons maintenant quelques-uns de ses avantages et inconvénients.
Avantages:
- Chaque méthode requise pour la communication est identifiée comme une méthode indépendante, c'est-à-dire qu'il n'y a pas de dépendance à d'autres méthodes.
- Toute communication antérieure avec le client et le serveur n'est pas maintenue et ainsi l'ensemble du processus est très simplifié.
- Si des informations ou métadonnées utilisées précédemment sont requises dans une autre méthode, le client envoie à nouveau ces informations avec la requête HTTP.
- Le protocole HTTP et le service Web REST partagent tous deux la caractéristique de l'apatridie.
Désavantages:
- Dans chaque requête HTTP du client, la disponibilité de certaines informations concernant l'état du client est requise par le service Web.
Q # 9) Inscrivez certaines contraintes importantes pour les services Web RESTful.
Répondre: Chaque contrainte a des impacts aussi bien positifs que négatifs et pour produire une architecture globale, il doit y avoir un équilibre entre les deux.
Vous trouverez ci-dessous quelques contraintes importantes pour le service Web RESTful:
- Il devrait y avoir des préoccupations distinctes pour chaque serveur et client, ce qui aidera à maintenir la modularité au sein de l'application. Cela réduira également la complexité et augmentera l'évolutivité.
- La communication client-serveur doit être sans état, ce qui signifie qu'aucune information précédente n'est utilisée et que l'exécution complète se fait de manière isolée. En cas d'échec, il aide également le client à récupérer.
- Dans la communication client-serveur, la réponse HTTP doit pouvoir être mise en cache afin que, si nécessaire, une copie mise en cache puisse être utilisée, ce qui à son tour améliore l'évolutivité et les performances du serveur.
- La quatrième contrainte est l'interface uniforme qui permet de comprendre facilement l'interaction client-serveur. Cette contrainte est divisée en quatre sous-contraintes comme:
- Identification des ressources
- Manipulation des ressources
- Chaque message est facilement compris et auto-descriptif.
- Hypermédia, qui est défini comme le texte avec des hyperliens et lorsque vous cliquez dessus, il passe à un autre état d'application.
- La communication client-serveur doit être effectuée sur un système en couches et, par conséquent, le client ne doit avoir connaissance que du niveau intermédiaire avec lequel la communication est établie,
Q # 10) Qu'est-ce qu'une «ressource»?
Répondre: Tout comme l'instance 'Object', nous avons appris en Object Orient Programming Language, de la même manière, 'Resource' est défini comme un objet d'un type qui peut être une image, un fichier HTML, des données texte et tout type de dynamique Les données. Il existe une variété de formats de représentation disponibles pour représenter une ressource.
Certaines ressources les plus courantes sont répertoriées ci-dessous:
java comment faire une file d'attente
- JSON
- YAML
- XML
- HTML
Q # 11) Pourquoi une représentation appropriée de la ressource est-elle nécessaire?
Répondre: La représentation est très importante car elle détermine l'identification facile des ressources. Avec des représentations appropriées de la ressource dans le format approprié, permet au client de comprendre facilement le format.
Q # 12) Énumérez certains points importants à garder à l'esprit lors de la conception de la représentation des ressources pour les services Web RESTful.
Répondre: Comme il n'y a aucune restriction sur le format dans lequel la représentation des ressources est effectuée, mais simplement que l'exigence principale est que le format de la représentation doit être conforme aux exigences du client.
Une bonne représentation des ressources est conçue en tenant compte des principaux points suivants:
- Le format de représentation des ressources doit être facilement compris par le client et le serveur.
- La représentation doit être complète quelle que soit la structure de son format, qui peut être complexe ou simple.
- Dans le cas du lien entre les ressources et d’autres ressources, de tels cas devraient également être examinés et traités.
Q # 13) Qu'est-ce que la mise en cache?
Répondre: La mise en cache est le processus dans lequel la réponse du serveur est stockée afin qu'une copie mise en cache puisse être utilisée si nécessaire et il n'est pas nécessaire de générer à nouveau la même réponse. Ce processus réduit non seulement la charge du serveur, mais augmente à son tour l'évolutivité et les performances du serveur. Seul le client est capable de mettre en cache la réponse et cela aussi pendant une période limitée.
Mentionné ci-dessous sont l'en-tête des ressources et leur brève description afin qu'elles puissent être identifiées pour le processus de mise en cache:
- Heure et date de création de la ressource
- Heure et date de la modification de la ressource qui stocke généralement le dernier détail.
- En-tête de contrôle du cache
- Heure et date d'expiration de la ressource mise en cache.
- L'âge qui détermine le moment à partir duquel la ressource a été récupérée.
Q # 14) Expliquez l'en-tête Cache-control.
Répondre: Un en-tête de contrôle de cache standard peut aider à atteindre la capacité de cache. Vous trouverez ci-dessous la brève description des différents en-têtes de contrôle de cache:
- Publique: Les ressources marquées comme publiques peuvent être mises en cache par tout composant intermédiaire entre le client et le serveur.
- Privé: Les ressources marquées comme privées ne peuvent être mises en cache que par le client.
- Pas de cache signifie qu'une ressource particulière ne peut pas être mise en cache et que l'ensemble du processus est donc arrêté.
Q # 15) Quelles sont les meilleures pratiques à suivre lors de la conception de services Web RESTful?
Répondre: Pour concevoir un service Web RESTful sécurisé, il existe des bonnes pratiques ou des points à prendre en compte.
Ceux-ci sont expliqués comme suit:
- Chaque entrée sur le serveur doit être validée.
- L'entrée doit être bien formée.
- Ne transmettez jamais de données sensibles via une URL.
- Pour toute session, l'utilisateur doit être authentifié.
- Seuls les messages d'erreur HTTP doivent être utilisés pour indiquer une erreur.
- Utilisez un format de message facile à comprendre et requis par le client.
- L'identificateur de ressource unifié doit être descriptif et facile à comprendre.
Q # 16) Qu'est-ce que la charge utile?
Répondre: Les données de requête qui sont présentes dans la partie corps de chaque message HTTP sont appelées «charge utile». Dans le service Web Restful, la charge utile ne peut être transmise au destinataire que via la méthode POST.
Il n'y a pas de limite d'envoi de données en tant que charge utile via la méthode POST, mais le seul problème est que plus de données consommeront plus de temps et de bande passante. Cela peut également consommer une grande partie du temps de l’utilisateur.
Q # 17) Inscrivez certaines des méthodes HTTP avec une description.
Réponse: Vous trouverez ci-dessous la liste des méthodes HTTP avec leurs descriptions:
- OBTENIR: Il s'agit d'une opération en lecture seule qui récupère la liste des utilisateurs sur le serveur.
- METTRE: Cette opération est utilisée pour la création de toute nouvelle ressource sur le serveur.
- PUBLIER: Cette opération est utilisée pour mettre à jour une ancienne ressource ou pour créer une nouvelle ressource.
- EFFACER: Comme son nom l'indique, cette opération est utilisée pour supprimer toute ressource sur le serveur.
- OPTIONS: Cette opération récupère la liste des options prises en charge des ressources disponibles sur le serveur.
Q # 18) Quelle est la différence entre la méthode PUT et la méthode POST?
Répondre: La principale différence entre les méthodes PUT et POST est que le résultat généré avec la méthode PUT est toujours le même, quel que soit le nombre de fois que l'opération est effectuée. D'autre part, le résultat généré par l'opération POST est toujours différent à chaque fois.
Q # 19) Que pensez-vous de JAX-RS?
Répondre: JAX-RS est défini comme l'API Java pour le service Web RESTful. Parmi plusieurs bibliothèques et framework, ceci est considéré comme l'API basée sur le langage de programmation Java la plus appropriée qui prend en charge le service Web RESTful.
Certaines des implémentations de JAX-RS sont:
- Jersey
- RESTEasy
- Apache CFX
- Jouer
Parmi ceux-ci, Jersey est le framework le plus populaire.
Q # 20) Que sont les codes d'état HTTP? Enrôlez peu avec un sens.
Répondre: Les codes d'état HTTP sont essentiellement la représentation de l'état de la tâche qui a été effectuée sur le serveur, avec le mode de certains codes. Chaque code a sa propre signification.
Certains des codes d'état HTTP avec leur signification sont les suivants:
- Code 200: Cela indique le succès.
- Code 201: Cela indique que la ressource a été créée avec succès.
- Code 204: Cela indique qu'il n'y a pas de contenu dans le corps de la réponse.
- Code 404: Cela indique qu'aucune méthode n'est disponible.
Il existe peu de codes de ce type qui indiquent l'état.
Conclusion
Cet article vous aidera à vous préparer à l'entretien des services Web RESTful et à comprendre le concept de manière simple et facile. J'ai essayé de couvrir tous les domaines qui sont très nécessaires pour avoir une connaissance complète des services Web RESTful.
Lectures complémentaires - Tutoriel sur l'API Flask
N'oubliez pas qu'il est possible que vous ne soyez pas en mesure de répondre à toutes les questions de l'entrevue, mais ce que vous répondez doit être exact. Votre concept de base doit être solide et votre niveau de confiance doit être élevé.
Tous mes vœux!!
lecture recommandée
- Quelques questions et réponses difficiles sur les tests manuels
- Top 20+ Questions et réponses d'entrevue .NET
- 20 questions et réponses d'entrevue TestNG les plus populaires
- Les 20 questions et réponses les plus importantes pour les entretiens de test d'API
- Questions et réponses d'entrevue de test ETL
- Top 20 des dernières questions et réponses d'entrevue DevOps pour 2021
- 20 principales questions et réponses d'entretiens de Business Analyst (LISTE 2021)
- Top 20 des questions et réponses d'entrevue sur les services Web RESTful
- Top 45 des questions et réponses d'entretien des services Web (RESTful, SOAP, questions de sécurité)