Préparation Dév Full Stack · Java · Spring · Git · DevOps · Craft · Agilité · Maven

49 fiches pour préparer vosentretiens techniques

Un cahier de révision corrigé au stylo : les mauvais exemples barrés en rouge, les bons cochés en vert, et une interro à la fin de chaque fiche pour vérifier que c'est acquis.

NouveauSimulation d'entretien technique →

Craftmanship

Code de qualité, SOLID, TDD, design patterns et architecture

  1. 01Code de QualitéLes 4 piliers d'un code de qualité — maintenable, testable, lisible et extensible — illustrés par des exemples Java.
  2. 02Bonnes PratiquesRègles fondamentales pour un code propre : nommage, KISS, DRY, exceptions, formatage et chasse aux magic numbers.
  3. 03Code ReviewQue regarder lors d'une Pull Request : checklist de revue et exemples de feedback constructif.
  4. 04Principes SOLIDLes 5 principes fondamentaux de la programmation orientée objet : SRP, OCP, LSP, ISP et DIP, avec exemples Java.
  5. 05Design PatternsLes 3 types de design patterns — création, structurel, comportemental — avec exemples pratiques en Java.
  6. 06Test Driven Development (TDD)Développement piloté par les tests : le cycle Red, Green, Refactor illustré avec une calculatrice JavaScript et Jest.
  7. 07Behavior Driven Development (BDD)Le BDD transforme les exigences métier en spécifications exécutables en langage naturel (Gherkin), compréhensibles par les devs, la QA et le métier.
  8. 08DDD + Architecture Hexagonale + Clean ArchitectureTrois approches complémentaires — DDD, architecture hexagonale et Clean Architecture — pour isoler le domaine métier et construire des applications maintenables.
  9. 09RefactoringAméliorer la structure du code sans changer son comportement observable : quand refactoriser, le rôle des tests et les techniques essentielles.
  10. 10Pair ProgrammingDeux développeurs, un clavier : les rôles Driver/Navigator, quand pairer, les bénéfices, les défis et les variantes du pair programming.
  11. 11Architecture MicroservicesDécomposer une application en services autonomes : stratégies de découpage, patterns de communication et patterns essentiels (API Gateway, Circuit Breaker, Saga).

Git

Merge, rebase, workflows et gestion des environnements

  1. 01Merge vs RebaseDeux approches pour intégrer les changements d'une branche : merge qui préserve l'historique, rebase qui le linéarise.
  2. 02Fetch vs PullComprendre la différence entre récupérer les changements du dépôt distant (fetch) et les intégrer automatiquement (pull).
  3. 03Reset, Revert, Cherry Pick & StashCommandes avancées pour gérer l'historique : annuler des commits, en copier un précis ou mettre son travail de côté.
  4. 04Squash & AmendNettoyer et modifier l'historique des commits : fusionner plusieurs commits en un seul et retoucher le dernier commit.
  5. 05Workflows GitGitFlow vs Trunk-based Development : deux organisations des branches, de la structure stricte au flux continu.
  6. 06Gestion des EnvironnementsStratégies de branches et de déploiement par environnement : branches dédiées, tags de release ou feature flags.

DevOps

CI/CD, déploiement, secrets, monitoring et alerting

  1. 01Pipeline CI/CDLes étapes essentielles d'un pipeline CI/CD automatisé, du checkout du code au déploiement Kubernetes, avec un exemple GitLab CI complet.
  2. 02Architecture DevOpsArchitecture microservices avec API Gateway, IDP, communication REST/Kafka et services distribués.
  3. 03DéploiementDéploiement GitOps avec ArgoCD sur Kubernetes : workflow, configuration et avantages de l'approche déclarative.
  4. 04Gestion des SecretsCentralisation et sécurisation des secrets avec HashiCorp Vault : politiques, authentification et intégration Kubernetes.
  5. 05MonitoringSurveillance des applications et de l'infrastructure avec Prometheus, visualisation Grafana et Alert Manager.
  6. 06AlertingConcevoir de bonnes alertes : symptômes plutôt que causes, golden signals, sévérités, seuils avec durée et lutte contre la fatigue d'alerte.

Java

Versions LTS, POO, collections, génériques et exceptions

  1. 01Versions Java LTSGuide des versions Long Term Support de Java (8, 11, 17, 21) et de leurs nouveautés majeures.
  2. 02Migration JavaStratégies, outils et bonnes pratiques pour migrer une application entre versions de Java.
  3. 03POO en JavaProgrammation Orientée Objet en Java : les 4 piliers, classes et objets, concepts avancés.
  4. 04Collections JavaLe framework des collections Java : List, Set, Map, leurs implémentations et leurs performances.
  5. 05Mots-clés JavaGuide des mots-clés essentiels de Java : modificateurs d'accès, static, final, abstract, interface, synchronized et volatile.
  6. 06Strings & ImmutabilitéImmutabilité des String en Java, String Pool, StringBuilder vs StringBuffer et méthodes essentielles de manipulation de chaînes.
  7. 07Génériques (Generics)Type safety et réutilisabilité du code avec les génériques Java : classes et méthodes génériques, wildcards, règle PECS et type erasure.
  8. 08ExceptionsGestion des erreurs en Java : hiérarchie des exceptions, checked vs unchecked, try-catch-finally, try-with-resources et exceptions personnalisées.

Spring

Core, Boot, MVC, Data, Security et l’écosystème Spring

  1. 01Spring Core (IoC/DI)Inversion de contrôle et injection de dépendances : les deux mécanismes fondateurs du conteneur Spring.
  2. 02Spring BootFramework pour créer des applications Spring rapidement grâce à l'auto-configuration, aux starters et au serveur embarqué.
  3. 03Spring MVCFramework web basé sur le pattern Model-View-Controller : architecture, @Controller et @RestController.
  4. 04Spring DataSimplification de l'accès aux données : modules Spring Data, entités JPA et repositories avec requêtes dérivées.
  5. 05Spring SecurityFramework de sécurité pour les applications Spring : authentification, autorisation et configuration de la SecurityFilterChain.
  6. 06Spring CloudLes outils Spring Cloud pour construire des systèmes distribués : service discovery, load balancing, circuit breaker, API gateway, configuration centralisée et tracing.
  7. 07Spring TestingLe framework de test intégré de Spring : tests unitaires avec Mockito, tests d'intégration avec @SpringBootTest et slice tests avec @WebMvcTest et @DataJpaTest.
  8. 08Spring BatchLe framework de traitement par lots de Spring : architecture Job/Step/Chunk et exemple complet reader-processor-writer avec listener.
  9. 09Spring Boot ActuatorMonitoring et gestion des applications Spring Boot : endpoints health, metrics, info, et intégration avec Prometheus, Grafana et la stack ELK.
  10. 10Spring AOPLa programmation orientée aspect avec Spring : aspects, pointcuts, types d'advice et exemple complet d'aspect de logging.

Agilité

Scrum, user stories, cérémonies et estimation

  1. 01Fondamentaux de l'AgilitéLe Manifeste Agile, la comparaison entre cycle en V et approche agile, et les principales méthodes : Scrum, Kanban, XP.
  2. 02Équipe & SprintLes trois rôles Scrum (Product Owner, Scrum Master, Development Team), le déroulement d'un sprint et la vélocité d'équipe.
  3. 03User StoriesLe format « En tant que… je veux… afin de… », les critères INVEST et la hiérarchie Thème > Epic > User Story.
  4. 04Cérémonies AgilesLes quatre événements Scrum — Sprint Planning, Daily Scrum, Sprint Review et Sprint Retrospective — avec leurs objectifs, formats et anti-patterns.
  5. 05Estimation & VélocitéStory points, échelle de Fibonacci, Planning Poker, calcul de la vélocité et autres techniques d'estimation agile.

Maven

Cycle de vie, dépendances et plugins

  1. 01Cycles de Vie MavenLes trois cycles de vie de Maven (default, clean, site) et les phases principales du cycle default, de validate à deploy.
  2. 02Structure des DépendancesLes coordonnées Maven (GAV) et la structure complète d'une dépendance dans le POM : scope, type, classifier, exclusions.
  3. 03Plugins MavenLe fonctionnement des plugins Maven (goals, phases), les plugins core essentiels et leur configuration dans le POM.