This is an old revision of the document!
Test grilă ianuarie 2021
1. Având în vedere codul de mai jos, care dintre afirmațiile de mai jos sunt adevărate în ceea ce privește conceptul de imutabilitate aplicat în cazul clasei Student?
class Student {
long id;
List<Double> grades;
}
Ambele câmpuri să fie final
Să avem doar metode de tip getter pentru câmpuri
Să avem metode de tip getter și setter pentru câmpuri
În getter-ul pentru grades, trebuie să întoarcem o copie a obiectului grades
În getter-ul pentru grades, putem să întoarcem pur și simplu grades
toate
1, 2, 4
1, 2, 5
1, 3, 5
2. Care dintre afirmațiile de mai jos sunt adevărate?
Într-un Set putem avea duplicate
În LinkedHashMap se păstrează ordinea de inserție a elementelor
Interfața Map extinde interfața Collection
În TreeSet nu se păstrează ordinea de inserție a elementelor
toate
2 și 4
1, 2, 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
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?
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?
Singleton cu inițializare eager
Singleton cu inițializare lazy
nu avem Singleton aici
Singleton cu inițializare în blocuri statice