mardi 20 janvier 2026

20 QA - API REST



🌐 REST API — Niveau Senior / Expert


1. Quels sont les principes fondamentaux d’une API REST ?

Réponse :

  • Stateless

  • Client-Server

  • Cacheable

  • Uniform Interface

  • Layered System


2. Différence entre REST et SOAP ?

Réponse :

  • REST : léger, JSON, HTTP natif

  • SOAP : XML, strict, plus lourd, WS-*


3. Quand REST n’est-il pas le bon choix ?

Réponse :

  • Streaming temps réel

  • Graphes complexes (préférer GraphQL)

  • RPC haute performance (gRPC)


4. Expliquez l’idempotence des méthodes HTTP.

Réponse :

  • GET, PUT, DELETE : idempotentes

  • POST : non idempotente


5. Différence entre PUT et PATCH ?

Réponse :

  • PUT : remplacement complet

  • PATCH : modification partielle


6. Comment versionner une API REST proprement ?

Réponse :

  • URI (/v1)

  • Header (Accept-Version)

  • Versioning sémantique
    ➡️ Éviter breaking changes


7. Qu’est-ce que HATEOAS et est-ce vraiment utile ?

Réponse :
HATEOAS permet la navigation dynamique via des liens.
Utile pour APIs publiques, souvent évité en pratique pour complexité.


8. Comment sécuriser une API REST ?

Réponse :

  • OAuth2 / OpenID Connect

  • JWT

  • HTTPS obligatoire

  • Rate limiting

  • Validation des inputs


9. Différence entre authentification et autorisation ?

Réponse :

  • Authentification : qui êtes-vous

  • Autorisation : que pouvez-vous faire


10. Comment gérer les erreurs REST proprement ?

Réponse :

  • Codes HTTP corrects

  • Payload structuré

  • Messages clairs, non sensibles


11. Quels sont les codes HTTP critiques à maîtriser ?

Réponse :

  • 200, 201, 204

  • 400, 401, 403, 404, 409

  • 429

  • 500, 503


12. Comment concevoir une API performante à grande échelle ?

Réponse :

  • Pagination

  • Caching HTTP

  • Compression

  • Bulk endpoints

  • Asynchronisme


13. Qu’est-ce que le rate limiting et comment l’implémenter ?

Réponse :
Limite le nombre de requêtes par client.
Implémentation via API Gateway, Redis, ou proxy.


14. Comment gérer la compatibilité ascendante (backward compatibility) ?

Réponse :

  • Champs optionnels

  • Ne jamais supprimer un champ

  • Déprécation documentée


15. Différence entre API Gateway et Reverse Proxy ?

Réponse :

  • Gateway : sécurité, quotas, monitoring

  • Proxy : routage simple


16. Comment documenter efficacement une API REST ?

Réponse :

  • OpenAPI / Swagger

  • Exemples réels

  • Documentation versionnée


17. Comment tester une API REST à un niveau professionnel ?

Réponse :

  • Tests unitaires

  • Tests d’intégration

  • Tests contractuels

  • Tests de charge


18. Qu’est-ce qu’une API idempotency key ?

Réponse :
Clé permettant d’éviter les doublons lors de requêtes POST répétées.


19. Comment gérer les transactions distribuées en REST ?

Réponse :

  • Saga pattern

  • Compensation

  • Event-driven architecture


20. Quelles erreurs courantes voyez-vous dans les APIs REST ?

Réponse :

  • Mauvais codes HTTP

  • APIs trop verbeuses

  • Couplage fort

  • Manque de monitoring



Aucun commentaire:

Enregistrer un commentaire