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

20 QA - API REST LÆ°á»Łt xem: