Checklist DWWM

Entretien technique · 40 min · RNCP37674

Questions types du jury

Une banque de questions représentatives de l'entretien technique et de l'entretien final, pour vous entraîner à défendre votre dossier de projet.

Ces questions ne sont pas une liste officielle : le jury interroge d'abord ce que vous avez écrit dans votre dossier, puis complète pour couvrir les compétences non abordées par votre projet. Utilisez-les pour anticiper, jamais pour réciter par cœur.

💡 Comment s'en servir : pour chaque question, entraînez-vous à répondre à voix haute en 1 à 2 minutes, en vous appuyant sur un exemple concret de votre projet (« dans mon application, j'ai fait… parce que… »). Le jury cherche à vérifier que vous comprenez vos choix, pas que vous connaissez la théorie.

🎨 Bloc 1 — Front-end

Environnement de travail & outils 8 questions
  • Quels outils composent votre environnement de développement, et pourquoi ces choix ?
  • Comment avez-vous versionné votre code ? Décrivez votre workflow Git (branches, commits, pull requests). Attendez-vous à « montrez-moi un commit / expliquez ce message ».
  • À quoi sert un fichier .gitignore ? Qu'y avez-vous mis ?
  • Qu'est-ce qu'un gestionnaire de paquets (npm, composer…) ? Différence entre dépendances et dépendances de développement ?
  • À quoi sert un outil de build / bundler (Vite, Webpack) ? Que se passe-t-il exactement quand vous lancez le build ?
  • Comment déboguez-vous un problème d'affichage ? Quels outils du navigateur utilisez-vous ?
  • Qu'est-ce qu'un linter ? Qu'apporte-t-il à votre projet ?
  • Comment gérez-vous les variables sensibles (clés d'API) dans votre environnement ?
Maquettage & UX/UI 7 questions
  • Quel outil de maquettage avez-vous utilisé ? Montrez-nous une maquette et l'écran final correspondant.
  • Différence entre un wireframe, une maquette et un prototype ?
  • Qu'est-ce qu'un zoning et une charte graphique ? Comment avez-vous défini vos couleurs et typographies ?
  • Comment avez-vous pris en compte l'expérience utilisateur (parcours, ergonomie) ?
  • Qu'est-ce que le mobile-first ? L'avez-vous appliqué ?
  • Comment avez-vous intégré l'accessibilité (RGAA) dès la maquette ? (contrastes, tailles, ordre de lecture)
  • Qu'est-ce qu'un design system ou une bibliothèque de composants ? En avez-vous utilisé un ?
Interfaces statiques (HTML / CSS) 8 questions
  • Qu'est-ce que le HTML sémantique ? Citez des balises sémantiques et leur rôle.
  • Différence entre un élément block et inline ?
  • Expliquez le modèle de boîte (box model) en CSS.
  • Flexbox ou Grid : quand utiliser l'un plutôt que l'autre ?
  • Comment rendez-vous un site responsive ? Qu'est-ce qu'une media query ?
  • Qu'est-ce que la spécificité CSS ? Comment se résout un conflit de règles ?
  • Comment garantissez-vous l'accessibilité au clavier et pour les lecteurs d'écran (attributs ARIA, focus, alt) ?
  • Comment testez-vous le rendu sur différents navigateurs ?
Interfaces dynamiques (JavaScript) 9 questions
  • Qu'est-ce que le DOM ? Comment le manipulez-vous en JavaScript ?
  • Qu'est-ce qu'un event listener ? Donnez un exemple tiré de votre projet.
  • Comment communiquez-vous avec le serveur côté client (fetch, AJAX) ? Que renvoie une API ?
  • Qu'est-ce qu'une promesse (Promise) ? À quoi servent async/await ?
  • Comment gérez-vous les erreurs d'un appel réseau côté client ?
  • Pourquoi valider les données côté client et côté serveur ?
  • Si vous avez utilisé un framework (React, Vue, Angular) : pourquoi ce choix ? Qu'est-ce qu'un composant ? Comment gérez-vous l'état ?
  • Qu'est-ce qu'une faille XSS ? Comment vous en protégez-vous côté front ?
  • Comment optimisez-vous les performances front (images, lazy loading, minification) ?

⚙️ Bloc 2 — Back-end

Base de données relationnelle 9 questions
  • Présentez le modèle de données de votre application (MCD / MLD). Montrez le schéma.
  • Qu'est-ce que la normalisation ? Que sont les 1re, 2e et 3e formes normales ?
  • Différence entre clé primaire et clé étrangère ?
  • Quels types de relations existe-t-il (1-1, 1-N, N-N) ? Comment implémente-t-on un N-N ?
  • Qu'est-ce qu'un index ? Quand et pourquoi en créer un ?
  • Comment garantissez-vous l'intégrité des données (contraintes, types) ?
  • Comment sécurisez-vous l'accès à la base (droits utilisateurs, mots de passe) ?
  • Où et comment sont stockés les mots de passe des utilisateurs ? Réponse attendue : jamais en clair — hachage + sel (bcrypt, Argon2).
  • Comment sauvegardez-vous vos données ?
Accès aux données (SQL & NoSQL) 8 questions
  • Écrivez / expliquez une requête SQL de votre projet avec une jointure.
  • Différence entre INNER JOIN et LEFT JOIN ?
  • Qu'est-ce qu'une injection SQL ? Comment l'empêchez-vous ? Réponse attendue : requêtes préparées / paramétrées.
  • Qu'est-ce qu'un ORM (ou ODM) ? Quels avantages et inconvénients ?
  • Différence entre une base SQL et une base NoSQL ? Quand choisir l'une ou l'autre ?
  • Qu'est-ce qu'une transaction ? Que signifie ACID ?
  • Comment paginez-vous ou filtrez-vous de grandes quantités de données ?
  • Comment validez-vous et nettoyez-vous les données avant insertion ?
Composants métier côté serveur 9 questions
  • Quelle architecture avez-vous adoptée côté serveur (MVC, couches) ? Expliquez le rôle de chaque partie.
  • Qu'est-ce qu'une API REST ? Citez les verbes HTTP et leur usage.
  • Que signifient les codes de statut HTTP (200, 201, 400, 401, 403, 404, 500) ?
  • Comment fonctionne votre système d'authentification ? (session, JWT)
  • Différence entre authentification et autorisation ? Comment gérez-vous les rôles ?
  • Qu'est-ce que le OWASP Top 10 ? Citez des failles et vos protections (CSRF, XSS, injection…).
  • Comment gérez-vous les erreurs et les logs côté serveur ?
  • Qu'est-ce que le CORS ? Pourquoi peut-il poser problème ?
  • Où placez-vous la logique métier, et pourquoi pas dans le front ?
Déploiement & documentation 7 questions
  • Où et comment votre application est-elle déployée ? Décrivez les étapes.
  • Différence entre les environnements de développement, de test et de production ?
  • Comment gérez-vous la configuration selon l'environnement (variables d'environnement) ?
  • Qu'est-ce que Docker / la conteneurisation ? (si utilisé) Quel intérêt ?
  • Qu'est-ce que l'intégration et le déploiement continus (CI/CD) ?
  • Comment assurez-vous que le passage en production ne casse rien ?
  • Comment un autre développeur peut-il installer et lancer votre projet ? (README, doc technique)

🛡️ Compétences transversales

Sécurité (fil rouge du titre) 7 questions
  • Citez trois mesures de sécurité concrètes mises en place dans votre application.
  • Comment protégez-vous les mots de passe et les données personnelles ?
  • HTTP vs HTTPS : quelle différence, et pourquoi HTTPS ?
  • Qu'est-ce qu'une faille CSRF ? Comment la contrer ?
  • Comment gérez-vous les permissions pour éviter qu'un utilisateur accède aux données d'un autre ?
  • Comment restez-vous informé·e des nouvelles vulnérabilités (veille sécurité) ?
  • Que faites-vous en cas d'incident de sécurité en production ?
RGPD, accessibilité (RGAA) & éco-conception 7 questions
  • Quelles obligations RGPD s'appliquent à votre application ? (consentement, mentions légales, droit à l'oubli)
  • Quelles données personnelles collectez-vous, et pourquoi ?
  • Qu'est-ce que le RGAA ? Citez des critères d'accessibilité respectés.
  • Comment un utilisateur non-voyant navigue-t-il sur votre site ?
  • Comment vérifiez-vous les contrastes de couleurs ?
  • Qu'est-ce que l'éco-conception web ? Qu'avez-vous mis en place ?
  • Pourquoi l'information ne doit-elle jamais reposer uniquement sur la couleur ?
Veille technologique & anglais (B1) 6 questions
  • Comment organisez-vous votre veille technologique ? Quelles sources ?
  • Citez une technologie ou bonne pratique découverte récemment en veille.
  • Can you describe your project in English ? Le questionnaire pro comporte une doc technique en anglais + réponses courtes en anglais.
  • What technologies did you use, and why ?
  • What was the biggest challenge in your project, and how did you solve it ?
  • Comment lisez-vous une documentation technique rédigée en anglais ?

🎤 Soutenance & entretien final

Présentation du projet & posture professionnelle 10 questions
  • Présentez votre projet en 2 minutes : contexte, objectif, votre rôle.
  • Pourquoi ces choix techniques ? Quelles alternatives aviez-vous envisagées ?
  • Quelle a été la plus grande difficulté ? Comment l'avez-vous résolue ?
  • De quelle réalisation êtes-vous le·la plus fier·ère ?
  • Si vous deviez recommencer, que feriez-vous différemment ?
  • Comment avez-vous testé votre application ? (tests, recette)
  • Comment avez-vous organisé votre travail et géré votre temps ?
  • Comment réagissez-vous face à un bug bloquant que vous ne comprenez pas ?
  • Quelles fonctionnalités ajouteriez-vous pour faire évoluer le projet ?
  • Pourquoi le métier de développeur·euse web ? Quel est votre projet professionnel ?
📌 À retenir : le jury évalue votre maîtrise réelle des compétences des deux blocs. Une réponse honnête « je ne l'ai pas mis en place, mais voici comment j'aurais fait » vaut mieux qu'un terme technique mal maîtrisé. Appuyez-vous toujours sur des exemples de votre projet.