Grille d'Évaluation Enrichie IA

Développeur Fullstack Junior
Tech & Développement

1. Compétences Techniques (40 points)

12 pts Frontend - React/Vue.js

❓ Expliquez la différence entre props et state dans React. Quand utiliser l'un ou l'autre ?
✅ Réponse Attendue : • Props : données passées d'un composant parent → enfant, immutables
• State : données internes au composant, modifiables via setState/useState
• Props pour : configuration, données externes, communication parent-enfant
• State pour : données qui changent (input, toggle, compteur)
• Exemple concret : props pour titre, state pour valeur input
🚩 Red Flags : Confond props et state, ne sait pas quand utiliser l'un ou l'autre
❓ Qu'est-ce qu'un hook en React ? Citez 3 hooks et leur usage.
✅ Réponse Attendue : • Hooks : fonctions permettant d'utiliser state et lifecycle dans functional components
• useState : gérer state local (ex: compteur, toggle)
• useEffect : side effects (API calls, subscriptions, DOM manipulation)
• useContext : accéder au context sans prop drilling
• Règles : appeler au top-level, pas dans conditions/boucles
🚩 Red Flags : Ne connaît que useState, ignore useEffect, confond avec class components

10 pts Backend - Node.js/Express

❓ Comment créer une API REST simple avec Express ? Donnez un exemple de route GET.
✅ Réponse Attendue : • Installation : npm install express
• Setup : const express = require('express'); const app = express();
• Route GET : app.get('/users', (req, res) => { res.json([{id: 1, name: 'Alice'}]); });
• Démarrage : app.listen(3000, () => console.log('Server running'));
• Middleware : app.use(express.json()) pour parser body JSON
🚩 Red Flags : Syntaxe incorrecte, ne sait pas ce qu'est un middleware, confusion req/res

10 pts Database - SQL & NoSQL

❓ Écrivez une requête SQL pour récupérer tous les utilisateurs ayant plus de 18 ans, triés par nom.
✅ Réponse Attendue : SELECT * FROM users WHERE age > 18 ORDER BY name ASC;
• Explications : WHERE pour filtrer, ORDER BY pour trier
• Variantes : LIMIT 10 pour pagination, COUNT(*) pour total
• Bonus : JOIN si table relations (users + orders)
🚩 Red Flags : Syntaxe SQL incorrecte, ne sait pas faire un WHERE ou ORDER BY
❓ Quelle est la différence entre SQL et NoSQL ? Quand utiliser MongoDB vs PostgreSQL ?
✅ Réponse Attendue : • SQL : relationnel, schéma fixe, ACID, joins (PostgreSQL, MySQL)
• NoSQL : documents/JSON, schéma flexible, scalabilité horizontale (MongoDB)
• Utiliser SQL si : relations complexes, transactions, données structurées
• Utiliser NoSQL si : données non structurées, scalabilité massive, rapidité dev
• Exemple : e-commerce → SQL ; logs/analytics → NoSQL
🚩 Red Flags : Ne comprend pas la différence fondamentale, choix arbitraire sans justification

8 pts Git & Workflow

❓ Expliquez votre workflow Git pour développer une nouvelle feature en équipe.
✅ Réponse Attendue : 1. git checkout main && git pull (sync avec remote)
2. git checkout -b feature/new-feature (créer branche)
3. Développement + commits atomiques (git add, git commit -m "message clair")
4. git push origin feature/new-feature
5. Créer Pull Request (PR) sur GitHub/GitLab
6. Code review par team
7. Merge après validation
• Bonnes pratiques : commits clairs, tests passent, code lisible
🚩 Red Flags : Commit directement sur main, messages vagues, ne sait pas créer de branche

2. Soft Skills & Apprentissage (35 points)

12 pts Capacité d'Apprentissage

❓ Racontez une situation où vous avez dû apprendre rapidement une nouvelle technologie. Comment avez-vous procédé ?
✅ Réponse Attendue : • Contexte clair : projet nécessitant techno X (ex: GraphQL, TypeScript)
• Démarche structurée : documentation officielle, tutoriels, pet project
• Temps d'apprentissage raisonnable : 1-2 semaines
• Application concrète : intégration dans projet réel
• Ressources utilisées : docs, Stack Overflow, YouTube, mentors
• Résultat mesurable : feature livrée, compétence acquise
🚩 Red Flags : Pas d'exemple concret, apprentissage superficiel, résiste au changement

10 pts Debugging & Problem Solving

❓ Comment déboguer une application qui ne fonctionne pas ? Décrivez votre approche méthodique.
✅ Réponse Attendue : 1. Reproduire le bug de manière constante
2. Console logs / DevTools pour identifier l'erreur
3. Lire le message d'erreur attentivement
4. Isoler le problème : quel composant/fonction ?
5. Hypothèses : qu'est-ce qui pourrait causer ça ?
6. Tests : valider/invalider hypothèses
7. Stack Overflow / Google si bloqué
8. Demander aide si >1h bloqué
• Exemple concret : bug résolu récemment
🚩 Red Flags : Trial & error sans méthode, ne lit pas les erreurs, abandonne vite

8 pts Communication & Collaboration

❓ Comment demandez-vous de l'aide quand vous êtes bloqué sur un problème technique ?
✅ Réponse Attendue : • D'abord : chercher soi-même (docs, Google, Stack Overflow) 30min-1h
• Préparer question : contexte, ce qui a été tenté, erreur précise
• Demander à la bonne personne : senior dev, lead tech
• Communication claire : "J'essaie de faire X, j'ai tenté Y et Z, j'obtiens cette erreur"
• Écoute active : comprendre la réponse, prendre notes
• Remerciement et follow-up : "Ça a fonctionné, merci !"
• Éviter : interrompre sans préparation, questions vagues
🚩 Red Flags : Demande immédiatement sans chercher, questions vagues, n'écoute pas réponse

5 pts Code Quality & Best Practices

❓ Qu'est-ce qu'un code "propre" (clean code) pour vous ? Donnez 3 principes.
✅ Réponse Attendue : • Lisible : nommage clair (variables, fonctions), pas de code obscur
• DRY (Don't Repeat Yourself) : éviter duplication, fonctions réutilisables
• Simple : une fonction = une responsabilité, pas de over-engineering
• Commenté intelligemment : expliquer le "pourquoi", pas le "quoi"
• Testé : unit tests pour fonctions critiques
• Formaté : indentation cohérente, Prettier/ESLint
🚩 Red Flags : Ne se soucie pas de la qualité du code, "tant que ça marche"

3. Motivation & Fit Culturel (15 points)

8 pts Motivation & Projet de Carrière

❓ Pourquoi voulez-vous rejoindre Pyl.Tech en tant que dev fullstack junior ?
✅ Réponse Attendue : • Recherche effectuée : connaît nos projets, stack technique, valeurs
• Envie d'apprendre : mentorat senior devs, projets challenges
• Alignement technique : stack moderne (React, Node.js), cloud
• Culture : startup innovante, impact produit, équipe bienveillante
• Objectif 3-5 ans : évoluer vers dev confirmé puis senior
• Motivation intrinsèque : passion pour le code, envie de construire
🚩 Red Flags : Réponse générique, aucune recherche, motivations uniquement financières, pas d'objectif

7 pts Curiosité & Veille Techno

❓ Quelles sont les dernières technos/tendances web qui vous intéressent ? Comment vous tenez-vous à jour ?
✅ Réponse Attendue : • Tendances : TypeScript, Next.js, serverless, Tailwind CSS, Docker
• Sources : dev.to, Medium, YouTube (Fireship, Web Dev Simplified)
• Communauté : Discord/Slack dev, meetups locaux
• Side projects : teste nouvelles technos sur projets perso
• GitHub : suit repos intéressants, lit release notes
• Exemple concret : dernière techno testée récemment
🚩 Red Flags : Aucune veille, "j'attends qu'on me dise quoi apprendre", technologies datées

4. Cas Pratiques (10 points)

🧪 Cas 1 : To-Do App Fullstack

Contexte : Créer une application To-Do simple avec React + Node.js + PostgreSQL.

Tâche : Décrire l'architecture et les principales étapes de développement.

Évaluation : Architecture frontend/backend, API REST, database design, déploiement

🧪 Cas 2 : Bug - API ne répond pas

Contexte : Frontend affiche "Error 500" lors d'un appel API GET /users.

Tâche : Comment identifier et résoudre le problème ? Démarche step-by-step.

Évaluation : Méthodologie debugging, outils (DevTools, logs), hypothèses testées

🧪 Cas 3 : Code Review - Pull Request

Contexte : Un collègue a fait une PR avec du code React. Que vérifier avant validation ?

Tâche : Lister 5 points à vérifier lors d'une code review.

Évaluation : Compréhension best practices, qualité code, tests, sécurité

5. Tableau de Scoring

Catégorie Critère Points Max Score
Compétences Techniques (40) Frontend React/Vue.js 12
Backend Node.js/Express 10
Database SQL/NoSQL 10
Git & Workflow 8
Soft Skills (35) Capacité d'Apprentissage 12
Debugging & Problem Solving 10
Communication & Collaboration 8
Code Quality & Best Practices 5
Motivation & Fit (15) Motivation & Projet Carrière 8
Curiosité & Veille Techno 7
Cas Pratiques 10
SCORE TOTAL 100

📊 Interprétation

  • 75-100 : ⭐⭐⭐ Excellent junior - Fortement recommandé
  • 60-74 : ⭐⭐ Bon junior - À former
  • 45-59 : ⭐ Junior avec lacunes - Formation intensive nécessaire
  • < 45 : ❌ Insuffisant - Ne pas retenir