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