Epreuve Professonnelle Cadre Supéreur en Etude et Développement nformatque L7lLLl2Ot3 Consanes Cette épreuve comporte des questons théorques et pratques dont la nature est de deux types:..'. les questons à réponse drecte: dans ce cas, le canddat dot donner une soluton ou - compléter une proposée. {. les questons à pluseurs propostons dont lesquelles le canddat dot chosr une ou pluseurs bonnes réponses. S le canddat dot raturer une crox, l dot le fare correçtement afn qu'l n'y at aucune ambgulé. Page 1
Parte : Concepton Queston 1. En trgonométre, on a beson de calculer le snus, le cosnus, la tangente des angles et la valeur du nombre P. La classe Angle exste déjà. Proposez une structure qu regroupe ces fonctons. Queston 2. Une personne peut être abonnée à pluseurs magaznes. Un magazne peut avor de nombreux abonnés. Pour chaque abonnement, l est mportant de connatre la date et le montant de chaque règlement ans que la date d'expraton de 'abonnement. Laquelle des 2 conceptons suvantes vous semble la melleure? j-;;-; -,--;-*'--;---*'----* tr Schéma A SchémaB - - clgëç Schsw  ç155 Sêhffù B ÈchÈmà  Sr*rme F Jlh*lrr@! gtlègx*rrjtr Sbûfrnsfr el ontt ç \9'rô1': n R 9lwot m*t$t1 *ù{l*m*n{ Ë*$l*f! Page 2
Queston 3. Une banque gère de nombreux comptes. Un compte appartent à une seule banque. Un numéro de compte permet d'dentfer un compte unque dans une banque donnée. Un numéro de compte est relatf à une banque. ndquez la multplcté selon que 'assocaton sot chr* tunque lpn &udhlae rlss F FEw {f,s*a{ Rsrq!* é"#csrs* N$r r:çerltèe âàqr$'rk+rs;r â*8,ltàê, 8aeæ -rmarctecorçre Queston 4, Les chaînes de caractères du langage C sont codées comme un tableau de caractères non nuls, termné par un caractère '\0'. Par exemple, la chaîne s:"hello!" est codée comme sut : s[0] s[1] s[2] s[3] s[4] s[5] s[6] th' 'e' '1' 'l' 'o' 'l' '\0t Décrvez une actvté mplémentant la foncton strlen, qu prend en entrée un tableau de caractères et rend un enter correspondant à la talle de la chaîne. Exemple : strlen("hello!":6. a------------- Parte : Développement Queston 5. Dans le modèle MVC, Hbernate correspond à la couche!c NM NV n Aucune Queston 6. Quel est le scope par défaut d'un bean Sprng? n sesson n sngleton prototype n request Page 3
Queston 7, Quelle mplémentaton de Map dot-on utlser s on veut garder l'ordre d'nserton des clés?! HashMao TreeTable n HashTable n LnkedHashMap Queston 8. Pourquo appelle*t-on Sprng un conteneur léger en opposton avec EJB n pour la talle des jars rédute! la fable charge de développement nécessare n la possblté de déployer une applcaton sur un conteneur de servlet (comme tomcat Qaeston 9. Quelle est une utlsaton typque des méthodes ejbselect0? n Utlser les méthodes ejbselect0 dans des "sesson beans" pour détermner les crtères de sélecton pour une lste n Utlser les méthodes ejbselect0 dans les méthodes ejbhome afn de renvoyer des "entty beans" n Utlser des méthodes ejbselect0 afn d'accéder à des champs d'une nstance d'un bean n Utlser des méthodes ejbselectq pour exécuter des opératons qu ne sont pas spécfques à une nstance d'un "enttv bean" Queston 10, Le "EJB Query Language" est utlsé! pour compléter le standard SQL96 avec des optons supplémentares pour les relatons complexes n à la place de la méthode fndbyprmarykey0, pour défnr des crtères de sélecton alternatfs n pour spécfer une mplémentaton concrète pour les méthodes "fnd" et "select" des "'CMP entty beans" n pour pouvor utlser les types de données défns par les utlsateurs ou les procédures stockées dans une base de données Queston ll. Un Mddleware est : n dans les archtectures web, un framework, comme eclpse, d'ade au développement, à la mse au pont et au déploement des logcels basés sur une archtecture réparte n dans une archtecture clent-serveur, une couche logcelle, utlsée par le clent et le serveur pour communquer par exemple par envo/récepton de message n dans une archtecture réparte, un ORB (Object Request Broker assurant la communcaton entre les dfférentes enttés du réseau Page 4
Queston 12. Pour la concepton d'une archtecture logcelle ntranet, la technologe CORBA n'est pas ben adaptée n Ou n Non Queston 13. Les composants d'un ORB (Object Request broker sont : Une nterface Java,la classe UncastRemoteObject, la classe LocateRegstry n Eclpse, JDK, Apache n Une AP (fonctons de base de 'ORB, un servce de nommage, un complateur DL Queston 14. En RM de Java, n la classe d'appartenance d'un objet dstrbué, hérte de UncastRemoteObject et mplémente une nterface qu décrt les méthodes dstantes n la classe d'appartenance d'un objet dstrbué, hérte de RemoteObject et mplémente 'nterface Remote Queston 15. CORBA (Common Object Request Broker Archtecture est une norme de Mddleware N OU N NON Queston 16, Un Desgn Pattern (DP ou Patron est une nortne de descrpton des nterfaces entre les composants d'une archtecture logcelle orentée objet N OU N NON Queston 17. Un DP défnt des prncpes de concepton, et non des mplémentatons spécfques de ces prncpes! OU! NON Queston 18. Quelle affrmaton est vrae à propos des fchers.class? n Un fcher.class n'est pas un fcher géré par java n Un f,rcher.class content du bnare ndépendant de la plateforme! Un fcher.class content du code assemblé plateforme dépendant n Un fcher.class content le code source q Page 5
Queston 19. Quelle affrmaton est fausse à propos des nterfaces? n Une classe peut mplémenter pluseurs nterfaces n Une nterface peut contenr des déclaratons de méthodes et de constantes n Une varable peut être déclarée du type d'une nterface : Monlnterface m ; n Une nterface peut contenr des déclaratons de méthodes statc et non statc Queston 20. Quelle affrmaton est fausse à propos des classes abstrates? n Une classe peut étendre pluseurs classes abstrates n Une classe abstrate est défne grâce au mot réservé abstract n Une varable peut être du type d'une classe abstrate n Une classe abstrate peut mplémenter des méthodes Queston 21, Quelle affrmaton est fausse à propos du Garbage Collector Le programmeur peut demander le lancement du Garbage Collector n Une nstance d'un objet est élgble pour le Garbage Collector quand plus personne ne le référence n Le Garbage Collector évte automatquement toute perte de mémore n Le Garbage Collector démarre automatquement quand l décde que c'est le bon moment Queston 22. 'tc.qq -- -: publc class A{ t] pubtc class B exèends À{ publc statc vod man(strng[] args{ B anobject=new BOt Boolean o1 = (anobjecè nsbanceof A; Boolean o2 = (anobject nstanceof B; Boolean o3 = (anobject nstanceof Object; Quels booléens ont comme valeur true? Seul 02 a comme valeur true n o 1, o2 et o3 ont comme valeur true n Seuls o1 et o2 ont comme valeur true n Seuls o2 et o3 ont comme valeur true Queston 23, Ca? ---- publc statc vod man(strnglj args{ nt ; for(=0;<10;++ { Page 6
t45;;+ { *=3t l+--. System. out.prntln ( "="a11 ; Quelle est la valeur affchée de? n :l1! :10 [] :9 a :12 publc class Pont{ prvate rrt mx=1 prvate nt my=1; publc eont O { publc vod dumpo{ system. out.prntln ( ttx=t +mx+t!, y=tt+my publc statc vod man(strng[] args{ Pont p; p.dumpo; r] Quel est le résultat obtenu s vous complez et exécutez ce code? x:0, y:0 Erreur à la complaton E x:1, y:l! Null Ponter Excepton à l'exécuton Queston 25, Code f------- pubtc class Pont{ prvate statc Pont centerpont = new pont O; prvate nt mx=o.. prvate nt my=o; publc Ponu O { PageT
; pùu-ïô-eo'r -àï-,- -;r -t t j mx=x ; *y=y ; j centerpont = new pont O publc statc vod man(srrng[] args{ Pont p1 = new Pont (l,l Pont P2 = new Pont (2,2; L- -_- - Comben a'nsànôes aé ;cla;;. ponfônîeéèr - n 2 nstances! 4 nstances n 5 nstances n 3 nstances Queston 26. Ço-4s-----tpackage test; publc class a{ j Protected nt mx=0 j prvate nt my=o; L - -_-_- Quelle ârnrmâton esa ;rr,; ï- n mx et my sont accessbles par les sous classes de A n mx est accessble par toutes les classes et my est accessble que pat laclasse A n mx est accessble par les classes du package test et my est accessble par les sous classes de A n mx est accessble des sous classes de A et my n'est accessble que par la classe A Queston 27. Code _,t package test; publc class À{ nt mx=0; Quelle arnàâtdn ejt;ê t n mx est accessble par toutes les classes du package test! mx est accessble par toutes les classes n mx est accessble par n'mporte quelle sous classe de A Page 8
Queston 28. cq j publc class Test{ prvate nt mx=o; prvate statc nt my=q; protected nt mz=o publc statc class À{ j publc vod ncrease O { my++t j nublc statc class B{ _ publc vod ncrease O { mx++; lr J publc etatc class C{ publc vod ncrease O { mz++ r.._._._.._ Cô-6én obtent-ônd;dd;dtômpaton ànec ce cooe r! 3 erreurs de complaton [ 2 erreurs de complaton! 4 erreurs de complaton! 1 erreur de complaton Queston 29. publc sèatc vod man(strng[] args{ rry{ nt, toto=l/o; catch ( java. lang.nullponterexcepton e1 { System. out.prnè ( unullponter Excepton, n return caèch ( java. lang.arthmetcexcepton e1 { System.out.prnt (rrarthmetc Excepton, " return fnally{ System.out.prnt (rrfnally Clause, " Quel est le résultat en sorte standard? [J Arthmetc Excepton, Page 9
n NullPonter Excepton, Fnally Clause, n Fnally Clause, n Arthmetc Excepton, Fnally Clause, Queston 30. publc sèatc vod man(sèrngj args { fnal Thread secondthread = new ThreadO { publc vod runo{ for(nè =0;<3;++ { System. out. prnt (t 2" t ; fnal Thread fretthread = new threado { publc vos runo { secondthread. start O ; rry{ secondthread. jon ( ; catch( java. lang. nterrupteexcepton e { for(nè =0;<3;++ { System.out.prnÈ ("1 " ' ; frstthread. start ( ; n11r222 n222 r l1 n Résultat aléatore en sorte standard J2t2r2r Queston 31, t Code publc statc class TestThread{ l/uerrç prvate long v1=0; prvate long v2=0; prvate Object lockl = new Object O ; prvate Object lock2 = new Object O ; publc long 9etv1 O { eynchronzed (1ock1 { return v1 publc long getv2 O { qyqc-4-rer L?-q 9! l-g-q? l- {- _- t Page 10
return v2 publc vod ncvlv2 O { synchronzed (1ock1 { synchronzed (1ock2 { v1++ v2++ publc vod mulvlv2 (nt mult { synchronzed (1ock2 { synchronzed (1ockl { vl-*=mult v2 *=mult Dans un contexte mult-thread, quelle est l'affrmaton vrae? Cette classe peut provoquer un blocage : < dead lock > Les varables v etv2 ne peuvent pas être lues en même temps par deux threads n La varable v1 peut être modfée par deux threads en même temps n l manque des catch sur les expressons de type ntemrptedexcepton Queston 32. Ca----- publc statc boolean checkarray(objectll 1sÈ, Object o{ j fnal nt len = lst.length; for(nt =0;<len;++ { r trst 1. equars (o { return true return false; 1 ] nublc staèc boolean checkvector(vector lsè, object o{ fnal nt len = lst.szeo; j for(nt =0;<en;++ { f (1sÈ. get (. equals (o { return true return fatse; t publc statc boolean checkàrraylst(àrraylst lst, Objeet o{ l fnal nt Len = lst.szeo; ] Page 11
;;nt -=ol.rë;;;t { f (1st. get (.equals (o { return true; return false; Quelle est l'affrmaton exacte? [J Généralement, checkarraylst0 est la méthode la plus rapde et checkarray0 la plus lente n Généralement, checkarrayq est la méthode la plus rapde et checkarraylst0 la plus lente! Généralement, checkarray0 est la méthode la plus rapde et checkvectorq la plus lente n Généralement, checkvector0 est la méthode la plus rapde et checkarray0 la plus lente Qaeston 33. C;qs <fptrp echo htmlspecalchars (gnom ;?> l-.-.-._.-.--_- Quelle est 'utlté de la foncton htmlspecarchars (? Cette foncton permet d'enlever les possbles caractères ant-slash de la strng n Cefte foncton encode les caractères spécaux HTML afn d'évter toutes njecton de balse (x- HrML n Cette foncton permet d'nterpréter les varables contenues par la chane $nom n Cette foncton permet un affchage correct des caractères étrangers quelle que sot la langue du navgateur utlsé Queston 34. cqs -- -- - - - - <form name=rnomformularer acton=r tratement..phpr method=rpost' > <nput name=rnomr type=rtext' aze=so><br> <nput name='got tlpe='submt' value=tnscrpèon' ><br> ::"ll: Comment récupérer la varable nom dans le hcher tratement.php? tr On peut récupérer la valeur de nom par un appel à $_GET['nom'] ou à $_POST['nom']! On peut récupérer la valeur de nom par un appel à $_GET['nom'] ou à $_REQUEST['nom'] tr On peut récupérer la valeur de nom par un appel à $*REQUEST['nom'] n On peut récupérer la valeur de nom par un appel à $_POST['nom'] ou à $_REQUEST['nom'] Queston 35. Ca ----- - $ste='emplo.ma '1 //exeresson 1 echo u3000 offres l. /."-l-p-' çr-r--ql - 1 - d'emplo en nformaèque et élecèronque sur $ste'r ; r Page LZ
éérrë- ;enn,'à-rë-dj'r'àbô- è'rïèprëéj'ëo--'rïôm-ae.quë-;uj. çsrà -r- - - - - -'- - / /expcesson 3 echo '3OOO offres d'emplo en nformat,gue et électronque sur $ste' ;-l / /expresson 4 echo 'Ànnuare de 1200 entreprses en nformatçlue surt.$ste t Quelle expresson ne va pas affcher emplo n L'expresson 2 L'expresson 3 L'expresson 4 n L'expresson 1,ma dans la phrase? Queston 36, ë;;---- $sèe= 'recrutement. org t / /expresson 1 echo rt$st.e : Annuare des cabnets de recrutement " / /ez<eresson 2 echo $ste. r: Ànnuare des cabnets de recrutement, ' - - - - a;el1;;*t.é'onf.*é.îeë tu p;;! '"pdê.éntï- Cela va dépendre de la verson de l'nterpréteur PHP! L'expresson 2 est exécutée la plus rapdement n L'expresson 1 est exécutée la plus rapdement Les expressons 1 et 2 sont exécutées à la même vtesse Queston 37..ôà'----- t"-'---------- //wote : ]e serveur a le magc_quoëes_gpc à on / /on cherche à fare une requêee sql à 1. for correcte et sécursée / /"*pr""son 1 $myvarable=strpslashes (S_POST ['myvarab]-e' t $querysprntf (trnsert NTo producès ('namer values (t%s' ", Mysql_real_escape_etrng ( $myvarable, $1nk ; / / et<presson 2 $myvarabls= $*POST [ 'myvarab]e ' ; $query-sprntf (UNSERT NfO products ('namer VALUES ('%s' u, $myvarable ; / /expresson 3 $myvarable=strpslashes ( $_POST [ 'myvarable ' ] $query=sprnef (trnsert }o products ( tnamet VALUES ('%s' 1 u, Àddslashes (gmyvarable ; / /expresson 4 $myvarable= $_PoST [,myvarable ' J $queryeprntf (trnsert NTo products ('namet VÀLUES ('%s' u, Mysql_real_e s cape_e trng ( $myvar ab 1 e, $ nk ; Page 13
Quelle expresson faut-l prvléger pour construre une requête SQL juste et sécursée? n L'expresson 4! L'expresson 1 n L'expresson 2 L'expresson 3 Queston 38. / /DêftL Eon de foncton no 1 functon addtonne ($b { ga=ga+gb ; / /OêfnLton de foncton no2 functon addtonne ($b { statc $a ; $a=$a+$b ; / /Oêfnton de foncton no3 functon addtonne ($b { global $a, $b ; ga=ga+gb ; / /DêEnLon de foncton no4 functon addtonne ($b { globa1 $a ; ga=ga+gb ; <?php / / eode utlsant a foncton $a=1-; addtonne(2; echo $a;?> qùele-aeïrntrr-aî Ë foncton addtonne(2? n Défnton 4 n Défnton 3 n Défnton 1 n Défnton 3 Page 14
array_pop($tableau ; array_ehft ($tableau ; for ($=0; $ccounè ($tableau1 ; $++ { echo $tableau [$]. ' ' ; t\ tl at a;a ôjl; é;r-ltut a; 'odjô-o.'*? n Ce code donne comme affchage : 0 2 3 n Ce code donne comme affchage :4 3 2 n Ce code donne comme affchage :2 3 0 n Ce code donne comme affchage :2 3 4 Queston 40, <?php class classa{ var $=0 functon classa($value { $the=$value; functon affchero { echo $thsà. " ; class classb extends classa{ var $j=9; functon c1assb ($valuel, $value2 { $ths=$valuel; $thsà j=$va1ue2; functon affchero { echo $theà.1 '.$thsj.' ' $objl=new classa(1; $obj2=new classb (2,5 ; echo $objl-af f cher O ; echo $obj2àaf fchero;?> [J Ce code donne comme affchage : 1 1 tr Ce code donne comme'affrchage :0 2 3 n Ce code donne comme affchage : 2 3 n L'hértage est nterdt en PHP, ce code génère une erreur Page 15