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;
}
  1. Ambele câmpuri să fie final
  2. Să avem doar metode de tip getter pentru câmpuri
  3. Să avem metode de tip getter și setter pentru câmpuri
  4. În getter-ul pentru grades, trebuie să întoarcem o copie a obiectului grades
  5. În getter-ul pentru grades, putem să întoarcem pur și simplu grades

2. Care dintre afirmațiile de mai jos sunt adevărate?

  1. Într-un Set putem avea duplicate
  2. În LinkedHashMap se păstrează ordinea de inserție a elementelor
  3. Interfața Map extinde interfața Collection
  4. În TreeSet nu se păstrează ordinea de inserție a elementelor

3. Care dintre următoarele afirmații despre clase abstracte în Java sunt false:

  1. Dacă derivăm o clasă abstractă și nu implementăm toate metodele abstracte, atunci clasă derivată trebuie de asemenea să fie abstractă
  2. Clasele abstracte pot avea constructori
  3. O clasă nu poate fi abstractă fără o metodă abstractă
  4. 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?

  1. O clasă poate moșteni în același timp mai multe clase abstracte
  2. O interfață poate moșteni mai multe interfețe în același timp
  3. O interfață poate moșteni o clasă abstractă care are doar metode abstracte
  4. O clasă poate implementa mai multe interfețe în același timp

5. Care dintre următoarele afirmații e corectă?

6. Care dintre următoarele variante nu are legătură cu încapsularea?

7. Care este outputul următorului program?

8. Care instanțiere este corectă?

9. Ce design pattern face ușoară separarea operațiilor de obiectele pe care se execută operațiile respective?

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?

11. Ce fel de Singleton este această secvență de cod?

12. Ce metode pot fi accesate din clasa MyTest?

13. Ce reprezintă o metodă default în cadrul unei interfețe?

14. Ce se afișează la rularea acestui cod?

15. Ce se va afișa la execuția codului de mai jos?

16. Ce tip de clasă reprezintă următoarea implementare?

Predicate<Integer> check = x -> x % 2 == 0;

17. Ce va afișa programul?

18. Identificați pe care linii avem suprascriere (overriding) și pe care avem supraincărcare (overloading) corecte, fără erori de compilare:

19. În ce zonă de memorie sunt stocate obiectele?

20. Pentru ce folosim map() pe colecții și pe arrays în Java?