Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 7 stycznia 2025 15:05
  • Data zakończenia: 7 stycznia 2025 15:19

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jaką rolę odgrywa pamięć operacyjna (RAM) w komputerowym systemie?

A. Trwałe przechowywanie systemu operacyjnego
B. Umożliwienie tworzenia kopii zapasowej danych użytkownika
C. Tymczasowe magazynowanie danych i instrukcji dla procesora
D. Zarządzanie transferem danych pomiędzy urządzeniami wejścia/wyjścia
Pamięć operacyjna, znana jako RAM (Random Access Memory), odgrywa kluczową rolę w funkcjonowaniu systemu komputerowego. Jej głównym zadaniem jest tymczasowe przechowywanie danych i instrukcji, które są niezbędne dla procesora w trakcie wykonywania programów. Kiedy uruchamiamy aplikację, jej kod oraz dane są ładowane z pamięci masowej (np. dysku twardego) do pamięci RAM, co umożliwia szybki dostęp do nich przez procesor. Dzięki dużej prędkości działania pamięć operacyjna znacząco przyspiesza procesy obliczeniowe, ponieważ operacje na danych przechowywanych w RAM są wielokrotnie szybsze niż na danych znajdujących się na dysku twardym. Współczesne komputery często wyposażone są w kilka gigabajtów pamięci RAM, co pozwala na efektywne zarządzanie wieloma uruchomionymi aplikacjami jednocześnie. Standardy takie jak DDR4 i DDR5 określają nie tylko wydajność, ale również szybkość przesyłania danych, co ma kluczowe znaczenie w kontekście wydajności systemu komputerowego. W efekcie, pamięć operacyjna jest niezbędna do płynnego działania systemu operacyjnego oraz aplikacji, a jej pojemność i szybkość mają bezpośredni wpływ na ogólną wydajność komputera.

Pytanie 2

Jaka jest podstawowa funkcja narzędzia do zarządzania projektami?

A. Zarządzanie zadaniami i czasem w projekcie
B. Opracowanie bazy danych dla projektu
C. Produkcja animacji komputerowych
D. Poprawa wydajności kodu programu
Zarządzanie zadaniami i czasem to naprawdę kluczowa sprawa w projektach. Dzięki narzędziom takim jak Microsoft Project, Jira, Trello, czy Monday, zespoły mogą lepiej planować, przydzielać role i śledzić, co się dzieje. Możliwości tych narzędzi pozwalają ustalać deadline’y, priorytety, a nawet automatycznie przypominają o zbliżających się terminach. To super pomaga w unikaniu opóźnień i pozwala lepiej zorganizować pracę. Wizualizacja projektu w formie osi czasu czy tablicy kanban też jest mega przydatna, bo wszystko staje się bardziej czytelne.

Pytanie 3

Która metoda w obrębie klasy jest uruchamiana automatycznie podczas tworzenia kopii obiektu?

A. Destruktor
B. Konstruktor kopiujący
C. Metoda zaprzyjaźniona
D. Metoda statyczna
Konstruktor kopiujący to taka specyficzna metoda w klasie, która działa, kiedy robimy nowy obiekt jako kopię już istniejącego. Dzięki temu możemy skopiować wartości pól z jednego obiektu do drugiego. To naprawdę ważne, zwłaszcza gdy mówimy o zarządzaniu pamięcią. Na przykład w C++ może to wyglądać tak: `Samochod(const Samochod &inny) { marka = inny.marka; przebieg = inny.przebieg; }`. Konstruktor kopiujący ma na celu uniknięcie problemów związanych z tzw. płytkim kopiowaniem, co może prowadzić do różnych błędów, jak wielokrotne zwolnienie tej samej pamięci. Generalnie mówiąc, jest to kluczowy mechanizm, który pomaga utrzymać bezpieczeństwo i poprawność działania naszej aplikacji.

Pytanie 4

Jednym z kroków publikacji aplikacji mobilnej w Google Play są testy Beta, które charakteryzują się tym, że są:

A. realizowane przez zespół zatrudnionych testerów z Google
B. podzielone na testy dotyczące funkcjonalności, wydajności i skalowalności
C. przeprowadzane przez grupę docelowych użytkowników aplikacji
D. prowadzone w oparciu o dokument zawierający przypadki testowe
Testy Beta w Google Play są wykonywane przez rzeczywistych użytkowników, którzy zgłaszają błędy i proponują zmiany. Jest to kluczowy etap testowania, który pozwala na ocenę aplikacji w warunkach zbliżonych do rzeczywistego użytkowania przed oficjalną premierą. Testy te pomagają wykrywać błędy, które mogły zostać pominięte podczas testów wewnętrznych.

Pytanie 5

Które z wymienionych stanowi przykład struktury dziedziczenia?

A. Klasa Samochód i Pojazd nie są ze sobą powiązane
B. Klasa Pojazd ma dziedziczenie od klasy Samochód
C. Klasa Samochód ma dziedziczenie od klasy Pojazd
D. Klasa Pojazd nie dziedziczy z żadnej klasy
Hierarchia dziedziczenia to struktura klas, w której klasa pochodna dziedziczy właściwości i metody klasy bazowej. Klasa 'Samochód' dziedzicząca po klasie 'Pojazd' jest przykładem prawidłowej hierarchii dziedziczenia – klasa 'Samochód' rozszerza klasę 'Pojazd', dziedzicząc ogólne właściwości pojazdu, takie jak prędkość czy typ silnika. Dziedziczenie umożliwia rozszerzanie istniejącej funkcjonalności bez konieczności przepisywania tego samego kodu, co jest jednym z fundamentów programowania obiektowego.

Pytanie 6

Które z poniższych twierdzeń najlepiej charakteryzuje bibliotekę w kontekście programowania?

A. Zbiór zmiennych globalnych, które są dostępne w trakcie działania aplikacji
B. Zestaw funkcji i klas, które mogą być wykorzystywane w aplikacjach
C. Zbiór kodu źródłowego, który jest stosowany wyłącznie w fazie kompilacji aplikacji
D. Plik wykonywalny, który funkcjonuje jako odrębny program
Biblioteka w programowaniu to taka paczka różnych funkcji i klas, które można wykorzystać w wielu projektach. Dzięki nim programiści mają łatwiej, bo korzystają z gotowych rozwiązań, co oszczędza czas na pisanie aplikacji. W bibliotekach można znaleźć przeróżne moduły – od prostych funkcji matematycznych po skomplikowane narzędzia do obsługi grafiki, sieci czy baz danych. Znam parę popularnych bibliotek, takich jak React.js w JavaScript, NumPy w Pythonie czy STL w C++. Używanie bibliotek sprawia, że praca programisty jest efektywniejsza, a tworzenie bardziej złożonych aplikacji idzie szybciej, bo nie musisz wszystkiego pisać od podstaw.

Pytanie 7

Jakie jest podstawowe działanie w ochronie miejsca zdarzenia?

A. Zagwarantowanie stabilności ciała rannego
B. Zastosowanie sterylnych materiałów opatrunkowych
C. Zagwarantowanie odpowiedniego oświetlenia
D. Usunięcie niebezpiecznych przedmiotów z otoczenia
Z mojego doświadczenia, usunięcie niebezpiecznych rzeczy z miejsca, gdzie doszło do wypadku, to naprawdę kluczowa sprawa. Dzięki temu zmniejszamy szanse na dodatkowe obrażenia i możemy lepiej pomóc poszkodowanemu, nie narażając siebie na ryzyko. Na przykład, warto odsunąć ostre narzędzia, wyłączyć działające maszyny czy podnieść ciężkie przedmioty, które mogłyby kogoś zranić. Takie działania są istotne w każdej sytuacji, czy to wypadek na drodze, czy w pracy.

Pytanie 8

W języku C# szablon List zapewnia funkcjonalność listy. Z tworzenia obiektu typu List wynika, że jego składnikami są

Ilustracja do pytania
A. liczby rzeczywiste
B. liczby całkowite
C. elementy o nieokreślonym typie
D. elementy typu List
Szablon List<int> w języku C# implementuje listę, której elementami są liczby całkowite. Jest to przykład zastosowania kolekcji generycznych, które wprowadzają typowanie silne w czasie kompilacji, co pozwala na uniknięcie błędów typowych dla kolekcji niegenerycznych. Definiując List<int> deklarujesz, że lista będzie przechowywać tylko liczby całkowite. Dzięki temu kompilator może wykrywać błędy związane z typowaniem już podczas pisania kodu, co zwiększa jego niezawodność i bezpieczeństwo. Typ generyczny T w List<T> umożliwia tworzenie kolekcji przechowujących dowolny typ, co ułatwia ponowne wykorzystanie kodu i zgodność z zasadą DRY (Don't Repeat Yourself). W praktyce List<int> jest szeroko stosowany w scenariuszach wymagających dynamicznie rozwijanych kolekcji, które nie ograniczają się do statycznej liczby elementów, takich jak tablice. Listy generyczne są wydajniejsze i bardziej elastyczne dzięki metodom takim jak Add, Remove czy Contains, które operują na elementach określonego typu. Dzięki implementacji IEnumerable/Listy są również zgodne z LINQ, co umożliwia stosowanie złożonych zapytań i operacji na danych, takich jak filtrowanie i sortowanie, w sposób czytelny i efektywny.

Pytanie 9

Jakiego kwalifikatora powinno się użyć dla metody, aby umożliwić do niej dostęp jedynie z wnętrza tej klasy oraz klas dziedziczących, a także, by metoda ta nie była dostępna w żadnej funkcji?

A. reinterpret_cast
B. private
C. public
D. protected
Metoda oznaczona jako 'protected' jest dostępna tylko z poziomu klasy oraz jej klas potomnych. Chroni to przed bezpośrednim dostępem spoza klasy, zapewniając większe bezpieczeństwo kodu i ograniczenie dostępu.

Pytanie 10

Jakie narzędzie najlepiej sprawdza się w przekształcaniu liczby szesnastkowej na binarną?

A. Program do edycji tekstu
B. Aplikacja internetowa
C. Kalkulator programisty
D. Program do arkuszy kalkulacyjnych
Kalkulator programisty jest najbardziej odpowiednim narzędziem do konwersji liczby szesnastkowej na binarną ze względu na swoje wyspecjalizowane funkcje matematyczne i programistyczne. Narzędzia te umożliwiają użytkownikom łatwe przekształcanie różnych systemów liczbowych, w tym konwersji z systemu szesnastkowego (hex) na system binarny. Kalkulatory programistyczne często zawierają dedykowane opcje dla konwersji liczbowej, co pozwala na szybkie i dokładne uzyskanie wyników bez potrzeby stosowania skomplikowanych algorytmów lub wzorów. Na przykład, aby przekształcić liczbę szesnastkową '1A' na binarną, użytkownik wprowadza '1A' do kalkulatora, a wynik '00011010' zostaje automatycznie wygenerowany. Dodatkowo, wiele kalkulatorów programistycznych jest zgodnych z międzynarodowymi standardami, co zapewnia ich wiarygodność w obliczeniach. Warto również zauważyć, że kalkulatory programistyczne mogą obsługiwać konwersje z różnych systemów liczbowych, co czyni je wszechstronnym narzędziem w pracy z danymi cyfrowymi i kodowaniem. Dzięki temu, kalkulator programisty stanowi idealne rozwiązanie dla programistów i inżynierów, którzy regularnie pracują z różnymi formatami danych.

Pytanie 11

Jakie składniki powinien mieć plan projektu?

A. Wyłącznie etapy projektu
B. Etapy projektu, ramy czasowe, zasoby i zadania
C. Tylko czas wykonania i budżet
D. Terminy i zasoby ludzkie
Harmonogram projektu powinien zawierać etapy projektu, ramy czasowe, zasoby oraz zadania. Taka kompleksowa struktura umożliwia skuteczne zarządzanie projektem i pozwala na śledzenie postępów. Każdy etap harmonogramu powinien być dokładnie opisany, a zadania powinny być przypisane do odpowiednich członków zespołu. Uwzględnienie zasobów i ram czasowych pozwala na precyzyjne planowanie i minimalizuje ryzyko opóźnień. Harmonogram stanowi nieodłączny element projektów zarządzanych zarówno w modelu Waterfall, jak i Agile, dostarczając przejrzystość na każdym etapie realizacji.

Pytanie 12

Która z metod zarządzania projektami jest najbardziej odpowiednia, gdy w początkowej fazie projektu zakres nie jest w pełni określony, wymagania mogą zmieniać się podczas realizacji, a także mogą wystąpić nowe potrzeby?

A. Agile
B. Model V
C. Model kaskadowy
D. PRINCE2
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 13

Jaką strukturę danych można zrealizować, korzystając jedynie z wymienionych poniżej metod:

Ilustracja do pytania
A. drzewo binarne
B. stos
C. tablica
D. kolejka
Stos (LIFO) to struktura danych, w której elementy dodawane są na wierzchołek i zdejmowane w odwrotnej kolejności (Last In, First Out). Podstawowe operacje to 'push' (dodanie elementu) i 'pop' (usunięcie elementu). Stos jest szeroko stosowany w algorytmach rekurencyjnych, wycofywaniu operacji (undo) i zarządzaniu pamięcią.

Pytanie 14

Która z dokumentacji funkcji odpowiada przedstawionemu kodowi źródłowemu?

Ilustracja do pytania
A. Dokumentacja 4
B. Dokumentacja 1
C. Dokumentacja 2
D. Dokumentacja 3
Dokumentacja 2 jest prawidłowa i precyzyjnie opisuje funkcję, jej parametry oraz wartość zwracaną. Zgodność dokumentacji z kodem jest kluczowa dla późniejszego utrzymania oraz rozszerzania aplikacji.

Pytanie 15

Jakie zastosowanie ma język Swift w zakresie aplikacji mobilnych?

A. Do przeprowadzania testów aplikacji mobilnych
B. Do tworzenia aplikacji na system Android
C. Do zarządzania bazami danych w aplikacjach mobilnych
D. Do tworzenia aplikacji na system iOS
Swift to język programowania stworzony przez Apple, który służy do tworzenia aplikacji na system iOS, macOS, watchOS i tvOS. Swift został zaprojektowany z myślą o nowoczesnym i bezpiecznym programowaniu, eliminując wiele typowych błędów spotykanych w Objective-C, takich jak null pointer exceptions. Dzięki swojej wydajności, przejrzystej składni i integracji z XCode, Swift stał się standardem w ekosystemie Apple. Język wspiera interaktywną platformę Playground, co umożliwia szybkie testowanie kodu, a także pełną integrację z narzędziami Apple, co czyni go niezbędnym narzędziem dla deweloperów aplikacji na iPhone'y i iPady.

Pytanie 16

Która z operacji logicznych zwróci wartość "true", gdy obie zmienne są sobie 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 17

Która z poniższych informacji o pojęciu obiekt jest prawdziwa?

A. obiekt oraz klasa są identyczne
B. obiekt to typ złożony
C. obiekt pozwala na zdefiniowanie klasy
D. obiekt jest instancją klasy
Obiekt to instancja klasy, co oznacza, że klasa działa jako szablon lub plan, a obiekt jest jej konkretnym przykładem. W programowaniu obiektowym klasa definiuje właściwości i metody, które mogą być wykorzystywane przez obiekty. Obiekty są podstawą manipulacji danymi i interakcji w aplikacjach obiektowych, co umożliwia enkapsulację, dziedziczenie i polimorfizm. Każdy obiekt ma swoją unikalną tożsamość, stan i zachowanie, co pozwala na modelowanie rzeczywistych bytów w kodzie.

Pytanie 18

Która z wymienionych kart graficznych oferuje lepszą wydajność w grach komputerowych?

A. Intel UHD Graphics 630 - zintegrowana
B. NVIDIA GeForce GTX 1050 Ti - 4GB GDDR5, 128-bit
C. AMD Radeon RX 580 - 8GB GDDR5, 256-bit
D. AMD Radeon R7 240 - 2GB GDDR5, 64-bit
AMD Radeon RX 580 to karta graficzna, która zapewnia wyższą wydajność w grach komputerowych w porównaniu do innych wymienionych opcji. Wyposażona w 8GB pamięci GDDR5 oraz 256-bitową szynę danych, karta ta jest w stanie obsługiwać bardziej złożone tekstury oraz większe rozdzielczości. Jej architektura Polaris pozwala na lepsze zarządzanie energią oraz wydajność w grach, co czyni ją idealnym wyborem dla graczy. Dzięki obsłudze technologii DirectX 12 i Vulkan, RX 580 jest w stanie wykorzystać najnowsze osiągnięcia w dziedzinie grafiki, co przekłada się na wyższą jakość obrazu oraz płynność animacji. Przykłady gier, w których RX 580 sprawdza się najlepiej to 'Far Cry 5' czy 'Shadow of the Tomb Raider', gdzie karta umożliwia granie w wysokich ustawieniach graficznych z zachowaniem wysokiej liczby klatek na sekundę. Standardy, takie jak PCIe 3.0, zapewniają pełną kompatybilność z nowoczesnymi płytami głównymi, co czyni tę kartę doskonałym wyborem dla entuzjastów gier komputerowych.

Pytanie 19

Jak wygląda kod uzupełnienia do dwóch dla liczby -5 w formacie binarnym przy użyciu 8 bitów?

A. 10000101
B. 11111011
C. 11111101
D. 00000101
Aby obliczyć kod uzupełnieniowy do dwóch dla liczby -5 w zapisie binarnym na 8 bitach, należy najpierw przedstawić liczbę 5 w postaci binarnej, co daje 00000101. Zgodnie z zasadą uzupełnienia do dwóch, aby uzyskać reprezentację liczby ujemnej, najpierw inwertujemy wszystkie bity tej liczby. Inwersja 00000101 prowadzi do 11111010. Następnie dodajemy 1 do wyniku inwersji: 11111010 + 1 = 11111011. Ostatecznie, kod uzupełnieniowy do dwóch dla -5 na 8 bitach to 11111011. Ta metoda jest powszechnie stosowana w systemach komputerowych i umożliwia efektywne operacje arytmetyczne na liczbach całkowitych, w tym na liczbach ujemnych, co jest kluczowe w kontekście programowania i projektowania systemów. Warto zaznaczyć, że standardy takie jak IEEE 754 definiują zasady reprezentacji liczb zmiennoprzecinkowych, ale w przypadku liczb całkowitych, kod uzupełnieniowy do dwóch pozostaje standardem w większości architektur komputerowych.

Pytanie 20

Który z wymienionych programów jest przeznaczony do zarządzania projektami przy pomocy tablic kanban?

A. Jira
B. Trello
C. Photoshop
D. Word
Trello to narzędzie do zarządzania projektami, które wykorzystuje tablice kanban do organizacji i monitorowania zadań. Użytkownicy mogą tworzyć karty reprezentujące poszczególne zadania, które następnie są przenoszone między kolumnami odzwierciedlającymi etapy realizacji. Dzięki swojej prostocie i intuicyjności Trello jest szeroko stosowane zarówno w małych zespołach, jak i dużych organizacjach. Umożliwia efektywne zarządzanie projektami, planowanie sprintów oraz monitorowanie bieżącego statusu prac. Tablice kanban pomagają wizualizować przepływ pracy, co ułatwia identyfikację wąskich gardeł i zarządzanie priorytetami.

Pytanie 21

Na podstawie zamieszczonego fragmentu kodu można stwierdzić, że element o nazwie rysunek jest

Ilustracja do pytania
A. obiektem
B. konstruktorem
C. polem w klasie
D. metodą w klasie
Zobacz, 'rysunek' w tym kodzie to metoda klasy. Skąd to wiem? Po tym, że mamy nawiasy. Metody klasy są super przydatne, bo pozwalają na robienie różnych rzeczy z obiektami albo zwracanie wyników na zewnątrz.

Pytanie 22

Sposób deklaracji Klasa2 wskazuje, że

Ilustracja do pytania
A. Klasa1 jest dzieckiem Klasy2
B. Klasa2 stanowi klasę bazową
C. Klasa1 dziedziczy od Klasa2
D. Klasa2 dziedziczy od Klasa1
Deklaracja Klasa2 jako klasy dziedziczącej po Klasa1 oznacza, że Klasa2 przejmuje wszystkie publiczne i chronione (protected) pola oraz metody klasy bazowej (Klasa1). Dziedziczenie to jeden z filarów programowania obiektowego, który umożliwia ponowne wykorzystanie kodu i rozszerzanie funkcjonalności istniejących klas. Dzięki temu Klasa2 może nie tylko korzystać z metod Klasa1, ale także nadpisywać je, co jest kluczowe dla implementacji polimorfizmu. Dziedziczenie pozwala na budowanie hierarchii klas, co prowadzi do lepszego zarządzania kodem i ułatwia jego skalowalność. Przykładem może być klasa Pojazd, z której dziedziczy klasa Samochod, rozszerzając jej funkcjonalność o dodatkowe cechy i metody specyficzne dla samochodów.

Pytanie 23

Narzędzie przeznaczone do rozwijania aplikacji w systemie WPf (ang. Windows Presentation Foundation) to

A. Visual Studio
B. NetBeans
C. XamarinStudio
D. PyCharm
Visual Studio jest dedykowanym narzędziem do implementacji aplikacji w środowisku WPF (Windows Presentation Foundation). Umożliwia projektowanie interfejsów użytkownika i zarządzanie projektami opartymi na XAML.

Pytanie 24

Zmienna o typie logicznym może mieć następujące wartości:

A. true, false
B. 0 oraz każda liczba całkowita
C. trzy dowolne liczby naturalne
D. 1, -1
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.

Pytanie 25

Jakie metody pozwalają na przesłanie danych z serwera do aplikacji front-end?

A. metody POST
B. biblioteki jQuery
C. formatu JSON
D. protokołu SSH
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 26

Programem służącym do monitorowania błędów oraz organizacji projektów jest:

A. Jira
B. Bugzilla
C. Git
D. Jasmine
Jira to świetne narzędzie, które pomaga w śledzeniu błędów i zarządzaniu projektami. Dzięki niemu można łatwo prowadzić dokumentację i organizować zadania w zespole. Dlatego wiele zespołów IT wybiera właśnie to rozwiązanie, bo ułatwia pracę i poprawia komunikację.

Pytanie 27

Technika konstruowania algorytmu polegająca na rozbiciu na dwa lub więcej mniejszych podproblemów, aż do momentu, gdy ich części będą wystarczająco proste do bezpośredniego rozwiązania, nosi nazwę:

A. najkrótszej trasy
B. heurystycznej
C. dziel i zwyciężaj
D. komiwojażera
Metoda 'dziel i zwyciężaj' polega na podziale problemu na mniejsze podproblemy, aż do osiągnięcia najprostszych przypadków, które można łatwo rozwiązać. To podejście jest stosowane w algorytmach takich jak Merge Sort czy QuickSort.

Pytanie 28

Jakie jest główne zadanie debuggera w środowisku programowania?

A. Tworzenie kodu źródłowego
B. Analiza i usuwanie błędów w kodzie
C. Generowanie plików wykonywalnych
D. Kompilowanie kodu źródłowego
Debugger to narzędzie programistyczne służące do analizy i usuwania błędów w kodzie źródłowym. Pozwala na krokowe wykonywanie programu, śledzenie wartości zmiennych i identyfikowanie miejsc, w których występują błędy logiczne lub składniowe. Debugger umożliwia zatrzymanie wykonania programu w dowolnym miejscu, ustawienie tzw. breakpointów (punktów przerwania) i monitorowanie przepływu sterowania. Dzięki temu programista może dokładnie przeanalizować, dlaczego program nie działa zgodnie z oczekiwaniami i szybko znaleźć przyczynę problemu. Debuggery są dostępne w większości zintegrowanych środowisk programistycznych (IDE), takich jak Visual Studio, PyCharm czy IntelliJ IDEA.

Pytanie 29

W jakiej sytuacji należy umieścić poszkodowanego w bezpiecznej pozycji bocznej?

A. gdy wystąpi uszkodzenie kręgosłupa
B. gdy osoba omdleje, ale oddycha
C. w sytuacji omdlenia i braku tętna
D. w przypadku urazu pleców, gdy osoba jest przytomna
Osobę po omdleniu, która oddycha, należy ułożyć w pozycji bocznej bezpiecznej. Taka pozycja zapobiega zadławieniu i zapewnia drożność dróg oddechowych, co jest kluczowe dla bezpieczeństwa poszkodowanego.

Pytanie 30

Jakie informacje mogą być zapisywane w cookies przeglądarki?

A. Kod źródłowy aplikacji internetowej
B. Preferencje użytkownika, takie jak język lub styl strony
C. Prywatne dane użytkownika, na przykład hasła
D. Dane przechowywane w systemie baz danych
Preferencje użytkownika, takie jak język strony, motyw kolorystyczny lub preferencje dotyczące układu, są typowymi danymi przechowywanymi w ciasteczkach przeglądarki. Mechanizm ciasteczek pozwala na personalizację doświadczenia użytkownika i jest szeroko stosowany w aplikacjach webowych w celu dostosowania interfejsu do indywidualnych potrzeb. Cookies umożliwiają także zapamiętywanie sesji użytkownika, co pozwala uniknąć konieczności wielokrotnego logowania. Informacje te są przechowywane lokalnie w przeglądarce użytkownika i mogą być odczytywane przez aplikację podczas każdej wizyty. Stosowanie ciasteczek zgodnie z przepisami, takimi jak RODO (GDPR), wymaga informowania użytkownika o ich przeznaczeniu oraz uzyskiwania jego zgody na ich przechowywanie, co zapewnia transparentność i zgodność z prawem.

Pytanie 31

W jakiej topologii sieciowe wszystkie urządzenia są bezpośrednio powiązane z każdym innym?

A. Topologia pierścienia
B. Topologia siatki
C. Topologia gwiazdy
D. Topologia magistrali
Topologia siatki to jedna z najbardziej wydajnych i wszechstronnych struktur sieciowych, w której każde urządzenie (węzeł) jest połączone bezpośrednio z każdym innym węzłem. Tego typu topologia zapewnia wysoką dostępność i odporność na awarie, ponieważ awaria jednego połączenia nie wpływa na komunikację pozostałych węzłów. W praktyce ma to zastosowanie w dużych, zaawansowanych sieciach komputerowych, takich jak sieci miejskie (MAN) czy sieci szerokopasmowe. Istnieją dwie główne formy topologii siatki: siatka pełna, gdzie każde urządzenie ma bezpośrednie połączenia z wszystkimi innymi, oraz siatka częściowa, gdzie nie wszystkie węzły są ze sobą bezpośrednio połączone, ale komunikacja jest możliwa przez inne węzły. Topologia siatki, z uwagi na swoje zalety, jest często wykorzystywana w standardach sieciowych, takich jak Ethernet, oraz w systemach rozproszonych, gdzie kluczowe są niezawodność i efektywność przesyłania danych. Dodatkowo, w kontekście Internetu rzeczy (IoT), topologia siatki umożliwia efektywne zarządzanie dużą liczbą urządzeń, co jest kluczowe w inteligentnych miastach i automatyzacji domowej.

Pytanie 32

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

A. Zbiór urządzeń technicznych używanych w pracy biurowej
B. Oprogramowanie wspierające jedynie zarządzanie danymi osobowymi
C. Sieć komputerowa, która umożliwia komunikację pomiędzy użytkownikami
D. Zespół ludzi, procedur, oprogramowania i sprzętu służący do przetwarzania danych
System informatyczny to kompleksowy zbiór elementów, który obejmuje ludzi, procedury, oprogramowanie oraz sprzęt, mający na celu przetwarzanie danych w sposób efektywny i zorganizowany. Kluczowym aspektem systemu informatycznego jest jego zdolność do integracji różnych komponentów w celu realizacji określonych zadań i osiągania wyznaczonych celów. Przykładem może być system ERP (Enterprise Resource Planning), który integruje finanse, produkcję, sprzedaż oraz zarządzanie zasobami ludzkimi w jednym środowisku. Takie zintegrowane podejście umożliwia nie tylko efektywne zarządzanie danymi, ale również generowanie raportów, analizę trendów oraz podejmowanie informowanych decyzji. Standardy, takie jak ITIL (Information Technology Infrastructure Library) czy CMMI (Capability Maturity Model Integration), podkreślają znaczenie procedur i zarządzania w kontekście systemów informatycznych, co wpływa na jakość usług i zadowolenie użytkowników. Systemy informatyczne są wykorzystywane w różnych branżach, od finansów po opiekę zdrowotną, gdzie przetwarzanie i zarządzanie danymi jest kluczowe dla efektywności operacyjnej.

Pytanie 33

Który z wymienionych kroków wchodzi w skład testowania aplikacji?

A. Projektowanie bazy danych
B. Kompilowanie aplikacji
C. Opracowywanie interfejsu graficznego
D. Debugowanie kodu w celu znalezienia błędów
Debugowanie kodu w celu znalezienia błędów to jeden z kluczowych etapów testowania aplikacji. Proces ten polega na uruchamianiu programu w trybie debugowania, co pozwala na śledzenie jego działania linijka po linijce i identyfikowanie miejsc, w których występują błędy. Debugowanie umożliwia analizowanie wartości zmiennych, śledzenie przepływu programu i wykrywanie nieoczekiwanych zachowań, co jest niezbędne do usunięcia błędów i poprawy wydajności aplikacji. Narzędzia do debugowania, takie jak Visual Studio, PyCharm czy Chrome DevTools, pozwalają na dokładne testowanie kodu na różnych etapach jego rozwoju, co znacząco skraca czas naprawy błędów i zwiększa jakość oprogramowania.

Pytanie 34

Jak określa się proces, w trakcie którego klasa przejmuje właściwości innej klasy w programowaniu obiektowym?

A. Abstrakcja
B. Dziedziczenie
C. Hermetyzacja
D. Polimorfizm
Dziedziczenie to kluczowa cecha programowania obiektowego (OOP), która pozwala jednej klasie (klasie pochodnej) przejmować cechy i zachowania innej klasy (klasy bazowej). Dzięki dziedziczeniu można wielokrotnie wykorzystywać kod, co prowadzi do większej modularności i zmniejszenia redundancji. Dziedziczenie umożliwia rozszerzanie funkcjonalności klas bazowych poprzez dodawanie nowych metod lub modyfikowanie istniejących, bez konieczności ingerencji w oryginalny kod. Przykład w C++: `class Pojazd { ... }; class Samochod : public Pojazd { ... };` – `Samochod` dziedziczy wszystkie publiczne i chronione (protected) elementy klasy `Pojazd`.

Pytanie 35

Programista aplikacji mobilnych pragnie zmienić swoją ścieżkę kariery na Full-Stack Developera. Wskaż kurs, który powinien wybrać, żeby to osiągnąć?

A. Raster and Vector Graphics with Adobe
B. Complete JavaScript React, SQL, Node.js Cource
C. Ultimate C# Serier from Beginner to Advanced
D. Mastering Cross-platform Developping
Kurs 'Complete JavaScript React, SQL, Node.js Course' obejmuje naukę pełnego stosu technologii webowych, umożliwiając przejście z roli developera mobilnego na stanowisko Full-Stack Developer. Kurs ten pokrywa zarówno frontend (React), jak i backend (Node.js, SQL), co jest kluczowe dla pracy full-stack.

Pytanie 36

Które z wymienionych poniżej błędów podczas wykonywania programu można obsłużyć poprzez zastosowanie wyjątków?

A. Niekompatybilność typów danych w kodzie
B. Błąd w składni
C. Błąd dzielenia przez zero
D. Błąd kompilacyjny
W języku C++ wyjątki pozwalają na obsługę błędów wykonania, takich jak dzielenie przez zero. Jest to klasyczny przykład błędu, który może prowadzić do nieprzewidywalnych rezultatów lub awarii programu. Dzięki użyciu wyjątków można zapobiec katastrofalnym skutkom takich błędów, przekierowując sterowanie do odpowiedniego bloku 'catch', gdzie można podjąć działania naprawcze lub zakończyć program w kontrolowany sposób. Obsługa błędów takich jak dzielenie przez zero jest kluczowa w programowaniu niskopoziomowym i aplikacjach wymagających wysokiej niezawodności.

Pytanie 37

Jednym z kroków przy publikacji aplikacji mobilnej w sklepie Google Play są testy Beta, które charakteryzują się tym, że są one

A. podzielone na testy funkcjonalne, wydajnościowe oraz skalowalności
B. realizowane przez zespół testerów zatrudnionych przez firmę Google
C. przeprowadzane na podstawie dokumentu zawierającego przypadki testowe
D. przeprowadzane przez grupę docelowych użytkowników aplikacji
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 38

Który z wymienionych mechanizmów umożliwia ograniczenie dostępu do wybranych sekcji aplikacji webowej?

A. System logowania i kontroli dostępu
B. Pliki CSS statyczne
C. Mechanizm renderowania treści
D. Formularze dynamiczne
System logowania i kontroli dostępu to kluczowy mechanizm, który pozwala na ograniczenie dostępu do niektórych części aplikacji webowej. Logowanie umożliwia uwierzytelnienie użytkowników i przypisanie im odpowiednich ról, co definiuje poziom dostępu do zasobów. Dzięki mechanizmom autoryzacji możliwe jest kontrolowanie, które funkcje lub sekcje aplikacji są dostępne dla poszczególnych użytkowników. Kontrola dostępu może być realizowana za pomocą tokenów JWT (JSON Web Token), sesji lub kluczy API, co zapewnia dodatkowe warstwy zabezpieczeń. Wdrożenie takich systemów jest nieodzowne w aplikacjach webowych oferujących różne poziomy funkcjonalności, takich jak panele administracyjne, portale użytkowników czy aplikacje bankowe. Odpowiednie zarządzanie uprawnieniami jest fundamentem bezpieczeństwa aplikacji.

Pytanie 39

Jaki jest podstawowy okres ochrony autorskich praw majątkowych w krajach Unii Europejskiej?

A. 70 lat od zgonu autora
B. 50 lat od chwili pierwszej publikacji utworu
C. 75 lat od daty powstania utworu
D. Bezterminowo
Podstawowy czas trwania autorskich praw majątkowych w Unii Europejskiej wynosi 70 lat od śmierci autora. Oznacza to, że przez ten okres twórca lub jego spadkobiercy mają wyłączne prawo do korzystania z utworu i czerpania z niego korzyści finansowych. Po upływie tego czasu dzieło przechodzi do domeny publicznej i może być swobodnie wykorzystywane przez każdego, bez konieczności uzyskania zgody. Długość ochrony praw autorskich została ujednolicona w ramach przepisów UE, aby zagwarantować spójność w całej wspólnocie i wspierać ochronę kultury oraz dziedzictwa narodowego.

Pytanie 40

Z podanej definicji pola licznik można wywnioskować, iż

Ilustracja do pytania
A. pole jest związane z określoną instancją klasy i jego wartość jest unikalna tylko dla tej instancji
B. pole nie może być zmieniane w kodzie klasy
C. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy
D. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy i nie może być zmieniana
Aktualna wartość pola licznik jest wspólna dla wszystkich instancji klasy, co oznacza, że jest to pole statyczne (static). Wartość takiego pola zmienia się globalnie dla całej klasy, a nie dla poszczególnych obiektów.