User Tools

Site Tools


Problem constructing authldap
test_grila_ian2015
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
test_grila_ian2015 [2015/01/21 00:44]
Adriana Draghici [Clase interne]
test_grila_ian2015 [2015/01/21 00:53]
Adriana Draghici [Design patterns, Junit, reflection]
Line 326: Line 326:
 == Colecții și genericitate == == Colecții și genericitate ==
  
-**12. Dacă dorim să stocăm un șir de elemente fără duplicate într-o colecție fără să ne intereseze ordinea elementelor sau sortarea lor, clasa cea mai potrivită este**+**13. Dacă dorim să stocăm un șir de elemente fără duplicate într-o colecție fără să ne intereseze ordinea elementelor sau sortarea lor, clasa cea mai potrivită este**
  
   * Vector   * Vector
Line 337: Line 337:
  
  
-**4. Ce se întâmplă la rularea următorului cod:**+**14. Ce se întâmplă la rularea următorului cod:**
  
 <code java> <code java>
Line 359: Line 359:
  
  
-**19. Care dintre următoarele variante este corectă (compilează)?​**+**15. Care dintre următoarele variante este corectă (compilează)?​**
  
   * ''​ArrayList <​Person>​mylist = new ArrayList<​Student>​();''​   * ''​ArrayList <​Person>​mylist = new ArrayList<​Student>​();''​
Line 366: Line 366:
   * ''​ArrayList<​Student>​mylist = new ArrayList<​Person>​();''​   * ''​ArrayList<​Student>​mylist = new ArrayList<​Person>​();''​
  
-**Explicație**:​ Ideea cheie în această întrebare și în lucrul cu generics în general este că, de exemplu (exemplul nostru), dacă ''​Student''​ e subclasă a ''​Person'',​ atunci ''​ArrayList<​Student>''​ **nu** e subclasă a ''​ArrayList<​Person>'',​ deci atribuirea nu este corectă. Matching-ul tipului generic ​(cel dintre paranteze unghiulare) ​este făcut la compilare ​și singura variantă care trece de această verificare este varianta ​în bold. Am fi putut avea matching corect cu wildcard-uri, dar nu a fost cazul aici.+**Explicație**:​ Ideea cheie în această întrebare și în lucrul cu generics în general este că, de exemplu (exemplul nostru), dacă ''​Student''​ e subclasă a ''​Person'',​ atunci ''​ArrayList<​Student>''​ **nu** e subclasă a ''​ArrayList<​Person>'',​ deci atribuirea nu este corectă (un astfel de exemplu ​este și în [[:​laboratoare:​genericitate#​genericitatea-in-subtipuri|laboratorul de genericitate]])
  
-Pentru cultura voastră generală, citiți despre //​covarianță/​contravarianță//​ și despre //type erasure// ca să înțelegeți motivele pentru care Java se comportă astfel.+Matching-ul tipului generic (cel dintre paranteze unghiulare) este făcut la compilare și singura variantă care trece de această verificare este varianta în bold. Am fi putut avea matching corect cu wildcard-uridar nu a fost cazul aici. Pentru mai multe detalii puteți să citiți despre //​covarianță/​contravarianță//​ și despre //type erasure// ca să înțelegeți motivele pentru care Java se comportă astfel.
  
  
 == Excepții ==  == Excepții == 
  
-**5. Despre excepțiile unchecked:​**+**16. Despre excepțiile unchecked:​**
  
   * clasele lor nu pot fi extinse   * clasele lor nu pot fi extinse
Line 423: Line 423:
  
  
-== Design patterns, Junit, ​reflection ​==+== Design patterns, Junit, ​misc ==
  
-**16. Vrem să implementăm un framework de user interface. Cu ce design pattern am putea modela comportamentul de onClick -> doSomething pentru un element de tip buton oarecare?**+**18. Vrem să implementăm un framework de user interface. Cu ce design pattern am putea modela comportamentul de onClick -> doSomething pentru un element de tip buton oarecare?**
  
   * Visitor   * Visitor
Line 436: Line 436:
  
  
-**11. Care cuvânt dintre următoarele este rezervat în Java?**+**19. Care cuvânt dintre următoarele este rezervat în Java?**
  
   * method   * method
Line 449: Line 449:
  
  
-**18. Fie următorul ters JUnit funcțional. Ce se va afișa în urma execuției lui?**+**20. Fie următorul ters JUnit funcțional. Ce se va afișa în urma execuției lui?**
  
 <code java> <code java>
Line 473: Line 473:
   * **before:​test1:​after:​before:​test2:​after:​**   * **before:​test1:​after:​before:​test2:​after:​**
  
-**Explicație**:​ întrebare simplă despre funcționarea JUnit. Fiecare test în parte este precedat de rularea metodei adnotată cu Before și succedată de rularea metodei adnotată cu After.+**Explicație**:​ întrebare simplă despre funcționarea JUnit. Fiecare test în parte este precedat de rularea metodei adnotată cu ''​Before'' ​și succedată de rularea metodei adnotată cu ''​After''​.
test_grila_ian2015.txt · Last modified: 2015/01/21 00:53 by Adriana Draghici