SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
Consignes
Nous évaluons votre capacité à fournir un code facilement maintenable et
extensible par un autre développeur.
Grille d'évaluation
Principaux critères pris en compte :
• capacité à comprendre et respecter des consignes de travail, éventuellement se
les faire préciser si besoin
• capacité à communiquer (coder c'est parler à son moi futur) :
◦ présence et pertinence des commentaires
◦ éventuellement utilisation d'une norme de commentaire (javadoc ou autre)
• variables :
◦ devine-t-on facilement ce qu'elles représentent?
◦ (pour les langages où cela est utile) devine-t-on facilement le type utilisé
pour stocker les données?
◦ la manière dont la variable doit être manipulée?
• fonctions :
◦ devine-t-on facilement ce que la fonction fait?
◦ devine-t-on facilement le type de données qu'elle retourne?
◦ devine-t-on facilement le type d'exceptions qu'elle peut générer?
◦ devine-t-on facilement les erreurs qu'elle peut retourner?
• architecture du code :
◦ les traitements sont-ils atomiques?
◦ la ré-utilisation du code est-elle facilitée?
◦ les effets de bord sont-ils minimisés?
• utilisation de bonnes pratiques courantes, de règles de codage
• simplicité de mise en oeuvre, donc de maintenance
• l'algorithme est-il simple, robuste, correspond-t-il à un pattern reconnu (design
pattern, algorithme classique...)
• le code est-il facilement testable (tests unitaires)?
Nos dogmes pour cette évaluation sont :
• KISS : Keep It Simple Stupid
• DRY : Don't Repeat Yourself
Nous gardons quelques critères "secrets". Les critères non annoncés se déduisent
facilement de cette grille.
Exercices
1- Dans une base de données imaginaire, comment sélectionneriez-vous les
bonbons goût fraise de couleur rouge et de forme dragée?
Evitez de consacrer plus de 5 mn à cet exercice.
2- Rédigez une fonction qui vérifiera la validité d'un email :
• présence du caractère arobase ("@")
• présence du caractère point (".")
• extension du nom de domaine comprise dans une liste
Evitez de consacrer plus de 30mn à cet exercice.
3- Ecrivez une fonction qui teste la fonction de validation d'email
Evitez de consacrer plus de 15mn à cet exercice.
4- Avant de démarrer :
• notez le temps que vous prévoyez de consacrer à cette tâche
• notez l'heure où vous commencez
5- Après avoir terminé :
• notez l'heure où vous avez terminé
• notez le temps le temps effectivement consacré à cette tâche
• si possible, livrez votre feuille de temps au format open document (format odt, le
format natif d'Open Office). Les livraisons dans un autre format sont
possibles mais doivent être négociées avec moi avant livraison.
6- Quelle méthode avez-vous utilisée pour estimer le temps de développement de
cette fonction?
7- Ne livrez pas le premier et le sixième exercice
8- Ne passez pas plus d'1h sur cette évaluation
9- Envoyez vos questions éventuelles par retour de mail : les réponses seront
diffusées à l'ensemble des candidats.
10- Réponses attendues par retour de mail, avant :

Mais conteúdo relacionado

Semelhante a Consignes épreuve de codage

TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
French Scrum User Group
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisés
Djamel Zouaoui
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
Frederic Hardy
 

Semelhante a Consignes épreuve de codage (20)

Coder propre !
Coder propre !Coder propre !
Coder propre !
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet AgileLes tests automatisés par mots-clés, le complément parfait d’un projet Agile
Les tests automatisés par mots-clés, le complément parfait d’un projet Agile
 
Une architecture agile et testable
Une architecture agile et testableUne architecture agile et testable
Une architecture agile et testable
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
Pourquoi vous ne pouvez pas tester votre code
Pourquoi vous ne pouvez pas tester votre codePourquoi vous ne pouvez pas tester votre code
Pourquoi vous ne pouvez pas tester votre code
 
Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Présentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisésPrésentation Alt.net - Tests unitaires automatisés
Présentation Alt.net - Tests unitaires automatisés
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 
Field research and interaction design: course #6
Field research and interaction design: course #6Field research and interaction design: course #6
Field research and interaction design: course #6
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 

Mais de Ruau Mickael

Javascript objet : que fait ce code ?
Javascript objet : que fait ce code ?Javascript objet : que fait ce code ?
Javascript objet : que fait ce code ?
Ruau Mickael
 
Javascript - Fonctions : que fait ce code ?
Javascript - Fonctions : que fait ce code ?Javascript - Fonctions : que fait ce code ?
Javascript - Fonctions : que fait ce code ?
Ruau Mickael
 
Javascript - Tableaux : que fait ce code ?
Javascript - Tableaux : que fait ce code ?Javascript - Tableaux : que fait ce code ?
Javascript - Tableaux : que fait ce code ?
Ruau Mickael
 
L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formation
Ruau Mickael
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiables
Ruau Mickael
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !
Ruau Mickael
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les bases
Ruau Mickael
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?
Ruau Mickael
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
Ruau Mickael
 

Mais de Ruau Mickael (20)

Panorama de méthodes agiles
Panorama de méthodes agilesPanorama de méthodes agiles
Panorama de méthodes agiles
 
Green web
Green webGreen web
Green web
 
Javascript objet : que fait ce code ?
Javascript objet : que fait ce code ?Javascript objet : que fait ce code ?
Javascript objet : que fait ce code ?
 
Javascript - Fonctions : que fait ce code ?
Javascript - Fonctions : que fait ce code ?Javascript - Fonctions : que fait ce code ?
Javascript - Fonctions : que fait ce code ?
 
Javascript - Tableaux : que fait ce code ?
Javascript - Tableaux : que fait ce code ?Javascript - Tableaux : que fait ce code ?
Javascript - Tableaux : que fait ce code ?
 
Google Design Sprints v1-1
Google Design Sprints v1-1Google Design Sprints v1-1
Google Design Sprints v1-1
 
Value Proposition Design
Value Proposition DesignValue Proposition Design
Value Proposition Design
 
L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formation
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiables
 
Besoin d'aide ?
Besoin d'aide ?Besoin d'aide ?
Besoin d'aide ?
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les bases
 
Protocamp
ProtocampProtocamp
Protocamp
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?
 
hacking learning
hacking learninghacking learning
hacking learning
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
 
Horreurs et recrutement
Horreurs et recrutementHorreurs et recrutement
Horreurs et recrutement
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
 
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
 

Consignes épreuve de codage

  • 1. Consignes Nous évaluons votre capacité à fournir un code facilement maintenable et extensible par un autre développeur. Grille d'évaluation Principaux critères pris en compte : • capacité à comprendre et respecter des consignes de travail, éventuellement se les faire préciser si besoin • capacité à communiquer (coder c'est parler à son moi futur) : ◦ présence et pertinence des commentaires ◦ éventuellement utilisation d'une norme de commentaire (javadoc ou autre) • variables : ◦ devine-t-on facilement ce qu'elles représentent? ◦ (pour les langages où cela est utile) devine-t-on facilement le type utilisé pour stocker les données? ◦ la manière dont la variable doit être manipulée? • fonctions : ◦ devine-t-on facilement ce que la fonction fait? ◦ devine-t-on facilement le type de données qu'elle retourne? ◦ devine-t-on facilement le type d'exceptions qu'elle peut générer? ◦ devine-t-on facilement les erreurs qu'elle peut retourner? • architecture du code : ◦ les traitements sont-ils atomiques? ◦ la ré-utilisation du code est-elle facilitée? ◦ les effets de bord sont-ils minimisés? • utilisation de bonnes pratiques courantes, de règles de codage • simplicité de mise en oeuvre, donc de maintenance • l'algorithme est-il simple, robuste, correspond-t-il à un pattern reconnu (design pattern, algorithme classique...) • le code est-il facilement testable (tests unitaires)? Nos dogmes pour cette évaluation sont : • KISS : Keep It Simple Stupid • DRY : Don't Repeat Yourself Nous gardons quelques critères "secrets". Les critères non annoncés se déduisent facilement de cette grille.
  • 2. Exercices 1- Dans une base de données imaginaire, comment sélectionneriez-vous les bonbons goût fraise de couleur rouge et de forme dragée? Evitez de consacrer plus de 5 mn à cet exercice. 2- Rédigez une fonction qui vérifiera la validité d'un email : • présence du caractère arobase ("@") • présence du caractère point (".") • extension du nom de domaine comprise dans une liste Evitez de consacrer plus de 30mn à cet exercice. 3- Ecrivez une fonction qui teste la fonction de validation d'email Evitez de consacrer plus de 15mn à cet exercice. 4- Avant de démarrer : • notez le temps que vous prévoyez de consacrer à cette tâche • notez l'heure où vous commencez 5- Après avoir terminé : • notez l'heure où vous avez terminé • notez le temps le temps effectivement consacré à cette tâche • si possible, livrez votre feuille de temps au format open document (format odt, le format natif d'Open Office). Les livraisons dans un autre format sont possibles mais doivent être négociées avec moi avant livraison. 6- Quelle méthode avez-vous utilisée pour estimer le temps de développement de cette fonction? 7- Ne livrez pas le premier et le sixième exercice 8- Ne passez pas plus d'1h sur cette évaluation 9- Envoyez vos questions éventuelles par retour de mail : les réponses seront diffusées à l'ensemble des candidats. 10- Réponses attendues par retour de mail, avant :