AlterWay SolutionsLinux certification PHP

4 605 vues

Publié le

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
4 605
Sur SlideShare
0
Issues des intégrations
0
Intégrations
49
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

AlterWay SolutionsLinux certification PHP

  1. 1. La certification PHP 5 Anaska présente : Quizz d'entrainement à la certification PHP 5 2 avril 2009 ANASKA – certification PHP 1  Participez ! Prenez un bulletin de réponse
  2. 2. La certification PHP 5  Qui sommes-nous ?  Julien PAULI PHP & ZendFramework  Contributeur  Auteur   Sarah Haim AFUP : www.afup.org  PHP/Symfony + Ajax/Web Standards  PHPFrance.com  2 avril 2009 ANASKA – certification PHP 2  Participez ! Prenez un bulletin de réponse
  3. 3. La certification ? 70 questions en QCM  90 minutes  Basée sur PHP 5.1   Nombreux sujets abordés Généralités PHP  POO  HTTP et Réseau  Sécurité  XML  Services Web  Design patterns  2 avril 2009 ANASKA – certification PHP 3  Participez ! Prenez un bulletin de réponse
  4. 4. Comment s'inscrire ? L'examen se passe près de chez vous  dans les centres Pearson VUE  – http://www.vue.com  2 pièces d'identité  Aucun document autorisé Aucun accès à Internet   Une ardoise pour vos notes et calculs sur place 2 avril 2009 ANASKA – certification PHP 4  Participez ! Prenez un bulletin de réponse
  5. 5. Comment réussir ?  Stratégie : Il n'y a pas de différences entre ne pas répondre ou une  réponse fausse Certaines questions vous demandent d'écrire une réponse   Le niveau est élevé But = vérifier compétences générales du candidat  Problématiques de conception  L'environnement Web et réseau   Il existe 2 ouvrages spécialisés  Il existe des formations de préparation 2 avril 2009 ANASKA – certification PHP 5  Participez ! Prenez un bulletin de réponse
  6. 6. Configuration pour la certif  Questions indépendantes de l'OS  Connaissance générale du web nécessaire : HTTP, SQL, sécurité, cache, requêtes, protocoles ...   register_globals = off  Les erreurs sont affichées (display_error = on)  Si on ne vous dit rien : une seule réponse possible Sinon on vous indique le nombre de réponses valides  2 avril 2009 ANASKA – certification PHP 6  Participez ! Prenez un bulletin de réponse
  7. 7. Quizz  Anaska organise un Quizz de 20 questions  Participez ! Prenez un bulletin de réponse Correction par lots de 4 questions   Après le quizz, mettez vos bulletins dans l'urne Tirage au sort  Indépendant de vos réponses à ce quizz   Prêts ? 2 avril 2009 ANASKA – certification PHP 7  Participez ! Prenez un bulletin de réponse
  8. 8. Question 1 Pour s'assurer qu'un objet donné possède un ensemble de méthodes déterminées, vous devez fournir la liste de méthodes sous la forme de ___________ Puis ensuite les rattacher en tant que partie de votre classe en utilisant le mot-clef _____________ A) Une interface, implements B) Une interface, extends C) Une instance, implements D) Une liste d'entrées, instance 2 avril 2009 ANASKA – certification PHP 8  Participez ! Prenez un bulletin de réponse
  9. 9. Question 2 Avec laquelle des fonctions suivantes allez vous le plus efficacement supprimer les balises indésirables d'une entrée ? A) strip_tags() B) tidy_strip_html() C) str_replace() D) strip_html() 2 avril 2009 ANASKA – certification PHP 9  Participez ! Prenez un bulletin de réponse
  10. 10. Question 3 Comment afficher quot;correctquot; ? <?php $a = array( 1=> 'red', 'green', 'blue', 'purple' => array( 'house' => 'dog', 'food' => 'meal', 'here' => 'gone', 'hello' => array( 5 => 'goodbye', 8 => 'something', 'correct'))); A) print $a['purple'][4][3] B) print $a['purple']['hello'][9] C) print $a['purple'][2][4][3] D) print $a['purple'][2][4][9] E) print $a['purple'][4]['hello'][9] 2 avril 2009 ANASKA – certification PHP 10  Participez ! Prenez un bulletin de réponse
  11. 11. Question 4 Quel est le principal avantage du parseur XML SAX sur DOM ? A) Il n'a pas d'avantage spécial B) Il est plus rapide que DOM C) Il consomme moins de mémoire que DOM D) Il est plus facile à manipuler 2 avril 2009 ANASKA – certification PHP 11  Participez ! Prenez un bulletin de réponse
  12. 12. Corrigeons  Nous allons maintenant livrer la correction 2 avril 2009 ANASKA – certification PHP 12  Participez ! Prenez un bulletin de réponse
  13. 13. Solution Question 1 Pour s'assurer qu'un objet donné possède un ensemble de méthodes déterminées, vous devez fournir la liste de méthodes sous la forme de ___________ Puis ensuite les rattacher en tant que partie de votre classe en utilisant le mot-clef _____________ A) Une interface, implements B) Une interface, extends C) Une instance, implements D) Une liste d'entrées, instance 2 avril 2009 ANASKA – certification PHP 13  Participez ! Prenez un bulletin de réponse
  14. 14. Solution Question 2 Avec laquelle des fonctions suivantes allez-vous le plus efficacement supprimer les balises indésirables d'une entrée ? A) strip_tags() B) tidy_strip_html() C) str_replace() D) strip_html() 2 avril 2009 ANASKA – certification PHP 14  Participez ! Prenez un bulletin de réponse
  15. 15. Question 3 Comment afficher quot;correctquot; ? <?php $a = array( 1=> 'red', 'green', 'blue', 'purple' => array( 'house' => 'dog', 'food' => 'meal', 'here' => 'gone', 'hello' => array( 5 => 'goodbye', 8 => 'something', 'correct'))); A) print $a['purple'][4][3] B) print $a['purple']['hello'][9] C) print $a['purple'][2][4][3] D) print $a['purple'][2][4][9] E) print $a['purple'][4]['hello'][9] 2 avril 2009 ANASKA – certification PHP 15  Participez ! Prenez un bulletin de réponse
  16. 16. Solution Question 4 Quel est le principal avantage du parseur XML SAX sur DOM ? A) Il n'a pas d'avantage spécial B) Il est plus rapide que DOM C) Il consomme moins de mémoire que DOM D) Il est plus facile à manipuler 2 avril 2009 ANASKA – certification PHP 16  Participez ! Prenez un bulletin de réponse
  17. 17. Question 5 Quelle est la meilleure façon de compter le nombre d'apparition de chacune des occurrences dans ce tableau : $array = array(1, 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 3, 2, 2, 2); A) array_total_values() B) array_count_values() C) Une boucle foreach D) Une boucle for E) count() 2 avril 2009 ANASKA – certification PHP 17  Participez ! Prenez un bulletin de réponse
  18. 18. Question 6 Quelle est la sortie de ce script ? <?php function 1dotEach($n) { if ($n > 0) { 1dotEach(--$n); echo quot;.quot;; } else { return $n; } } 1dotEach(4); A) ...0 B) Parse Error : Syntax Error C) ..... D) .... E) ... 2 avril 2009 ANASKA – certification PHP 18  Participez ! Prenez un bulletin de réponse
  19. 19. Question 7 Quels sont les tags supportés pour l'ouverture d'un code PHP ? (4 réponses) A) <script language=quot;phpquot;> B) <! C) <% D) <?php E) <? 2 avril 2009 ANASKA – certification PHP 19  Participez ! Prenez un bulletin de réponse
  20. 20. Question 8 Quelle est la sortie de ce script ? <?php function oranges(&oranges = 17) { $oranges .= 1; } $apples = 5; $oranges($apples); echo $apples++; A) 16 B) 51 C) 15 D) 6 E) 52 2 avril 2009 ANASKA – certification PHP 20  Participez ! Prenez un bulletin de réponse
  21. 21. Corrigeons  Nous allons maintenant livrer la correction 2 avril 2009 ANASKA – certification PHP 21  Participez ! Prenez un bulletin de réponse
  22. 22. Solution Question 5 Quelle est la meilleure façon de compter le nombre d'apparition de chacune des occurrences dans ce tableau : $array = array(1, 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 3, 2, 2, 2); A) array_total_values() B) array_count_values() C) Une boucle foreach D) Une boucle for E) count() 2 avril 2009 ANASKA – certification PHP 22  Participez ! Prenez un bulletin de réponse
  23. 23. Solution Question 6 Quelle est la sortie de ce script ? <?php function 1dotEach($n) { if ($n > 0) { 1dotEach(--$n); echo quot;.quot;; } else { return $n; } } 1dotEach(4); A) ...0 B) Parse Error : Syntax Error C) ..... D) .... E) ... 2 avril 2009 ANASKA – certification PHP 23  Participez ! Prenez un bulletin de réponse
  24. 24. Solution Question 7 Quels sont les tags supportés pour l'ouverture d'un code PHP ? (4 réponses) A) <script language=quot;phpquot;> B) <! C) <% D) <?php E) <? 2 avril 2009 ANASKA – certification PHP 24  Participez ! Prenez un bulletin de réponse
  25. 25. Solution Question 8 Quelle est la sortie de ce script ? <?php function oranges(&oranges = 17) { $oranges .= 1; } $apples = 5; $oranges($apples); echo $apples++; A) 16 B) 51 C) 15 D) 6 E) 52 2 avril 2009 ANASKA – certification PHP 25  Participez ! Prenez un bulletin de réponse
  26. 26. Question 9 Pour détruire une variable dans une session PHP, qu'utiliseriez-vous ? A) unset() sur la variable dans $HTTP_SESSION_VARS B) Utiliser session_destroy() C) Utiliser session_unset() D) unset() sur la variable dans $_SESSION E) Toutes les options ci-dessus 2 avril 2009 ANASKA – certification PHP 26  Participez ! Prenez un bulletin de réponse
  27. 27. Question 10 Parmi les sources de données ci-après, lesquelles peuvent être considérées comme sécurisées ? A) $_ENV B) $_GET C) $_SERVER D) $_COOKIE E) Aucune 2 avril 2009 ANASKA – certification PHP 27  Participez ! Prenez un bulletin de réponse
  28. 28. Question 11 Quel design pattern est utilisé ici ? <?php class MyClassBuilder { public function build() { return new MyClass(); } } A) Monteur (builder) B) Fabrique (factory) C) Singleton D) Observateur (observer) E) Aucun de ceux-ci 2 avril 2009 ANASKA – certification PHP 28  Participez ! Prenez un bulletin de réponse
  29. 29. Question 12 Dériver PDO pour utiliser vos propres classes, vous impose (3 réponses) : A) D'étendre la classe PDOStatement B) D'utiliser le paramètre PDO::ATTR_STATEMENT_CLASS C) D'appeler PDO::setStatementClass() D) D'étendre la classe PDO E) D'utiliser le paramètre PDO::ATTR_USE_CLASS 2 avril 2009 ANASKA – certification PHP 29  Participez ! Prenez un bulletin de réponse
  30. 30. Corrigeons  Nous allons maintenant livrer la correction 2 avril 2009 ANASKA – certification PHP 30  Participez ! Prenez un bulletin de réponse
  31. 31. Solution Question 9 Pour détruire une variable dans une session PHP, qu'utiliseriez-vous ? A) unset() sur la variable dans $HTTP_SESSION_VARS B) Utiliser session_destroy() C) Utiliser session_unset() D) unset() sur la variable dans $_SESSION E) Toutes les options ci-dessus 2 avril 2009 ANASKA – certification PHP 31  Participez ! Prenez un bulletin de réponse
  32. 32. Solution Question 10 Parmi les sources de données ci-après, lesquelles peuvent être considérées comme sécurisées ? A) $_ENV B) $_GET C) $_SERVER D) $_COOKIE E) Aucune 2 avril 2009 ANASKA – certification PHP 32  Participez ! Prenez un bulletin de réponse
  33. 33. Solution Question 11 Quel design pattern est utilisé ici ? <?php class MyClassBuilder { public function build() { return new MyClass(); } } A) Monteur (builder) B) Fabrique (factory) C) Singleton D) Observateur (observer) E) Aucun de ceux-ci 2 avril 2009 ANASKA – certification PHP 33  Participez ! Prenez un bulletin de réponse
  34. 34. Solution Question 12 Dériver PDO pour utiliser vos propres classes, vous impose (3 réponses) : A) D'étendre la classe PDOStatement B) D'utiliser le paramètre PDO::ATTR_STATEMENT_CLASS C) D'appeler PDO::setStatementClass() D) D'étendre la classe PDO E) D'utiliser le paramètre PDO::ATTR_USE_CLASS 2 avril 2009 ANASKA – certification PHP 34  Participez ! Prenez un bulletin de réponse
  35. 35. Question 13 Soit le code PHP4 suivant : <?php If ($obj1 === $obj2) { // il se passe des choses ici } ?> Quels sont les éventuels problèmes de compatibilité que l'on aurait en PHP5 afin que ce code fasse la même chose qu'en PHP4 ? A) Ce code renvoie une erreur en PHP4 B) $obj1 et $obj2 doivent avoir les mêmes valeurs d'attributs en PHP5 C) $obj1 et $obj2 doivent représenter la même instance en PHP5 D) Il n'y a pas de problème de compatibilité 2 avril 2009 ANASKA – certification PHP 35  Participez ! Prenez un bulletin de réponse
  36. 36. Question 14 Le typage objet et le mot quot;instanceofquot; peuvent être utilisées pour vérifier quels impacts sur les variables (3 réponses)? A) Si elles sont des instances d'une classe particulière B) Si elles sont des instances d'une classe fille particulière C) Si elles représentent des classes abstraites D) Si elles sont des instances d'une classe mère particulière E) Si elles sont des instances d'une classe implémentant une interface particulière 2 avril 2009 ANASKA – certification PHP 36  Participez ! Prenez un bulletin de réponse
  37. 37. Question 15 La méthode _____________ peut être utilisée sur un objet SimpleXML pour retourner tous ses enfants ??? 2 avril 2009 ANASKA – certification PHP 37  Participez ! Prenez un bulletin de réponse
  38. 38. Question 16 Quelles valeurs de $user et $pass vont modifier la sémantique de la requête ci-après ? <?php $query = quot;UPDATE users SET password='$pass' WHERE user='$user'quot;; A) $user = foobar' WHERE user='admin'; B) $pass = foobar' WHERE user='admin' --; C) $user = foobar' WHERE user='admin'; D) $pass = quot;foobarquot; WHERE $user = quot;adminquot;; E) Aucune 2 avril 2009 ANASKA – certification PHP 38  Participez ! Prenez un bulletin de réponse
  39. 39. Corrigeons  Nous allons maintenant livrer la correction 2 avril 2009 ANASKA – certification PHP 39  Participez ! Prenez un bulletin de réponse
  40. 40. Solution Question 13 Soit le code PHP4 suivant : <?php If ($obj1 === $obj2) { // il se passe des choses ici } ?> Quels sont les éventuels problèmes de compatibilité que l'on aurait en PHP5 afin que ce code fasse la même chose qu'en PHP4 ? A) Ce code renvoie une erreur en PHP4 B) $obj1 et $obj2 doivent avoir les mêmes valeurs d'attributs en PHP5 C) $obj1 et $obj2 doivent représenter la même instance en PHP5 D) Il n'y a pas de problème de compatibilité 2 avril 2009 ANASKA – certification PHP 40  Participez ! Prenez un bulletin de réponse
  41. 41. Solution Question 14 Le typage objet et le mot quot;instanceofquot; peuvent être utilisées pour vérifier quels impacts sur les variables (3 réponses)? A) Si elles sont des instances d'une classe particulière B) Si elles sont des instances d'une classe fille particulière C) Si elles représentent des classes abstraites D) Si elles sont des instances d'une classe mère particulière E) Si elles sont des instances d'une classe implémentant une interface particulière 2 avril 2009 ANASKA – certification PHP 41  Participez ! Prenez un bulletin de réponse
  42. 42. Solution Question 15 La méthode _____________ peut être utilisée sur un objet SimpleXML pour retourner tous ses enfants children 2 avril 2009 ANASKA – certification PHP 42  Participez ! Prenez un bulletin de réponse
  43. 43. Solution Question 16 Quelles valeurs de $user et $pass vont modifier la sémantique de la requête ci-après ? <?php $query = quot;UPDATE users SET password='$pass' WHERE user='$user'quot;; A) $user = foobar' WHERE user='admin'; B) $pass=foobar' WHERE user='admin' --; C) $user = foobar' WHERE user='admin'; D) $pass = quot;foobarquot; WHERE $user = quot;adminquot;; E) Aucune 2 avril 2009 ANASKA – certification PHP 43  Participez ! Prenez un bulletin de réponse
  44. 44. Question 17 Quelle est la meilleure manière de couper une chaine selon le motif quot;-=-quot;; ? A) str_split($string, strpos($string, quot;-=-quot;)) B) preg_split(quot;-=-quot;, $string) C) explode(quot;-=-quot;, $string) D) Elles sont toutes égales 2 avril 2009 ANASKA – certification PHP 44  Participez ! Prenez un bulletin de réponse
  45. 45. Question 18 Dans une application à haute charge, SQLite pourrait être utile pour quels types de tâches ? A) Toute tâche B) SQLite ne devrait pas être utilisé en environnement à forte charge C) SQLite ne devrait être utilisé que pour des bases en mémoire D) Pour la gestion des sessions E) Pour des opérations de lecture uniquement 2 avril 2009 ANASKA – certification PHP 45  Participez ! Prenez un bulletin de réponse
  46. 46. Question 19 Quelle est la meilleure technique pour se prémunir des problèmes de sécurité quot;requêtes inter-sitesquot; (CSRF Cross Site Request Forgeries) ? A) Interdire les requête depuis des hôtes externes B) Ajouter un jeton secret à tous les formulaires C) Mettre à off allow_url_fopen dans php.ini D) Filtrer toutes les sorties E) Filtrer toutes les entrées 2 avril 2009 ANASKA – certification PHP 46  Participez ! Prenez un bulletin de réponse
  47. 47. Question 20 Par quoi remplacer les ?????? pour créer un fichier foo.gz compressé par Zlib avec un niveau de compression 9 ? <?php $file = '??????????'; $fr = fopen($file, 'wb9'); fwrite($fr, $data); fclose($fr); ?> A) gzip://foo.gz?level=9 B) compress.zip://foo.gz?level=9 C) compress.zlib://foo.gz D) compress.gzip://foo.gz?level=9 E) zlib://foo.gz 2 avril 2009 ANASKA – certification PHP 47  Participez ! Prenez un bulletin de réponse
  48. 48. Corrigeons  Nous allons maintenant livrer la correction 2 avril 2009 ANASKA – certification PHP 48  Participez ! Prenez un bulletin de réponse
  49. 49. Solution Question 17 Quelle est la meilleure manière de couper une chaine selon le motif quot;-=-quot;; ? A) str_split($string, strpos($string, quot;-=-quot;)) B) preg_split(quot;-=-quot;, $string) C) explode(quot;-=-quot;, $string) D) Elles sont toutes égales 2 avril 2009 ANASKA – certification PHP 49  Participez ! Prenez un bulletin de réponse
  50. 50. Solution Question 18 Dans une application à haute charge, SQLite pourrait être utile pour quels types de tâches ? A) Toute tâche B) SQLite ne devrait pas être utilisé en environnement à forte charge C) SQLite ne devrait être utilisé que pour des bases en mémoire D) Pour la gestion des sessions E) Pour des opérations de lecture uniquement 2 avril 2009 ANASKA – certification PHP 50  Participez ! Prenez un bulletin de réponse
  51. 51. Solution Question 19 Quelle est la meilleure technique pour se prémunir des problèmes de sécurité quot;requêtes inter-sitesquot; (CSRF Cross Site Request Forgeries) ? A) Interdire les requête depuis des hôtes externes B) Ajouter un jeton secret à tous les formulaires C) Mettre à off allow_url_fopen dans php.ini D) Filtrer toutes les sorties E) Filtrer toutes les entrées 2 avril 2009 ANASKA – certification PHP 51  Participez ! Prenez un bulletin de réponse
  52. 52. Solution Question 20 Par quoi remplacer les ?????? pour créer un fichier foo.gz compressé par Zlib avec un niveau de compression 9 ? <?php $file = '??????????'; $fr = fopen($file, 'wb9'); fwrite($fr, $data); fclose($fr); ?> A) gzip://foo.gz?level=9 B) compress.zip://foo.gz?level=9 C) compress.zlib://foo.gz D) compress.gzip://foo.gz?level=9 E) zlib://foo.gz 2 avril 2009 ANASKA – certification PHP 52  Participez ! Prenez un bulletin de réponse
  53. 53. Certification PHP : Conclusions  Niveau élevé  Personnes ayant déjà une expérience web PHP, mais aussi réseau et Web général  Moitié pratique / Moitié théorique   Rassure le recruteur que le candidat Sera capable de s'adapter à n'importe quel type de projet  PHP  Anaska assure des formations certification 2 avril 2009 ANASKA – certification PHP 53  Participez ! Prenez un bulletin de réponse

×