đ 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: idempotentesPOST: non idempotente
5. Différence entre PUT et PATCH ?
Réponse :
PUT: remplacement completPATCH: 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