Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 8 stycznia 2025 12:39
  • Data zakończenia: 8 stycznia 2025 12:44

Egzamin zdany!

Wynik: 38/40 punktów (95,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Która operacja logiczna zwróci wynik "true", jeśli obie zmienne są równe?

A. x || y
B. x != y
C. x && y
D. x == y
Operator `==` w języku C++ i wielu innych językach programowania (np. Python, Java, JavaScript) służy do porównywania dwóch wartości. Zwraca `true`, jeśli obie wartości są sobie równe, oraz `false`, jeśli są różne. Przykład: `if (x == y)` sprawdza, czy zmienna `x` jest równa zmiennej `y`. Operator ten jest kluczowy w instrukcjach warunkowych oraz pętlach, gdzie konieczne jest porównywanie wartości w celu podejmowania decyzji na podstawie wyniku tego porównania.

Pytanie 2

Co jest kluczowym krokiem podczas projektowania zestawów danych dla problemu programistycznego?

A. Zmiana języka programowania na bardziej efektywny
B. Dobór odpowiednich struktur danych
C. Implementacja algorytmu sortującego
D. Testowanie zestawów danych przed ich użyciem
Wybór właściwych struktur danych to mega ważny krok, kiedy projektujesz swoje zestawy danych. To, jaką strukturę wybierzesz, ma ogromny wpływ na to, jak szybko i efektywnie będą działać algorytmy. Każda struktura ma swoje plusy i minusy – na przykład listy pozwalają na elastyczne zarządzanie elementami, stosy i kolejki trzymają dane w określonej kolejności, a drzewa czy grafy są już do bardziej skomplikowanych problemów. Dobrze dobrane struktury mogą znacznie przyspieszyć działanie programu i zmniejszyć zużycie zasobów. Moim zdaniem, jeśli chcesz projektować efektywne algorytmy, musisz naprawdę dobrze rozumieć, jak różne struktury działają i umieć je dopasować do problemu, który chcesz rozwiązać.

Pytanie 3

Programując przedstawioną na obrazie kontrolkę stepper w aplikacji mobilnej należy obsłużyć zmienną, która przechowuje zawsze jej aktualną wartość. Do uzyskania takiej funkcjonalności można skorzystać ze zdarzenia.

Ilustracja do pytania
A. SizeChanged
B. ValueChanged
C. DescendantAdded
D. Unfocused
Zdarzenie ValueChanged jest kluczowe w kontekście programowania kontrolek takich jak stepper w aplikacjach mobilnych. To zdarzenie jest wywoływane zawsze, gdy wartość kontrolki zostaje zmieniona przez użytkownika, co umożliwia natychmiastowe przetwarzanie tej zmiany i aktualizację interfejsu użytkownika lub innych powiązanych komponentów. W praktyce, użycie zdarzenia ValueChanged to dobry przykład reaktywnego programowania, gdzie aplikacja reaguje na akcje użytkownika w czasie rzeczywistym. Przy implementacji takiego zdarzenia należy zadbać o poprawne sprawdzanie zakresu wartości, aby uniknąć błędów logicznych. Warto również pamiętać o optymalizacji wydajności takiej obsługi, zwłaszcza w aplikacjach złożonych z wielu komponentów zależnych od wartości steppera. Praktyczne zastosowanie tego zdarzenia można znaleźć w aplikacjach e-commerce, gdzie steppery mogą być używane do wyboru ilości produktów w koszyku, a zmiana wartości natychmiast wpływa na obliczenie ceny całkowitej. Używanie zdarzeń takich jak ValueChanged jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, poprawiając ich responsywność i interaktywność.

Pytanie 4

Którego kodu może dotyczyć przedstawiona treść wygenerowana podczas uruchomienia programu Java>

Ilustracja do pytania
A. Kodu 4
B. Kodu 2
C. Kodu 3
D. Kodu 1
W przypadku kodu 4 mamy do czynienia z operatorem modulo zastosowanym na zmiennych x i y. Wiąże się to z próbą podziału przez zero co w języku Java skutkuje wygenerowaniem wyjątku java.lang.ArithmeticException. Przykładowo jeśli y wynosi zero to operacja x % y jest niedozwolona i spowoduje wyjątek. Rozumienie jak bezpiecznie wykonywać operacje arytmetyczne w Javie jest kluczowe dla unikania takich błędów. Zgodnie z dobrymi praktykami należy zawsze sprawdzać wartości zmiennych przed wykonaniem operacji matematycznych które mogą prowadzić do błędów wykonania programu. Ważne jest aby stosować techniki obsługi wyjątków try-catch które pozwalają na przechwycenie i odpowiednie zarządzanie błędami. Używanie odpowiednich testów jednostkowych może pomóc w wcześniejszym wykryciu takich problemów co jest standardem w branży programistycznej. Zrozumienie obsługi błędów w programowaniu pozwala na tworzenie bardziej niezawodnych i odpornych na błędy aplikacji co jest istotnym aspektem pracy profesjonalnego programisty.

Pytanie 5

Która struktura danych jest wykorzystywana w algorytmie BFS (przeszukiwanie wszerz)?

A. Drzewo
B. Stos
C. Lista
D. Kolejka
Kolejka jest strukturą danych wykorzystywaną w algorytmie BFS (przeszukiwanie wszerz), co umożliwia przetwarzanie węzłów w kolejności ich dodania – zgodnie z zasadą FIFO (First In First Out). W BFS kolejka przechowuje kolejne wierzchołki do odwiedzenia, co pozwala na eksplorację grafu poziom po poziomie. Dzięki temu BFS jest idealny do znajdowania najkrótszej ścieżki w grafach nieskierowanych oraz przeszukiwania dużych przestrzeni stanów. Kolejka gwarantuje, że każdy wierzchołek jest odwiedzany w odpowiedniej kolejności, co czyni BFS algorytmem niezawodnym i wszechstronnym w zastosowaniach takich jak nawigacja, sieci komputerowe i sztuczna inteligencja.

Pytanie 6

Który z poniższych rodzajów testów najlepiej sprawdza odporność aplikacji na duże obciążenie?

A. Testy funkcjonalne
B. Testy bezpieczeństwa
C. Testy obciążeniowe
D. Testy zgodności
Testy obciążeniowe to rodzaj testów, które sprawdzają, jak aplikacja radzi sobie z dużym ruchem użytkowników lub przetwarzaniem dużych ilości danych. Celem testów obciążeniowych jest wykrycie potencjalnych wąskich gardeł, identyfikacja problemów z wydajnością oraz określenie maksymalnej przepustowości aplikacji. Testy te są kluczowe dla aplikacji o wysokim natężeniu ruchu, takich jak sklepy internetowe czy systemy bankowe, gdzie stabilność pod obciążeniem jest krytyczna dla sukcesu.

Pytanie 7

Który z poniższych opisów najlepiej definiuje system informatyczny?

A. Oprogramowanie wspierające wyłącznie zarządzanie danymi osobowymi
B. Sieć komputerowa umożliwiająca komunikację między użytkownikami
C. Zespół urządzeń technicznych wykorzystywanych do pracy biurowej
D. Zespół ludzi, procedur, oprogramowania i sprzętu służący do przetwarzania danych
Pierwsza z niepoprawnych odpowiedzi definiuje system informatyczny jedynie jako zespół urządzeń technicznych używanych do pracy biurowej. Tego rodzaju podejście jest zbyt wąskie i nie obejmuje istotnych elementów, takich jak ludzie i procedury, które są kluczowe w kontekście przetwarzania danych. Oprogramowanie i procedury są równie ważne, ponieważ stanowią podstawę dla skutecznego działania systemu informatycznego. Kolejna odpowiedź ogranicza się wyłącznie do oprogramowania wspierającego zarządzanie danymi osobowymi, co również jest nieprawidłowe. Systemy informatyczne są zdecydowanie bardziej złożone i obejmują szereg funkcjonalności, takich jak zarządzanie procesami, analizę biznesową czy integrację z innymi systemami. Ostatnia odpowiedź odnosi się do sieci komputerowej, co jest tylko jednym z komponentów systemu informatycznego. Sieć komputerowa może być wykorzystywana do komunikacji, ale nie definiuje całego systemu, ponieważ brak w niej odniesienia do ludzi, procedur i oprogramowania, które są kluczowe dla pełnego zrozumienia roli systemu informatycznego w organizacji.

Pytanie 8

Jaki będzie wynik logicznej operacji AND dla liczb binarnych 1010 i 1100?

A. 1110
B. 1010
C. 1100
D. 1000
Wynik logicznej operacji AND dla liczb binarnych 1010 i 1100 uzyskuje się poprzez porównywanie odpowiadających sobie bitów obu liczb. W systemie binarnym, operacja AND zwraca 1 tylko wtedy, gdy oba bity są równe 1. W przypadku liczb 1010 (co w systemie dziesiętnym odpowiada 10) oraz 1100 (co w systemie dziesiętnym odpowiada 12), analizujemy każdy bit od prawej do lewej. Pierwszy bit: 0 AND 0 = 0, drugi bit: 1 AND 0 = 0, trzeci bit: 0 AND 1 = 0, czwarty bit: 1 AND 1 = 1. Zatem wynik operacji AND to 1000 (co w systemie dziesiętnym odpowiada 8). Takie operacje logiczne są podstawą działania systemów cyfrowych i stosowane są w programowaniu oraz w projektowaniu układów cyfrowych, gdzie logika binarna jest niezbędna. Operacje AND są również używane w bazach danych oraz w językach programowania, gdzie umożliwiają filtrowanie danych na podstawie logicznych warunków. W kontekście standardów, operacje logiczne są definiowane przez różne normy, takie jak IEEE 754 dla arytmetyki zmiennoprzecinkowej, co podkreśla ich fundamentalne znaczenie w informatyce.

Pytanie 9

W którym przypadku kolekcja typu lista będzie bardziej efektywna niż tablica?

A. Kiedy liczba elementów w kolekcji jest stała
B. Kiedy chcemy uzyskać dostęp do elementów za pomocą indeksu
C. Kiedy liczba elementów w kolekcji dynamicznie się zmienia
D. Kiedy znamy dokładny rozmiar kolekcji przed kompilacją
Lista to dynamiczna struktura danych, która pozwala na efektywne dodawanie i usuwanie elementów, zwłaszcza gdy liczba elementów zmienia się w trakcie działania programu. Listy są bardziej elastyczne niż tablice, ponieważ mogą dynamicznie dostosowywać swoją wielkość bez potrzeby alokacji dodatkowej pamięci. W przypadku dynamicznych operacji, takich jak częste wstawianie i usuwanie elementów, listy są znacznie bardziej wydajne niż tablice, które wymagają przesunięcia wszystkich elementów po każdej operacji. Listy świetnie sprawdzają się w implementacji kolejek, stosów oraz w strukturach, które muszą rosnąć i kurczyć się podczas działania aplikacji.

Pytanie 10

Do czego służy mechanizm ciasteczek w aplikacjach webowych?

A. Do tworzenia dynamicznych interfejsów użytkownika
B. Do przechowywania danych użytkownika w przeglądarce
C. Do przechowywania danych w bazie danych
D. Do przechowywania danych użytkownika po stronie serwera
Mechanizm ciasteczek (cookies) w aplikacjach webowych służy do przechowywania danych użytkownika bezpośrednio w przeglądarce. Ciasteczka mogą przechowywać różnego rodzaju informacje, takie jak preferencje językowe, identyfikatory sesji czy dane logowania, co pozwala na personalizację doświadczenia użytkownika oraz śledzenie jego aktywności na stronie. Dzięki ciasteczkom aplikacje webowe mogą zapamiętać użytkownika i dostosować treści do jego potrzeb przy kolejnych wizytach. Cookies są nieodłącznym elementem zarządzania stanem w aplikacjach stateless, takich jak te oparte na protokole HTTP. Mogą być one również wykorzystywane w systemach reklamowych i analitycznych do monitorowania zachowań użytkowników. Prawidłowe zarządzanie ciasteczkami i stosowanie odpowiednich polityk prywatności są kluczowe dla zgodności z przepisami RODO oraz regulacjami dotyczącymi ochrony danych osobowych.

Pytanie 11

Testy mające na celu wykrycie błędów w interfejsach pomiędzy modułami lub systemami to testy

A. wydajnościowe
B. bezpieczeństwa
C. jednostkowe
D. integracyjne
Testy integracyjne mają na celu wykrycie błędów w interfejsach i połączeniach między modułami lub systemami. Głównym celem tych testów jest sprawdzenie, czy różne komponenty aplikacji współpracują ze sobą zgodnie z oczekiwaniami. Testy integracyjne są przeprowadzane po testach jednostkowych, ale przed testami systemowymi. W praktyce testy te obejmują scenariusze, w których kilka modułów wymienia dane lub współdziała w ramach wspólnego procesu. Integracja jest kluczowa dla zapewnienia, że cały system działa jako spójna całość, co minimalizuje ryzyko błędów na etapie produkcji i poprawia jakość końcowego produktu. Przykładem może być test komunikacji między modułem autoryzacji użytkowników a modułem płatności w aplikacji e-commerce.

Pytanie 12

Który z poniższych elementów należy do podstawowego wyposażenia środowiska IDE?

A. Kompilator, edytor kodu, debugger
B. Edytor tekstowy, przeglądarka internetowa, translator
C. Edytor graficzny, przeglądarka kodu, narzędzia analityczne
D. Kompilator, serwer webowy, system kontroli wersji
Kompilator, edytor kodu i debugger to podstawowe narzędzia, które stanowią fundament każdego środowiska IDE (Integrated Development Environment). Kompilator tłumaczy kod źródłowy na pliki wykonywalne, edytor kodu umożliwia tworzenie i modyfikowanie kodu, a debugger pomaga w analizowaniu i eliminowaniu błędów. Współdziałanie tych narzędzi pozwala programiście na pełny cykl tworzenia aplikacji – od pisania kodu, przez testowanie, aż po finalne wdrożenie. Dzięki integracji tych narzędzi w jednym środowisku, praca staje się bardziej efektywna i intuicyjna.

Pytanie 13

Która metodyka zarządzania projektem jest optymalna, gdy zakres projektu w początkowej fazie nie jest do końca znany, wymagania mogą ulec zmianie w trakcie trwania projektu oraz mogą pojawić się nowe wymagania?

A. Model V
B. PRINCE2
C. Model kaskadowy
D. Agile
Metodyka Agile jest najbardziej optymalna w przypadku niejasnych wymagań na początku projektu. Agile pozwala na iteracyjne wprowadzanie zmian, dostosowując się do nowych wymagań w trakcie trwania projektu. Jest to elastyczne podejście, które sprzyja szybkiemu reagowaniu na potrzeby klienta.

Pytanie 14

Który typ testów może być opisany przedstawionym scenariuszem

Ilustracja do pytania
A. testy funkcjonalne
B. testy jednostkowe
C. testy kompatybilności
D. testy wydajnościowe
Testy funkcjonalne (functional testing) oceniają, czy aplikacja działa zgodnie z założeniami, testując jej poszczególne funkcjonalności. Są kluczowym etapem w procesie testowania oprogramowania, ponieważ potwierdzają poprawność implementacji.

Pytanie 15

Wskaż język programowania, który umożliwia utworzenie aplikacji mobilnej w środowisku Android Studio

A. Java
B. Objective-C
C. Swift
D. C++
Objective-C, język stworzony głównie dla systemów Apple, nie jest odpowiedni dla aplikacji na Androida. Jest to język obiektowy, który opiera się na C i wprowadza dynamiczne właściwości, jednak jego użycie jest ograniczone do platform iOS, co sprawia, że nie może być używany w Android Studio. Kolejnym językiem, C++, to język ogólnego przeznaczenia, który jest używany w wielu dziedzinach, w tym w programowaniu systemowym oraz w grach. Choć możliwe jest tworzenie aplikacji na Androida w C++, zwykle wykorzystuje się go w połączeniu z JNI (Java Native Interface), co może wprowadzać złożoność i wymagać dodatkowej konfiguracji. C++ nie jest językiem preferowanym dla większości aplikacji mobilnych na Androida, ponieważ Android Studio jest zoptymalizowane pod kątem Javy. Z kolei Swift, nowoczesny język programowania od Apple, jest stworzony dla iOS i macOS, co sprawia, że jego użycie w kontekście aplikacji Android jest całkowicie nieodpowiednie. Swift jest językiem wysokiego poziomu, który wspiera bezpieczne programowanie, ale nie ma żadnego wsparcia ani integracji z Android Studio. W sumie, wszystkie wymienione języki są niewłaściwe w kontekście tworzenia aplikacji na Androida, gdzie najskuteczniejszym i najbardziej optymalnym rozwiązaniem pozostaje Java.

Pytanie 16

Projektując aplikację zorientowaną obiektowo należy założyć, że program będzie sterowany za pomocą

A. pętli dyspozytora, która w zależności od zdarzenia wywoła odpowiednią funkcję
B. zbioru instancji klas współpracujących ze sobą
C. definicji warunków końcowego rozwiązania
D. modułów z zawartymi w nich funkcjami i zmiennymi globalnymi
W programowaniu obiektowym aplikacje są sterowane za pomocą instancji klas, które współpracują ze sobą. Obiekty reprezentują elementy rzeczywistego świata i komunikują się, co pozwala na większą elastyczność i modułowość kodu.

Pytanie 17

Wskaż cechę charakterystyczną dla metody abstrakcyjnej

A. jest pusta w klasach potomnych
B. nie jest zaimplementowana w klasie bazowej
C. jest zawsze prywatna
D. jest pusta w klasie bazowej
Metoda abstrakcyjna to metoda zadeklarowana w klasie bazowej, ale nieposiadająca implementacji. Wymusza ona na klasach dziedziczących zaimplementowanie tej metody. Taki mechanizm pozwala na tworzenie szkieletów klas, gdzie szczegóły implementacyjne są delegowane do klas potomnych. Dzięki temu można stosować polimorfizm i ujednolicić interfejs dla różnych obiektów.

Pytanie 18

Który etap pozwala na poprawienie wydajności aplikacji przed jej publikacją?

A. Dodawanie komentarzy do kodu
B. Testowanie jednostkowe
C. Optymalizacja kodu
D. Tworzenie interfejsu graficznego
Optymalizacja kodu to kluczowy etap poprawy wydajności aplikacji przed jej publikacją. Polega na eliminacji zbędnych operacji, poprawie algorytmów oraz minimalizacji użycia zasobów, co pozwala na szybsze działanie aplikacji i zmniejszenie jej zapotrzebowania na pamięć. Optymalizacja kodu obejmuje również refaktoryzację, czyli przekształcenie kodu w bardziej czytelną i efektywną formę bez zmiany jego funkcjonalności. Dzięki optymalizacji aplikacje działają płynniej, szybciej się ładują i oferują lepsze doświadczenie użytkownika, co ma kluczowe znaczenie dla SEO oraz pozycjonowania aplikacji w wyszukiwarkach. Dodatkowo, zoptymalizowany kod jest łatwiejszy w utrzymaniu i rozwijaniu, co przekłada się na długoterminowe korzyści dla zespołu deweloperskiego.

Pytanie 19

Gdzie są przechowywane dane w przypadku korzystania z chmury obliczeniowej?

A. Na dysku twardym użytkownika
B. Na zdalnych serwerach dostawcy usług
C. Na serwerze lokalnym użytkownika
D. Na dyskach optycznych użytkownika
Dane w chmurze obliczeniowej są przechowywane przede wszystkim na zdalnych serwerach dostawcy usług chmurowych. Tego rodzaju przechowywanie danych ma na celu zapewnienie wysokiej dostępności, skalowalności oraz bezpieczeństwa. Dostawcy usług chmurowych, tacy jak Amazon Web Services, Microsoft Azure czy Google Cloud Platform, inwestują w infrastrukturę, która obejmuje centra danych rozmieszczone na całym świecie. Te centra danych są wyposażone w zaawansowane systemy zabezpieczeń, takie jak firewall'e, szyfrowanie danych i systemy detekcji intruzów. Dzięki temu użytkownicy mogą mieć pewność, że ich dane są bezpieczne. Dodatkowo, zdalne serwery oferują elastyczność w zakresie przydzielania zasobów obliczeniowych, co pozwala na dynamiczne reagowanie na zmieniające się potrzeby biznesowe. Warto również wspomnieć o standardach bezpieczeństwa, takich jak ISO 27001 czy SOC 2, które regulują sposób przechowywania i zarządzania danymi w chmurze, zapewniając zgodność z najlepszymi praktykami branżowymi.

Pytanie 20

Jakie są podstawowe kroki resuscytacji krążeniowo-oddechowej?

A. 30 uciśnięć klatki piersiowej na przemian z 2 wdechami ratowniczymi
B. 20 uciśnięć klatki piersiowej na przemian z 5 wdechami ratowniczymi
C. 10 uciśnięć klatki piersiowej bez wdechów
D. 30 wdechów ratowniczych bez uciśnięć
30 uciśnięć klatki piersiowej na przemian z 2 wdechami ratowniczymi to standardowy protokół resuscytacji krążeniowo-oddechowej (RKO) zgodny z wytycznymi Europejskiej Rady Resuscytacji (ERC). Uciśnięcia wykonywane są na głębokość około 5-6 cm w tempie 100-120 uciśnięć na minutę. Po 30 uciśnięciach wykonuje się 2 wdechy ratownicze, które powinny być wykonywane z odpowiednią siłą, aby unieść klatkę piersiową poszkodowanego. Taka sekwencja jest podstawą pierwszej pomocy i może uratować życie osoby, u której doszło do zatrzymania akcji serca. Resuscytację należy kontynuować do momentu przybycia służb ratunkowych lub odzyskania przytomności przez poszkodowanego.

Pytanie 21

Na przedstawionych funkcjonalnie równoważnych sobie kodach źródłowych w wyniku wykonania operacji w zmiennej b zostanie zapisana wartość:

Ilustracja do pytania
A. 596
B. 5.96
C. 6
D. 5
Wynik operacji zapisanej w zmiennej 'b' to 5. Jest to rezultat konwersji wartości zmiennoprzecinkowej na liczbę całkowitą, co oznacza odrzucenie części dziesiętnej. Taka operacja jest powszechna w programowaniu, gdy chcemy uzyskać tylko część całkowitą liczby, np. w algorytmach podziału, zaokrąglania w dół (floor) lub obliczania indeksów w tablicach.

Pytanie 22

Jednym z etapów publikacji aplikacji mobilnej w sklepie Google Play są testy Beta, których cechą charakterystyczną jest to, że są one

A. wykonywane przez grupę docelowych użytkowników aplikacji
B. podzielone na testy funkcjonalne, wydajnościowe i skalowalności
C. wykonywane przez grupę zatrudnionych testerów z firmy Google
D. przeprowadzane w oparciu o dokument z przypadkami testowymi
Testy Beta są kluczowym etapem w procesie publikacji aplikacji mobilnej w sklepie Google Play, ponieważ pozwalają na uzyskanie cennych informacji zwrotnych od rzeczywistych użytkowników aplikacji. W tej fazie aplikacja jest udostępniana ograniczonej grupie docelowych użytkowników, którzy są zainteresowani testowaniem oprogramowania przed jego oficjalnym wydaniem. Użytkownicy ci mają możliwość zgłaszania błędów, proponowania ulepszeń oraz oceny funkcjonalności, co jest niezwykle ważne, aby zapewnić, że produkt spełnia wymagania rynku. Przykładem zastosowania testów Beta może być aplikacja społecznościowa, która w pierwszej fazie testowania pozwala wybranej grupie użytkowników na dzielenie się swoimi doświadczeniami. Otrzymane dane są następnie analizowane w celu wprowadzenia niezbędnych poprawek przed pełnym wprowadzeniem aplikacji na rynek. Ponadto, przeprowadzanie testów Beta jest zgodne z najlepszymi praktykami w branży oprogramowania, zgodnie z metodykami Agile, które podkreślają znaczenie interakcji z użytkownikami oraz ich wkładu w rozwój produktów.

Pytanie 23

Przedstawiona deklaracja zmiennych zapisanych językiem JAVA obejmuje

Ilustracja do pytania
A. dwie zmienne typu napisowego, dwie typu całkowitego i jedną logiczną
B. dwie zmienne typu strukturalnego
C. jedną zmienną typu napisowego, dwie typu całkowitego, jedną znakowego i jedną logiczną
D. jedną zmienną typu napisowego, jedną typu rzeczywistego, jedną całkowitego, jedną znakowego i jedną logiczną
Deklaracja obejmuje jedną zmienną typu napisowego (String), dwie typu całkowitego (int), jedną znakowego (char) oraz jedną logiczną (boolean). Takie zróżnicowanie pozwala na przechowywanie różnych rodzajów danych w jednej klasie lub metodzie.

Pytanie 24

Mechanizm programowania obiektowego w C++, wykorzystujący funkcje wirtualne (z ang. Virtual), który przy wywołaniu metod zwalnia programistę z obowiązku sprawdzenia jaką klasę pochodną aktualnie obsługuje, np. przez wskaźnik nosi nazwę

A. hermetyzacji
B. polimorfizmu
C. dziedziczenia
D. przeciążenia
Polimorfizm to mechanizm w programowaniu obiektowym, który pozwala na wywoływanie metod na obiektach różnych klas przez wspólny interfejs lub klasę bazową. Dzięki temu programista może pisać bardziej elastyczny i modułowy kod, w którym konkretna implementacja metody jest wybierana w czasie działania programu. Kluczową rolę w polimorfizmie odgrywają funkcje wirtualne (virtual), które umożliwiają nadpisanie metod w klasach dziedziczących. Polimorfizm upraszcza rozbudowę aplikacji i minimalizuje potrzebę wielokrotnego pisania tego samego kodu, co jest istotne w dużych projektach programistycznych. Przykładem jest klasa Figura, która może mieć metody obliczania pola powierzchni, a klasy dziedziczące, takie jak Kolo i Kwadrat, implementują te metody w sposób specyficzny dla swojej geometrii.

Pytanie 25

Przedstawiony kod funkcji "wykonaj()" sprawdza, czy

Ilustracja do pytania
A. w tablicy liczb całkowitych znajdują się tylko wartości 4, 15, -2, 9, 202
B. określony element (argument) znajduje się w tablicy zawierającej liczby całkowite
C. wszystkie elementy tablicy są równe wartości określonego elementu (argument)
D. określony element (argument) jest wartością z zakresu od 0 do 4
Funkcja 'wykonaj()' sprawdza, czy określony element (argument) znajduje się w tablicy zawierającej liczby całkowite. Algorytm przeszukuje tablicę iteracyjnie, porównując element wejściowy z każdym elementem tablicy, co pozwala na efektywne odnalezienie wartości, jeśli istnieje.

Pytanie 26

Którą wartość zwróci funkcja zapisana językiem C++, jeżeli jej parametr wejściowym jest tablica utworzona w następujący sposób: int tablica[6] = {3,4,2,4,10,0);?

Ilustracja do pytania
A. 0
B. 10
C. 23
D. 20
Funkcja w C++ zwraca sumę elementów tablicy, co daje wynik 23. Algorytm iteracyjnie dodaje wszystkie elementy do zmiennej sumującej, co jest typowym rozwiązaniem dla tego typu operacji.

Pytanie 27

W tabeli przedstawiono doświadczenie zawodowe pracowników firmy IT. Do zbudowania aplikacji front-end powinien/powinna zostać przydzielony/przydzielona:

Ilustracja do pytania
A. Ewa
B. Patryk
C. Krzysztof
D. Anna
Do zbudowania aplikacji front-end najlepiej przydzielić Krzysztofa, który posiada największe doświadczenie w tej dziedzinie. Tworzenie interfejsu użytkownika wymaga znajomości technologii front-endowych, takich jak HTML, CSS i JavaScript, a także frameworków takich jak React czy Angular. Wykwalifikowany programista front-endowy zapewnia, że aplikacja będzie responsywna, intuicyjna i dostosowana do różnych urządzeń.

Pytanie 28

Które narzędzie służy do raportowania błędów w projektach informatycznych?

A. JIRA
B. Blender
C. Git
D. Photoshop
JIRA to jedno z najczęściej wykorzystywanych narzędzi do zarządzania projektami i raportowania błędów w projektach informatycznych. JIRA umożliwia śledzenie błędów, zarządzanie zadaniami oraz efektywne monitorowanie postępów prac nad projektem. Dzięki integracji z innymi narzędziami, takimi jak Confluence czy Bitbucket, JIRA stanowi kompleksowe rozwiązanie wspierające zespoły deweloperskie. Raportowanie błędów w JIRA pozwala na łatwe przypisywanie ich do odpowiednich członków zespołu, dodawanie załączników i komentarzy oraz monitorowanie statusu danego problemu, co usprawnia proces zarządzania jakością oprogramowania.

Pytanie 29

Co należy uwzględnić podczas planowania zasobów ludzkich w projekcie?

A. Umiejętności i doświadczenie członków zespołu
B. Tylko wymagania techniczne projektu
C. Budżet projektu, bez uwzględniania umiejętności zespołu
D. Wyłącznie dostępność technologii
Podczas planowania zasobów ludzkich w projekcie kluczowe jest uwzględnienie umiejętności i doświadczenia członków zespołu. Odpowiednie dopasowanie kompetencji do wymagań projektu ma ogromny wpływ na jakość i tempo realizacji zadań. Zespół o różnorodnych umiejętnościach jest bardziej elastyczny i lepiej radzi sobie z napotkanymi wyzwaniami. Analiza umiejętności pozwala na efektywne przydzielanie zadań, co zwiększa produktywność i redukuje ryzyko opóźnień.

Pytanie 30

Które zdarzenie jest wygenerowane, gdy nieaktywne okno lub kontrolka zostaje kliknięta myszą?

A. keyup.
B. blur.
C. validating.
D. focus.
Zdarzenie 'focus' jest generowane, gdy nieaktywne okno lub kontrolka zostanie kliknięta i przejdzie do stanu aktywnego. Oznacza to, że element uzyskuje fokus, co pozwala na interakcję z użytkownikiem, np. wpisywanie danych do pola tekstowego. Jest to powszechne w formularzach i aplikacjach, gdzie ważne jest śledzenie aktywnego komponentu.

Pytanie 31

Który numer telefonu należy wybrać, aby wezwać pogotowie ratunkowe w Polsce?

A. 113
B. 997
C. 998
D. 112
Numer 112 to europejski numer alarmowy, który działa we wszystkich krajach Unii Europejskiej, w tym w Polsce. Jego wybór pozwala na natychmiastowe połączenie się z dyspozytorem służb ratunkowych (pogotowie ratunkowe, straż pożarna, policja). Jest to uniwersalny numer, który można wybrać z dowolnego telefonu komórkowego lub stacjonarnego, nawet jeśli urządzenie nie ma karty SIM. Dzięki tej uniwersalności jest to najczęściej rekomendowany numer w nagłych wypadkach.

Pytanie 32

Który paradygmat programowania kładzie największy nacisk na dziedziczenie i polimorfizm?

A. Programowanie strukturalne
B. Programowanie proceduralne
C. Programowanie obiektowe
D. Programowanie funkcyjne
Programowanie obiektowe (OOP) to paradygmat, który kładzie największy nacisk na dziedziczenie i polimorfizm. Dziedziczenie pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i jego rozszerzanie. Polimorfizm umożliwia definiowanie metod o tej samej nazwie, ale z różnym zachowaniem w zależności od kontekstu lub obiektu, co zwiększa elastyczność i modularność kodu. Programowanie obiektowe jest szeroko stosowane w językach takich jak Java, C++, Python czy C#, ponieważ pozwala na budowanie skalowalnych i łatwych w utrzymaniu aplikacji.

Pytanie 33

Zastosowanie typu DECIMAL języka MySQL wymaga wcześniejszego zdefiniowania długości (liczby cyfr) przed przecinkiem oraz długości cyfr po przecinku. Jest to zapis

A. łańcuchowy
B. logiczny
C. stałoprzecinkowy
D. zmiennoprzecinkowy
Typ DECIMAL w języku MySQL jest używany do przechowywania liczb dziesiętnych z określoną precyzją. Przy definiowaniu tego typu danych wymagane jest określenie dwóch głównych parametrów: długości całkowitej liczby, czyli liczby cyfr przed przecinkiem, oraz długości części dziesiętnej, czyli liczby cyfr po przecinku. Taki zapis ma postać DECIMAL(M, D), gdzie M to maksymalna liczba cyfr, a D to liczba cyfr po przecinku. Przykład zastosowania to: DECIMAL(10, 2), co oznacza, że liczba może mieć maksymalnie 10 cyfr, z czego 2 cyfry będą po przecinku. Typ DECIMAL jest szczególnie przydatny w aplikacjach finansowych, gdzie precyzja obliczeń jest kluczowa, aby uniknąć błędów zaokrągleń, które mogą występować w przypadku typów zmiennoprzecinkowych. Standardy dotyczące typów danych w SQL, takie jak SQL:2008, również uznają znaczenie precyzyjnych reprezentacji liczbowych, co sprawia, że DECIMAL jest preferowany w wielu zastosowaniach. Warto dodać, że MySQL pozwala na elastyczność w definiowaniu długości, co umożliwia optymalne dostosowanie do specyficznych wymagań aplikacji.

Pytanie 34

Przedstawiony symbol przedstawia

Ilustracja do pytania
A. domenę publiczną
B. prawa autorskie
C. Creative Commons
D. prawo cytatu
Przedstawiony symbol reprezentuje domenę publiczną, co oznacza, że utwór nie jest objęty prawami autorskimi i może być swobodnie używany przez każdego. Takie oznaczenie jest często stosowane do dzieł, które przeszły do domeny publicznej po wygaśnięciu ochrony prawnej.

Pytanie 35

Dane z serwera do aplikacji front-end można przesłać za pomocą:

A. metody POST
B. biblioteki jQuery
C. protokołu SSH
D. formatu JSON
Format JSON (JavaScript Object Notation) jest powszechnie używany do przesyłania danych z serwera do aplikacji front-end. Jest lekki, czytelny i łatwy do przetwarzania w większości języków programowania, co czyni go standardem w komunikacji API. JSON pozwala na efektywne przesyłanie złożonych struktur danych i ich łatwe mapowanie na obiekty w aplikacji.

Pytanie 36

Przedstawione w filmie działania wykorzystują narzędzie

A. kompilatora interfejsu graficznego
B. kreatora kodu java
C. kreatora GUI tłumaczącego kod do języka XAML
D. debugera analizującego wykonywany kod
Narzędzie przedstawione w filmie to kreator GUI tłumaczący kod do języka XAML, co pozwala na szybkie projektowanie interfejsów użytkownika w aplikacjach opartych na Windows Presentation Foundation (WPF). Jest to wygodne rozwiązanie umożliwiające dynamiczne tworzenie elementów wizualnych.

Pytanie 37

Jak procesor komunikuje się z pamięcią podręczną (cache)?

A. Bezpośrednio, z pominięciem mostków systemowych
B. Za pomocą linii danych w magistrali systemowej
C. Wykorzystując jedynie pamięć RAM
D. Poprzez system przerwań
Procesor komunikuje się z pamięcią podręczną (cache) za pomocą linii danych w magistrali systemowej, co jest kluczowym elementem architektury komputerowej. Magistrala systemowa to zestaw ścieżek, które umożliwiają przesyłanie danych pomiędzy różnymi komponentami systemu, w tym procesorem, pamięcią RAM oraz pamięcią podręczną. Pamięć podręczna działa jako bufor, który przechowuje najczęściej używane dane, co pozwala na znaczne zwiększenie szybkości operacji, ponieważ dostęp do pamięci cache jest znacznie szybszy niż dostęp do pamięci RAM. W standardach takich jak Intel's QuickPath Interconnect (QPI) czy AMD's HyperTransport, linie danych odgrywają kluczową rolę w efektywnej komunikacji, co przekłada się na ogólną wydajność systemu. Przykładowo, w nowoczesnych procesorach wielordzeniowych, każda rdzeń może mieć własną pamięć podręczną, a komunikacja za pomocą magistrali pozwala na synchronizację danych pomiędzy tymi rdzeniami oraz współdzielenie zasobów. Efektywne zarządzanie pamięcią podręczną i magistralą jest kluczowe dla osiągnięcia wysokiej wydajności w obliczeniach oraz przetwarzaniu danych.

Pytanie 38

Które z poniższych zastosowań najlepiej opisuje bibliotekę jQuery?

A. Projektowanie struktur baz danych
B. Ułatwianie manipulacji DOM i obsługi zdarzeń w JavaScript
C. Tworzenie aplikacji mobilnych
D. Tworzenie interfejsów w aplikacjach desktopowych
jQuery to popularna biblioteka JavaScript, która ułatwia manipulację DOM (Document Object Model), obsługę zdarzeń oraz wykonywanie animacji na stronach internetowych. Dzięki jQuery programiści mogą znacznie skrócić ilość kodu potrzebnego do realizacji operacji na elementach HTML. Biblioteka ta zapewnia również wygodny sposób na wykonywanie asynchronicznych żądań HTTP (AJAX), co pozwala na dynamiczne pobieranie danych z serwera bez konieczności przeładowywania całej strony. jQuery jest szeroko stosowane w projektach, które wymagają interaktywności oraz lekkich efektów wizualnych. Choć w ostatnich latach jego popularność spadła na rzecz bardziej zaawansowanych frameworków takich jak React czy Angular, jQuery nadal jest cenione za prostotę, wydajność oraz bogaty ekosystem gotowych wtyczek i rozszerzeń.

Pytanie 39

W metodach klasy GoldCustomer są widoczne jedynie pola

Ilustracja do pytania
A. GoldPoints
B. GoldPoints, Name, Id
C. GoldPoints, Name, Id, Age
D. GoldPoints, Name
W metodach klasy GoldCustomer widoczne są pola GoldPoints, Name i Id, co oznacza, że są one dziedziczone lub publiczne i mogą być bezpośrednio dostępne w obrębie tej klasy.

Pytanie 40

Zmienna typy logicznego może przyjąć wartości:

A. 0 oraz dowolną całkowitą
B. 1, -1
C. trzy dowolne naturalne
D. true, false
Typ logiczny (boolean) może przyjąć jedynie dwie wartości: true (prawda) i false (fałsz). Jest to fundamentalna zasada w programowaniu, ponieważ zmienne logiczne są podstawą operacji warunkowych, pętli oraz sterowania przepływem programu. W językach takich jak C++, Java, Python i wielu innych, wartości logiczne pozwalają na budowanie złożonych struktur decyzyjnych. Dzięki nim programista może precyzyjnie kontrolować, które fragmenty kodu zostaną wykonane, co jest kluczowe w implementacji algorytmów oraz walidacji danych.