Skip to content

Odpowiedzi egzamin - zestaw B

Poprawne odpowiedzi zaznaczono pogrubieniem.

1. Który interfejs funkcyjny nie przyjmuje argumentów, ale zwraca wartość?

  • (a) Supplier<T>
  • (b) Predicate<T>
  • (c) Consumer<T>
  • (d) Function<T, R>

2. Który interfejs funkcyjny przyjmuje argument i zwraca wartość typu boolean?

  • (a) Consumer<T>
  • (b) Supplier<T>
  • (c) Predicate<T>
  • (d) UnaryOperator<T>

3. Czym jest boilerplate code?

  • (a) Kod generowany automatycznie przez kompilator.
  • (b) Kod służący wyłącznie do testowania aplikacji.
  • (c) Kod niewnoszący istotnej funkcjonalności, ale wymagany do działania programu.
  • (d) Kod odpowiedzialny za obsługę wyjątków.

4. Czym jest wyrażenie lambda w języku Java?

  • (a) Specjalnym rodzajem klasy abstrakcyjnej.
  • (b) Skróconą formą anonimowej klasy implementującej interfejs funkcyjny.
  • (c) Mechanizmem zarządzania pamięcią.
  • (d) Sposobem definiowania wyjątków.

5. Jaka jest główna rola adnotacji @FunctionalInterface?

  • (a) Przyspiesza wykonanie programu.
  • (b) Wymusza implementację wszystkich metod domyślnych.
  • (c) Pozwala kompilatorowi sprawdzić poprawność interfejsu funkcyjnego.
  • (d) Umożliwia tworzenie strumieni danych.

6. Które stwierdzenie najlepiej opisuje programowanie funkcyjne?

  • (a) Najważniejszym elementem są klasy i obiekty.
  • (b) Funkcje mogą przyjmować inne funkcje jako argumenty oraz je zwracać.
  • (c) Program składa się wyłącznie z procedur.
  • (d) Nie wykorzystuje funkcji.

7. Która kolekcja nie dopuszcza duplikatów elementów?

  • (a) ArrayList
  • (b) LinkedList
  • (c) HashSet
  • (d) Vector

8. (Możliwych wiele poprawnych odpowiedzi) Które stwierdzenia dotyczą klasy LinkedList?

  • (a) Jest implementowana jako lista dwukierunkowa.
  • (b) Operacje dodawania i usuwania elementów są zwykle szybsze niż w ArrayList.
  • (c) Dostęp losowy do elementów jest zwykle szybszy niż w ArrayList.
  • (d) Implementuje interfejs List.

9. Jaka jest główna zaleta struktur HashSet oraz HashMap?

  • (a) Synchronizacja wielowątkowa.
  • (b) Szybkie wyszukiwanie danych.
  • (c) Zachowanie kolejności dodawania elementów.
  • (d) Możliwość przechowywania typów prymitywnych.

10. Z jakich elementów składa się pipeline strumienia?

  • (a) Źródło danych, operacje pośrednie, operacja końcowa.
  • (b) Klasa, interfejs, obiekt.
  • (c) Konstruktor, metoda, destruktor.
  • (d) Kolekcja, iterator, wyjątek.

11. Jakie jest główne przeznaczenie Stream API?

  • (a) Obsługa plików wejścia/wyjścia.
  • (b) Programowanie interfejsów graficznych.
  • (c) Funkcyjne przetwarzanie danych pochodzących ze źródeł takich jak kolekcje czy tablice.
  • (d) Zarządzanie pamięcią aplikacji.

12. (Możliwych wiele poprawnych odpowiedzi) Które z poniższych metod są operacjami końcowymi Stream API?

  • (a) collect()
  • (b) count()
  • (c) filter()
  • (d) reduce()

13. Co oznacza litera “R” w akronimie CRUD?

  • (a) Remove
  • (b) Read
  • (c) Replace
  • (d) Record

14. W jaki sposób dane są przechowywane w relacyjnych bazach danych?

  • (a) W postaci grafów.
  • (b) W postaci dokumentów JSON.
  • (c) W postaci tabel składających się z wierszy i kolumn.
  • (d) W postaci plików XML.

15. Które polecenie SQL odpowiada operacji Create?

  • (a) SELECT
  • (b) UPDATE
  • (c) INSERT
  • (d) DELETE

16. Czym jest JDBC?

  • (a) Biblioteką do tworzenia GUI.
  • (b) Standardowym API Javy umożliwiającym komunikację z bazami danych.
  • (c) Serwerem baz danych.
  • (d) Frameworkiem ORM.

17. (Możliwych wiele poprawnych odpowiedzi) Które elementy należą do pakietu java.sql?

  • (a) DriverManager
  • (b) Connection
  • (c) ResultSet
  • (d) JButton

18. Jaka jest podstawowa rola klasy DriverManager?

  • (a) Zarządzanie komponentami GUI.
  • (b) Zarządzanie sterownikami JDBC i nawiązywanie połączeń z bazą danych.
  • (c) Obsługa wyjątków SQL.
  • (d) Przechowywanie wyników zapytań.

19. (Możliwych wiele poprawnych odpowiedzi) Które stwierdzenia dotyczą klasy ResultSet?

  • (a) Reprezentuje wynik zapytania SQL.
  • (b) Działa jak iterator po wierszach wyników.
  • (c) Pozwala odczytywać dane według nazwy lub indeksu kolumny.
  • (d) Służy do zarządzania sterownikami JDBC.

20. Która metoda klasy Connection służy do tworzenia zapytań parametryzowanych?

  • (a) createStatement()
  • (b) executeQuery()
  • (c) prepareStatement()
  • (d) commit()

21. Dlaczego PreparedStatement jest preferowany względem Statement?

  • (a) Działa wyłącznie z bazą H2.
  • (b) Jest bezpieczniejszy i chroni przed SQL Injection.
  • (c) Nie wymaga połączenia z bazą danych.
  • (d) Nie obsługuje parametrów.

22. Która metoda JDBC jest przeznaczona głównie do wykonywania zapytań typu SELECT?

  • (a) executeUpdate()
  • (b) execute()
  • (c) executeQuery()
  • (d) commit()

23. Który typ relacji opisuje sytuację, w której jeden klient może posiadać wiele zamówień?

  • (a) OneToOne
  • (b) ManyToMany
  • (c) OneToMany
  • (d) TableToTable

24. Jak nazywa się wzorzec projektowy oddzielający logikę biznesową od operacji na bazie danych?

  • (a) MVC
  • (b) Singleton
  • (c) DAO
  • (d) Factory

25. (Możliwych wiele poprawnych odpowiedzi) Jakie są zalety stosowania wzorca z powyższego pytania?

  • (a) Separacja logiki biznesowej od SQL.
  • (b) Łatwiejsze testowanie aplikacji.
  • (c) Możliwość łatwiejszej zmiany bazy danych.
  • (d) Konieczność bezpośredniego używania JDBC w GUI.

26. Czym jest ORM?

  • (a) Zarządzaniem pamięcią JVM.
  • (b) Mapowaniem obiektów Java na struktury relacyjnej bazy danych.
  • (c) Tworzeniem interfejsów graficznych.
  • (d) Kompilacją kodu Java.

27. (Możliwych wiele poprawnych odpowiedzi) Jakie są zalety ORM?

  • (a) Mniejsza ilość kodu SQL.
  • (b) Większa przenośność między bazami danych.
  • (c) Łatwiejsze utrzymanie aplikacji.
  • (d) Konieczność ręcznego przetwarzania ResultSet.

28. Która z poniższych cech jest zaletą JDBC w porównaniu do ORM?

  • (a) Automatyczne mapowanie encji.
  • (b) Pełna kontrola nad zapytaniami SQL.
  • (c) Brak potrzeby pisania SQL.
  • (d) Automatyczne generowanie relacji między tabelami.

29. Czym jest JPA (Java Persistence API)?

  • (a) Relacyjną bazą danych.
  • (b) Frameworkiem Hibernate.
  • (c) Specyfikacją definiującą sposób pracy z relacyjnymi bazami danych w Javie.
  • (d) Biblioteką GUI dla aplikacji Java.

30. Które stwierdzenie najlepiej opisuje relację pomiędzy JPA a Hibernate?

  • (a) Hibernate jest specyfikacją, a JPA implementacją.
  • (b) JPA i Hibernate są tym samym.
  • (c) JPA jest standardem, a Hibernate jego implementacją.
  • (d) Hibernate działa wyłącznie bez JPA.

31. Który interfejs zapewnia najwyższy poziom abstrakcji podczas pracy z bazą danych?

  • (a) Session
  • (b) EntityManager
  • (c) JpaRepository
  • (d) DriverManager

32. Jaką funkcję pełni klasa Session w Hibernate?

  • (a) Zarządza sterownikami JDBC.
  • (b) Jest podstawowym interfejsem Hibernate do pracy z encjami.
  • (c) Reprezentuje wynik zapytania SQL.
  • (d) Służy wyłącznie do konfiguracji ORM.

33. Która wartość właściwości hibernate.hbm2ddl.auto tworzy schemat bazy przy starcie i usuwa go przy zamknięciu aplikacji?

  • (a) validate
  • (b) update
  • (c) create
  • (d) create-drop

34. (Możliwych wiele poprawnych odpowiedzi) Które wymagania musi spełniać encja JPA?

  • (a) Musi posiadać adnotację @Entity.
  • (b) Musi posiadać klucz główny oznaczony @Id.
  • (c) Musi posiadać konstruktor bezargumentowy.
  • (d) Musi dziedziczyć po klasie EntityManager.

35. Która adnotacja służy do oznaczenia klucza głównego encji?

  • (a) @Column
  • (b) @Entity
  • (c) @Id
  • (d) @Table

36. Do czego służy adnotacja @Column?

  • (a) Definiuje relację wiele-do-wielu.
  • (b) Oznacza klasę jako encję.
  • (c) Mapuje pole klasy na kolumnę bazy danych i umożliwia jej konfigurację.
  • (d) Definiuje klucz główny.

37. (Możliwych wiele poprawnych odpowiedzi) Które relacje między encjami są obsługiwane przez JPA?

  • (a) @OneToMany
  • (b) @ObjectToObject
  • (c) @OneToOne
  • (d) @ManyToMany