Fermer2
MeowcateLe 13/10/2014 à 11:53
Récemment ma boîte a lancé une annonce pour le recrutement d'un nouveau dev backend PHP. Étant le plus technique sur ce point, j'assiste aux entretiens avec mon responsable , et afin de tester les candidats de manière égale (nous cherchons un dev CakePHP, mais acceptons tout dev ayant des compétences dans un framework mvc) j'ai rédigé un petit questionnaire PHP pur.

Je vous propose de le tester, à savoir y répondre d'abord PUIS me faire vos remarques :-)
Pour information, il est prévu de laisser 30min pour ce questionnaire, pas d'accès à internet (une seconde partie "écrire du code" se fait sur le pc avec toute la doc accessible sur le net) ni test en local, juste voir les connaissances

----------

1 - Écrivez la condition suivante sous forme d'une condition ternaire :if ($victoire) { echo "Vous avez gagné"; } else { echo "Vous avez perdu"; }

2 - « Never trust user's inputs ». Qu'est ce qu'une injection SQL ? Qu'est ce qu'une faille XSS ? Pour chacune d'entre elle, donnez un moyen de s'en protéger.

3 - Les règles régissant les plaques d'immatriculation actuelles en France sont les suivantes :
1. Une plaque d'immatriculation s'écrit sous la forme AA-001-AA : deux lettres, trois chiffres, deux lettres, tout en majuscule, chaque groupe séparé par un tiret.
2. Le nombre central ne peut pas être 000 3. Les lettres I, O et U sont exclues

Écrivez une expression régulière (regex) permettant de trouver un numéro d'immatriculation française respectant ces règles au milieu d'un texte. Vous pouvez ignorer une ou deux des trois règles si vous n'avez pas certains concepts de regex en tête, le plus étant le mieux.

4 - Quelle est la différence entre public, protected et private dans une classe ?

5 - Soit if(condition) {...} où la condition à vérifier est que la variable $foo contienne la valeur « null ». Donnez toutes les possibilités qui vous viennent en tête sur la façon d'écrire cette condition.

6 - Les mots de passe des utilisateurs ne doivent jamais être stockés en clair dans une base de données. Qu'utiliseriez-vous pour les rendre illisibles ?
1. crypt
2. bcrypt
3. md5
4. sha1 5. sha256


7 - Quel va être l'affichage de sortie de la fonction suivante : $foo = 8 % 5; switch ($foo): case 0: echo "Bam !"; case 1: echo "Blam !!!"; case 2: echo "Dram !!"; case 3: echo "Slam !"; case 4: echo "Cram..."; case 5: echo "Mam ?"; default: echo "Tant pis..."; }

8 - Soit $date = "17/10/2012" (de type string). Modifiez cette variable pour qu'elle soit au format SQL YYYY-MM-DD (ex : 2012-10-17, toujours de type string).

9 - Qu'est ce que T_PAAMAYIM_NEKUDOTAYIM ?

10 - Quelles sont les valeurs de $a et $b à la fin de cette fonction : function doSomething( &$arg ) { $return = $arg; $arg += 1; return $return; } $a = 3; $b = doSomething( $a );


11 - La page contenant le code ci-dessous est accessible par l'url : localhost/mapage.php?user=Max
Quel sera le résultat à l'accès à cette page ?<html> <?php if (isset($_GET['user'])) : if (in_array($_GET['user'], array("Serge", "Max", "Jim") { header("Location: admin.php"); } header("Location: user.php"); } ?> <body> <h1>Bienvenue sur mon site</h1> <p>Je suis heureux de vous accueillir !</p> </body> </html>