This shows you the differences between two versions of the page.
|
poo-ca-cd:test:test_2021 [2022/01/22 12:15] florin.mihalache created |
poo-ca-cd:test:test_2021 [2022/01/22 12:52] (current) florin.mihalache |
||
|---|---|---|---|
| Line 32: | Line 32: | ||
| * 1, 2, 3 | * 1, 2, 3 | ||
| * 1, 3 | * 1, 3 | ||
| + | |||
| + | **3.** Care dintre următoarele afirmații despre clase abstracte în Java sunt **false**: | ||
| + | - Dacă derivăm o clasă abstractă și nu implementăm toate metodele abstracte, atunci clasă derivată trebuie de asemenea să fie abstractă | ||
| + | - Clasele abstracte pot avea constructori | ||
| + | - O clasă nu poate fi abstractă fără o metodă abstractă | ||
| + | - O clasă abstractă poate moșteni de la mai multe clase abstracte | ||
| + | |||
| + | * 1, 2 | ||
| + | * 1, 3 | ||
| + | * **3, 4** | ||
| + | * 1, 3, 4 | ||
| + | |||
| + | **4.** Care dintre următoarele afirmații despre interfețe și clase abstracte sunt **adevărate**? | ||
| + | - O clasă poate moșteni în același timp mai multe clase abstracte | ||
| + | - O interfață poate moșteni mai multe interfețe în același timp | ||
| + | - O interfață poate moșteni o clasă abstractă care are doar metode abstracte | ||
| + | - O clasă poate implementa mai multe interfețe în același timp | ||
| + | |||
| + | * 1, 2, 3 | ||
| + | * **2, 4** | ||
| + | * 1, 2, 3, 4 | ||
| + | * 2, 3, 4 | ||
| + | |||
| + | **5.** Care dintre următoarele afirmații e **corectă**? | ||
| + | * Cuvântul final în fața unei metode arată faptul că acea metodă poate fi apelată doar în clasa respectivă | ||
| + | * Cuvântul final în fața unei clase înseamnă că nu poate fi instanțiată | ||
| + | * **Cuvântul final în fața unei variabile arată că acea variabilă poate fi asignată o singură dată** | ||
| + | * Cuvântul final în fața unei variabile arată că acea variabilă nu poate fi moștenită | ||
| + | |||
| + | **6.** Care dintre următoarele variante **nu** are legătură cu încapsularea? | ||
| + | * expunerea unei interfețe de lucru cu obiectul | ||
| + | * accesul la membri privați folosind metode de tip getter și setter | ||
| + | * construirea de obiecte complexe și ascunderea modului lor de funcționare | ||
| + | * **posibilitatea suprascrierii (overriding) metodelor** | ||
| + | |||
| + | **7.** Care este outputul următorului program? | ||
| + | |||
| + | {{:poo-ca-cd:test:problema4.png?500|}} | ||
| + | |||
| + | * Old shininess: 0 | New shininess: 10 | ||
| + | * **Old shininess: 0 | New shininess: 0** | ||
| + | * Old shininess: null | New shininess: 0 | ||
| + | * Old shininess: null | New shininess: 10 | ||
| + | |||
| + | **8.** Care instanțiere este corectă? | ||
| + | * List<Integer> list = new ArrayList<Object>(); | ||
| + | * ArrayList<Integer> list = new List<Integer>(); | ||
| + | * **List<Integer> list = new ArrayList<Integer>();** | ||
| + | * ArrayList<Object> list = new ArrayList<Integer>(); | ||
| + | |||
| + | **9.** Ce design pattern face ușoară separarea operațiilor de obiectele pe care se execută operațiile respective? | ||
| + | * Builder Pattern | ||
| + | * **Visitor Pattern** | ||
| + | * Factory Pattern | ||
| + | * Observer Pattern | ||
| + | |||
| + | **10.** Ce design pattern trebuie să folosim în caz că dorim ca un client să nu aibă rol în crearea unui entități după o preferință de a sa? | ||
| + | * Singleton Pattern | ||
| + | * **Factory Pattern** | ||
| + | * Builder Pattern | ||
| + | * Observer Pattern | ||
| + | |||
| + | **11.** Ce fel de Singleton este această secvență de cod? | ||
| + | |||
| + | {{:poo-ca-cd:test:problema14.png?400|}} | ||
| + | |||
| + | * Singleton cu inițializare eager | ||
| + | * **Singleton cu inițializare lazy** | ||
| + | * nu avem Singleton aici | ||
| + | * Singleton cu inițializare în blocuri statice | ||
| + | |||
| + | **12.** Ce metode pot fi accesate din clasa MyTest? | ||
| + | |||
| + | {{:poo-ca-cd:test:problem1.png?300|}} | ||
| + | |||
| + | * execute1, execute2 din Test, execute2 din MyTest | ||
| + | * execute1, execute2 din Test, execute3, execute2 din MyTest | ||
| + | * **execute2 din Test, execute2 din MyTest** | ||
| + | * execute2 din MyTest | ||
| + | |||
| + | **13.** Ce reprezintă o metodă default în cadrul unei interfețe? | ||
| + | * o metodă abstractă | ||
| + | * **o metodă non-statică care este deja implementată într-o interfață** | ||
| + | * o metodă statică implementată într-o interfață | ||
| + | * nu putem avea metode default într-o interfață | ||
| + | |||
| + | **14.** Ce se afișează la rularea acestui cod? | ||
| + | |||
| + | {{:poo-ca-cd:test:problema17.png?400|}} | ||
| + | |||
| + | * **Opening document Cannot open csv** | ||
| + | |||
| + | * Adobe is opening pdf Cannot open csv | ||
| + | |||
| + | * Adobe is opening pdf Opening csv | ||
| + | |||
| + | * Opening document Opening csv | ||
| + | |||
| + | **15.** Ce se va afișa la execuția codului de mai jos? | ||
| + | |||
| + | {{:poo-ca-cd:test:problema10.png?400|}} | ||
| + | |||
| + | * BCA | ||
| + | * **ACB** | ||
| + | * ADB | ||
| + | * BDA | ||
| + | |||
| + | **16.** Ce tip de clasă reprezintă următoarea implementare? | ||
| + | <code java> | ||
| + | Predicate<Integer> check = x -> x % 2 == 0; | ||
| + | </code> | ||
| + | * clasă locală | ||
| + | * **clasă anonimă** | ||
| + | * clasă nested non-statică | ||
| + | * clasă nested statică | ||
| + | |||
| + | **17.** Ce va afișa programul? | ||
| + | |||
| + | {{:poo-ca-cd:test:problema20.png?400|}} | ||
| + | |||
| + | * goodluck:goodluckluck | ||
| + | * goodluck:goodgoodluck | ||
| + | * **goodluck:goodluck** | ||
| + | * goodluck:luckgoodluck | ||
| + | |||
| + | **18.** Identificați pe care linii avem suprascriere (overriding) și pe care avem supraincărcare (overloading) corecte, fără erori de compilare: | ||
| + | |||
| + | {{:poo-ca-cd:test:problema5.png?400|}} | ||
| + | |||
| + | * Suprascriere: 1, Supraincărcare: 3, 4 | ||
| + | * **Suprascriere: 1, 2, Supraincărcare: 3,4** | ||
| + | * Suprascriere: 3, 4, Supraincărcare: 1, 2 | ||
| + | * Suprascriere: 3, 4, Supraincărcare: 1 | ||
| + | |||
| + | **19.** În ce zonă de memorie sunt stocate obiectele? | ||
| + | * pe stivă | ||
| + | * **pe heap** | ||
| + | * în memoria cache | ||
| + | * memoria externă | ||
| + | |||
| + | **20.** Pentru ce folosim ''map()'' pe colecții și pe arrays în Java? | ||
| + | * pentru a selecta elementele dintr-o colecție / dintr-un array care respectă o condiție reprezentată de funcția lambda dată că parametru | ||
| + | * **pentru a aplica o operație pe fiecare element din cadrul colecției sau al array-ului, operație reprezentată de funcția lambda dată că parametru** | ||
| + | * pentru a reduce elementele unei colecții / unui array la un singur element prin operația reprezentată de funcția lambda dată că parametru | ||
| + | * pentru a crea o nouă copie a colecției / al array-ului | ||