Wyniki egzaminu

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

Egzamin zdany!

Wynik: 37/40 punktów (92,5%)

Wymagane minimum: 20 punktów (50%)

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

Która z poniższych właściwości odnosi się do sieci bezprzewodowej?

A. Jest bardziej narażona na zakłócenia w przesyłaniu danych
B. Nie potrzebuje zabezpieczeń, ponieważ jest domyślnie chroniona
C. Nie funkcjonuje w obszarach z dużą liczbą urządzeń
D. Wymaga zastosowania przewodów do łączenia urządzeń
Sieci bezprzewodowe charakteryzują się tym, że wykorzystują fale radiowe do transmisji danych, co sprawia, że są bardziej podatne na zakłócenia. Zakłócenia te mogą pochodzić z różnych źródeł, takich jak inne urządzenia bezprzewodowe, mikrofalówki, czy nawet fizyczne przeszkody, takie jak ściany. W przypadku sieci Wi-Fi, które są powszechnie stosowane w domach i biurach, sygnał radiowy może być osłabiony przez metalowe obiekty oraz inne materiały budowlane. To zjawisko można zminimalizować, stosując nowoczesne standardy, takie jak IEEE 802.11ac, które oferują lepszą wydajność i stabilność sygnału. Praktycznym przykładem jest sytuacja, w której użytkownicy znajdują się w gęsto zabudowanym obszarze miejskim, gdzie wiele sieci Wi-Fi działa jednocześnie, co zwiększa ryzyko zakłóceń i wpływa na jakość połączenia. Zrozumienie tej cechy sieci bezprzewodowych jest kluczowe dla ich efektywnego użytkowania oraz projektowania.

Pytanie 2

Jaką cechę powinien posiadać dobry negocjator?

A. myślenie tylko o sobie
B. przechwalanie się
C. brak pewności
D. spokój
Cechą dobrego negocjatora jest opanowanie, które odgrywa kluczową rolę w procesie negocjacji. Osoba potrafiąca zachować spokój w trudnych sytuacjach może lepiej ocenić sytuację, zrozumieć potrzeby drugiej strony oraz zidentyfikować potencjalne punkty konfliktu. Opanowanie pozwala na skuteczne zarządzanie emocjami, co jest niezbędne w celu osiągnięcia korzystnych rezultatów. Przykładem może być sytuacja, w której negocjator musi zmierzyć się z agresywnym przeciwnikiem; zachowanie zimnej krwi pozwala na analizę sytuacji bez emocjonalnych impulsów. Ponadto, opanowanie wpływa na postrzeganie osoby negocjującej przez innych, budując zaufanie i respekt. W kontekście standardów negocjacyjnych, takich jak BATNA (Best Alternative to a Negotiated Agreement), opanowanie umożliwia lepsze podejmowanie decyzji w trudnych sytuacjach. Dlatego umiejętność zachowania spokoju jest fundamentem skutecznych negocjacji.

Pytanie 3

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

Ilustracja do pytania
A. kolejka
B. drzewo binarne
C. tablica
D. stos
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 4

Jakie jest oznaczenie normy międzynarodowej?

A. ISO
B. CE
C. PN
D. EN
ISO (International Organization for Standardization) to międzynarodowa organizacja zajmująca się opracowywaniem i wdrażaniem standardów technicznych. Oznaczenie ISO wskazuje, że produkt lub usługa spełnia międzynarodowe normy jakości i bezpieczeństwa, co ułatwia handel oraz współpracę na arenie międzynarodowej. Normy ISO obejmują szeroki zakres dziedzin, takich jak zarządzanie jakością (ISO 9001), zarządzanie środowiskowe (ISO 14001) czy bezpieczeństwo informacji (ISO 27001). Certyfikacja ISO buduje zaufanie klientów i zwiększa konkurencyjność firmy na rynku globalnym.

Pytanie 5

Algorytm wyszukiwania sekwencyjnego z wykorzystaniem wartownika opiera się na założeniu, że

A. na końcu analizowanego zbioru należy dodać wartownika
B. zbiór danych wejściowych musi być uporządkowany
C. zbiór ma zawsze 100 elementów
D. szukany element powinien wystąpić wielokrotnie w zbiorze
Algorytm sekwencyjnego wyszukiwania elementu z wartownikiem jest techniką optymalizacji procesu wyszukiwania w strukturach danych, która znacząco zwiększa efektywność operacji w przypadkach, gdy zbiór danych jest duży. Wartownik to specjalny element, który jest dodawany na końcu przeszukiwanego zbioru, co pozwala na uproszczenie warunków zakończenia pętli przeszukiwania. Kiedy algorytm przeszukuje zbiór, porównuje każdy element z poszukiwanym, a gdy znajdzie element, może zakończyć działanie. Dodanie wartownika pozwala uniknąć potrzeby sprawdzania, czy aktualnie przeszukiwany element jest ostatnim z oryginalnego zbioru, co z kolei zmniejsza liczbę porównań i przyspiesza proces wyszukiwania. W praktyce algorytm ten jest szczególnie użyteczny w przypadku niewielkich zbiorów danych, gdzie efektywność jest kluczowa. Przykładem zastosowania może być edytor tekstu, w którym użytkownik wyszukuje konkretne słowa w dokumencie, a dodanie wartownika usprawnia ten proces. Zgodnie z zasadami wydajnego programowania, ta technika stanowi jeden z podstawowych mechanizmów stosowanych w algorytmice, co czyni ją fundamentalnym konceptem w nauce o komputerach.

Pytanie 6

Jakie składniki powinien mieć plan projektu?

A. Terminy i zasoby ludzkie
B. Wyłącznie etapy projektu
C. Etapy projektu, ramy czasowe, zasoby i zadania
D. Tylko czas wykonania i budżet
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 7

Programista może wykorzystać framework Angular do realizacji aplikacji

A. typu front-end
B. desktopowej
C. mobilnej
D. typu back-end
Angular to naprawdę fajny framework, stworzony przez Google, który głównie skupia się na tworzeniu aplikacji webowych po stronie klienta, czyli na front-endzie. Umożliwia programistom tworzenie dynamicznych i interaktywnych interfejsów użytkownika. Dzięki tej modularnej budowie, można łatwo zarządzać różnymi częściami aplikacji, co jest super przydatne. Z własnego doświadczenia mogę powiedzieć, że Angular świetnie nadaje się do aplikacji jednoekranowych (SPA), bo pozwala na ładowanie danych asynchronicznie. Przykładem może być aplikacja do zarządzania projektami, gdzie użytkownik może dodawać, edytować i usuwać zadania bez przeładowywania strony. Angular integruje się też z RxJS, co sprawia, że zarządzanie zdarzeniami i strumieniami danych staje się efektywniejsze. Warto również dodać, że Angular CLI pozwala szybko generować komponenty i inne elementy aplikacji, co przyspiesza cały proces tworzenia i pomaga utrzymać spójność projektu.

Pytanie 8

Jaką nazwę elementu interfejsu należy wprowadzić w pierwszej linii kodu, na miejscu <??? aby został on wyświetlony w podany sposób?

Ilustracja do pytania
A. Spinner
B. Switch
C. SeekBar
D. RatingBar
Kontrolka 'Switch' to taki przycisk, który służy do zmiany stanu, na przykład włączania i wyłączania czegoś. W Androidzie mamy klasę Switch, która często jest używana do aktywacji lub dezaktywacji różnych funkcji w ustawieniach aplikacji. Moim zdaniem, to bardzo przydatne narzędzie, bo pozwala użytkownikom łatwo zarządzać opcjami.

Pytanie 9

Która z wymienionych reguł należy do netykiety?

A. Unikanie używania dużych liter w komunikacji
B. Udostępnianie treści bez zgody właścicieli
C. Zaniechanie odpowiadania na wiadomości od innych użytkowników
D. Stosowanie nieformalnego języka w każdej rozmowie
Unikanie pisania wielkimi literami w wiadomościach jest kluczowym elementem netykiety, ponieważ tekst pisany dużymi literami w internecie jest powszechnie interpretowany jako krzyk. To zasada, która ma na celu utrzymanie kultury komunikacji online oraz zapewnienie komfortu odbiorcy. Gdy użytkownik korzysta z wielkich liter, może to być odbierane jako agresywne lub dominujące, co może prowadzić do nieporozumień oraz negatywnych reakcji. Przykładem może być sytuacja, w której osoba, pisząc do grupy na forum internetowym, używa wyłącznie wielkich liter, co może zniechęcić innych do interakcji. Dobrą praktyką jest pisanie w sposób przystępny i zrozumiały, co sprzyja pozytywnej atmosferze w komunikacji. Standardy netykiety, takie jak te przedstawione w dokumentach związanych z etyką w internecie, podkreślają znaczenie szacunku i zrozumienia w interakcjach online, co obejmuje również sposób formułowania wiadomości. Warto także pamiętać o tym, że różne platformy społecznościowe mają swoje zasady, które podkreślają unikanie pisania krzykiem, co potwierdza ogólne podejście do netykiety.

Pytanie 10

Użycie typu DECIMAL w SQL wymaga wcześniejszego określenia liczby cyfr przed przecinkiem oraz ilości cyfr za przecinkiem. Jest to zapis:

A. logicznym
B. zmiennoprzecinkowy
C. łańcuchowym
D. stałoprzecinkowy
Typ DECIMAL w języku SQL to typ zmiennoprzecinkowy, który umożliwia przechowywanie liczb z określoną liczbą miejsc po przecinku. Jest szeroko stosowany w finansach i innych dziedzinach wymagających dużej precyzji, ponieważ unika błędów zaokrągleń, które mogą wystąpić przy użyciu typów FLOAT lub REAL. Przechowywanie danych liczbowych w dokładny sposób ma kluczowe znaczenie w aplikacjach związanych z walutami i statystyką.

Pytanie 11

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. dziel i zwyciężaj
B. komiwojażera
C. heurystycznej
D. najkrótszej trasy
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 12

Resuscytacja krążeniowo-oddechowa polega na realizowaniu

A. 30 ucisków klatki piersiowej oraz 2 oddechy ratunkowe
B. 15 ucisków klatki piersiowej oraz 3 oddechy ratunkowe
C. 10 ucisków klatki piersiowej oraz 5 oddechów ratunkowych
D. 20 ucisków klatki piersiowej oraz 1 oddech ratunkowy
Resuscytacja krążeniowo-oddechowa (RKO) obejmuje 30 uciśnięć klatki piersiowej i 2 oddechy ratownicze. Jest to standardowy schemat stosowany w celu przywrócenia funkcji życiowych u osoby nieoddychającej.

Pytanie 13

Które z wymienionych stwierdzeń najtrafniej charakteryzuje klasę bazową?

A. Klasa, która dziedziczy z klasy pochodnej
B. Klasa, która nie może być dziedziczona
C. Klasa, która zapewnia wspólne atrybuty i metody dla klas pochodnych
D. Klasa, która zawsze zawiera metody wirtualne
Klasa bazowa to klasa, która dostarcza wspólne pola i metody dla klas pochodnych. Definiuje ogólną funkcjonalność, która może być rozszerzana lub modyfikowana przez klasy dziedziczące. Dzięki temu programowanie obiektowe umożliwia wielokrotne wykorzystanie kodu, co prowadzi do jego większej modularności i czytelności. Klasa bazowa często zawiera metody wirtualne, które mogą być nadpisywane przez klasy pochodne, co pozwala na dostosowanie funkcjonalności do konkretnych potrzeb. Przykładem jest klasa 'Pojazd', która posiada metody takie jak 'Jedz()' czy 'Zatrzymaj()', a klasy pochodne, np. 'Samochód' lub 'Rower', rozszerzają tę funkcjonalność.

Pytanie 14

Zaprezentowany fragment kodu w języku C# tworzy hasło. Wskaż zdanie PRAWDZIWE dotyczące charakterystyki tego hasła:

Ilustracja do pytania
A. Może zawierać zarówno małe, jak i wielkie litery, cyfry oraz symbole
B. Jest maksymalnie 7-znakowe, co wynika z wartości zmiennej i
C. Może zawierać małe i wielkie litery oraz cyfry
D. Ma co najmniej 8 znaków oraz zawiera małe i wielkie litery oraz cyfry
Algorytm generowania hasła w języku C# może zawierać małe i wielkie litery oraz cyfry, co zapewnia większe bezpieczeństwo hasła. Tworzenie haseł w taki sposób zwiększa ich odporność na ataki brute-force i umożliwia spełnienie wymagań dotyczących złożoności. Dobrze skonstruowane hasło powinno zawierać różne typy znaków, by maksymalnie utrudnić jego złamanie.

Pytanie 15

Jakie jest przeznaczenie komentarzy w kodzie źródłowym programu?

A. Do optymalizacji wydajności kodu
B. Do uruchamiania kodu w trybie debugowania
C. Do dokumentowania działania kodu i ułatwienia jego zrozumienia
D. Do definiowania zmiennych globalnych
Komentarze w kodzie źródłowym programu pełnią kluczową rolę w dokumentowaniu działania aplikacji. Dzięki nim programiści mogą opisywać, co robią poszczególne fragmenty kodu, jakie funkcje realizują oraz jakie są zależności między modułami. Komentarze nie wpływają na działanie programu, ale znacząco ułatwiają pracę nad nim w przyszłości, zwłaszcza gdy projekt jest rozwijany przez wielu programistów lub po dłuższej przerwie. Komentarze poprawiają czytelność kodu, minimalizując ryzyko błędów wynikających z niejasności lub złej interpretacji działania aplikacji. W dobrze napisanym kodzie komentarze są używane strategicznie – opisują kluczowe algorytmy, niestandardowe rozwiązania oraz obszary wymagające szczególnej uwagi. Przejrzysty i dobrze udokumentowany kod to fundament skalowalnych i łatwych w utrzymaniu aplikacji.

Pytanie 16

Który z podanych algorytmów operujących na jednowymiarowej tablicy posiada złożoność obliczeniową O(n<sup>2</sup>)?

A. Wypisanie elementów
B. Sortowanie bąbelkowe
C. Wyszukiwanie binarne
D. Sortowanie szybkie
Sortowanie bąbelkowe, znane również jako bubble sort, to prosty algorytm sortowania, który działa na zasadzie wielokrotnego przechodzenia przez tablicę i porównywania sąsiadujących ze sobą elementów. Algorytm ten ma złożoność obliczeniową O(n^2), co oznacza, że w najgorszym przypadku liczba operacji porównania wzrasta kwadratowo wraz ze wzrostem liczby elementów w tablicy. Przykładowo, dla tablicy o 5 elementach algorytm może wykonać do 10 porównań. W praktyce sortowanie bąbelkowe jest rzadko stosowane w dużych zbiorach danych ze względu na swoją niską efektywność, jednak jest to dobry przykład do nauki podstaw algorytmów sortujących. Standardy algorytmów sortujących, takie jak te zawarte w podręcznikach algorytmiki, często używają sortowania bąbelkowego jako przykładu do omówienia prostych koncepcji związanych z sortowaniem. Warto zauważyć, że chociaż algorytm ten jest prosty do zrozumienia, jego złożoność czasowa sprawia, że nie jest on praktyczny do stosowania w produkcyjnych rozwiązaniach, gdyż bardziej optymalne algorytmy, jak sortowanie szybkie czy sortowanie przez scalanie, osiągają złożoność O(n log n).

Pytanie 17

Jakie narzędzie programowe jest odpowiedzialne za konwersję kodu źródłowego na formę zrozumiałą dla maszyny, weryfikuje wszystkie polecenia pod kątem ewentualnych błędów, a następnie generuje moduł do wykonania?

A. interpreter
B. debugger
C. dekompilator
D. kompilator
Kompilator to narzędzie, które tłumaczy kod źródłowy na kod maszynowy lub bajtowy, umożliwiając jego późniejsze wykonanie przez komputer. Kompilator analizuje cały kod przed jego uruchomieniem, identyfikując błędy składniowe i logiczne, co pozwala na generowanie pliku wykonywalnego.

Pytanie 18

Który z wymienionych objawów może sugerować nagłe zagrożenie dla zdrowia?

A. Intensywne pocenie się w gorącym otoczeniu
B. Zwiększona efektywność pracy
C. Obniżony nastrój w ciągu dnia
D. Ostry ból w klatce piersiowej
Ostry ból w klatce piersiowej to jeden z najbardziej alarmujących objawów wskazujących na nagłe zagrożenie zdrowotne, takie jak zawał serca lub zatorowość płucna. Tego rodzaju ból jest często opisywany jako gniotący, ściskający lub rozlewający się na inne części ciała, takie jak ramię, szyja czy żuchwa. W takich przypadkach kluczowe jest szybkie wezwanie pomocy medycznej, ponieważ każda minuta opóźnienia może zwiększyć ryzyko powikłań lub śmierci. Edukacja w zakresie rozpoznawania tego objawu może uratować życie, dlatego tak ważne jest rozróżnianie go od innych mniej groźnych objawów.

Pytanie 19

W jednostce centralnej, za obliczenia na liczbach zmiennoprzecinkowych odpowiada

A. FPU
B. AU
C. ALU
D. IU
FPU, czyli jednostka zmiennoprzecinkowa, zajmuje się obliczeniami na liczbach, które mają część ułamkową. Dzięki niej komputer może szybko i dokładnie przeprowadzać różne skomplikowane operacje matematyczne, jak na przykład mnożenie czy pierwiastkowanie. Jest to naprawdę ważne w takich programach jak oprogramowanie inżynieryjne czy aplikacje graficzne, bo tam precyzja to podstawa, żeby wszystko działało jak należy.

Pytanie 20

Programista tworzy system zarządzania buforem drukowania dokumentów. Najnowsze zlecenie drukowania dodawane jest na koniec kolejki, a najstarsze z nich są przekazywane do drukarki. Jaką strukturę danych najłatwiej zastosować w tej sytuacji?

A. LIFO
B. FIFO
C. Sterta
D. Stos
FIFO (First In, First Out) to struktura danych idealnie pasująca do implementacji kolejki wydruku, gdzie zadania są przetwarzane w kolejności ich zgłoszenia. Najstarsze zadanie (pierwsze dodane) jest przetwarzane jako pierwsze, co odwzorowuje rzeczywisty sposób działania kolejek drukowania. FIFO znajduje szerokie zastosowanie w wielu dziedzinach informatyki, takich jak programowanie systemów operacyjnych, zarządzanie buforami oraz implementacja kolejek sieciowych. Dzięki temu zadania są obsługiwane w przewidywalnej kolejności, co jest kluczowe dla zachowania porządku i efektywności przetwarzania.

Pytanie 21

Jakie z poniższych narzędzi wspomaga projektowanie interfejsu użytkownika w aplikacjach mobilnych?

A. Kompilator Javy
B. Android Studio Layout Editor
C. Narzędzie do zarządzania bazami danych
D. PyCharm Debugger
Android Studio Layout Editor to narzędzie umożliwiające projektowanie interfejsu użytkownika aplikacji mobilnych w sposób wizualny, za pomocą metody 'przeciągnij i upuść'. Layout Editor pozwala na szybkie tworzenie responsywnych interfejsów, które automatycznie dostosowują się do różnych rozmiarów ekranów i rozdzielczości. Dzięki niemu programiści mogą łatwo dodawać elementy UI, takie jak przyciski, pola tekstowe, listy czy obrazy, oraz dostosowywać ich właściwości bez konieczności pisania dużych fragmentów kodu XML. Narzędzie to jest kluczowe dla szybkiego prototypowania aplikacji oraz iteracyjnego podejścia do budowy interfejsu użytkownika w środowisku Android Studio.

Pytanie 22

Jaką kategorię reprezentuje typ danych "array"?

A. Typ danych złożony
B. Typ wskaźników
C. Typ logiczny
D. Typ danych prosty
Tablica ('array') jest przykładem złożonego typu danych, który pozwala na przechowywanie wielu wartości tego samego typu pod wspólną nazwą. Każdy element tablicy jest dostępny za pomocą indeksu, co umożliwia szybkie i efektywne operacje na dużych zbiorach danych. Tablice są szeroko wykorzystywane w programowaniu do przechowywania list, macierzy i innych struktur, gdzie konieczne jest przechowywanie dużych ilości danych tego samego rodzaju. Dzięki tablicom można zorganizować dane w sposób uporządkowany, co ułatwia ich przetwarzanie, sortowanie i wyszukiwanie.

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

Wskaż kod, który jest funkcjonalnie równy zaprezentowanemu

Ilustracja do pytania
A. Kod 2
B. Kod 4
C. Kod 3
D. Kod 1
Kod 2 jest funkcjonalnie równorzędny do przedstawionego. Zawiera te same operacje i instrukcje, co zapewnia identyczne wyniki dla tych samych danych wejściowych.

Pytanie 25

Jaką funkcję pełnią mechanizmy ciasteczek w aplikacjach internetowych?

A. Do generowania dynamicznych interfejsów dla użytkowników
B. Do przechowywania informacji w bazie danych
C. Do zapisywania danych użytkownika na serwerze
D. Do zapisywania danych użytkownika w przeglądarce
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 26

Co to jest wskaźnik w języku C?

A. Funkcja do dynamicznej alokacji pamięci
B. Typ danych do zapisywania tekstów
C. Zmienna przechowująca adres pamięci
D. Zmienna przechowująca wartość logiczną
Zmienne przechowujące wartości logiczne to typ bool (np. true/false) i nie mają związku z wskaźnikami. Funkcje dynamicznie alokujące pamięć, takie jak malloc(), zwracają adresy, ale same nie są wskaźnikami. Typ danych do przechowywania tekstów w C to tablica znaków (char[]) lub wskaźnik do char, ale to nie to samo co wskaźnik w sensie ogólnym, który może wskazywać na dowolny typ danych.

Pytanie 27

Jaki rodzaj testów można scharakteryzować przedstawionym opisem?

Ilustracja do pytania
A. testy jednostkowe
B. testy zgodności
C. testy funkcjonalne
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 28

Która grupa typów zawiera wyłącznie typy złożone?

A. class, struct, float
B. char, struct, union
C. class, struct, union
D. unsigned, struct, float
Class, struct i union to typy złożone, które mogą przechowywać wiele różnych wartości i struktur danych. Klasy i struktury są podstawą programowania obiektowego, a unie (union) pozwalają na efektywne zarządzanie pamięcią poprzez współdzielenie miejsca w pamięci dla różnych typów danych.

Pytanie 29

Dlaczego w wyniku działania tego kodu w języku C++ na ekranie pojawiła się wartość O zamiast 50?

Ilustracja do pytania
A. Funkcja zwraca wartość, chociaż nie powinna jej zwracać
B. Argument funkcji został przekazany przez wartość, a nie przez referencję
C. Niepoprawnie zdefiniowano działanie wewnątrz funkcji
D. Zmienna x powinna być inicjowana wartością równą 1, a nie O
Błąd związany z przekazywaniem argumentu przez wartość, a nie przez referencję, to klasyka w C++. W tym kodzie zmienna x idzie jako kopia, więc zmiany w oblicz nie wpływają na oryginał w main. Może popełniłeś błąd, bo nie do końca rozumiesz różnicę między tymi dwoma metodami. Te inne odpowiedzi wskazują na różne problemy, jak źle zainicjowana zmienna czy błędy w zwracaniu wartości. Ale w oblicz wszystko powinno działać poprawnie, bo zwraca wartość typu int, a problem leży w tym, że przekazujesz kopię argumentu. Warto pamiętać, że poprawny kod wymaga sensownego przepływu wartości między funkcjami i zrozumienia, że x w main nie zmienia się, bo modyfikujesz kopię. Często mylimy to i myślimy, że zmiany w funkcji wpływają na oryginały, a w C++ musisz użyć referencji albo wskaźników, żeby to zadziałało. Zrozumienie tego jest kluczowe, żeby dobrze ogarniać funkcje w C++ i unikać takich problemów w przyszłości.

Pytanie 30

Który z wymienionych algorytmów sortujących posiada średnią złożoność obliczeniową równą O(n log n)?

A. Sortowanie szybkie (QuickSort)
B. Sortowanie przez wybór
C. Sortowanie przez wstawianie
D. Sortowanie bąbelkowe
QuickSort to naprawdę jeden z najlepszych sposobów na sortowanie. W zasadzie chodzi o to, że dzielimy naszą tablicę na dwie części, z pomocą takiego specjalnego elementu, który nazywamy pivotem. W praktyce działa to tak, że mamy część mniejszą i większą od tego pivota, a potem każdą z tych części sortujemy jeszcze raz, tak jakbyśmy powtarzali cały proces. Myślę, że to działa super, szczególnie na dużych zbiorach danych, i dlatego QuickSort jest naprawdę popularny w różnych programach i aplikacjach.

Pytanie 31

Jaki jest zasadniczy cel ataku phishingowego?

A. Zbieranie danych osobowych za pomocą podszywających się stron lub wiadomości
B. Zakłócanie pracy sieci przez nadmiarowe zapytania
C. Uniemożliwienie dostępu do usług internetowych
D. Kradzież haseł z pamięci operacyjnej urządzenia
Głównym celem ataku phishingowego jest przejęcie danych osobowych ofiary, co realizowane jest poprzez wykorzystanie fałszywych stron internetowych lub wiadomości. Atakujący tworzą atrakcyjne i wiarygodne kopie legalnych stron, często podszywając się pod znane instytucje bankowe, portale społecznościowe czy serwisy e-commerce. Użytkownik, nieświadomy zagrożenia, wprowadza swoje dane logowania, numery kart kredytowych lub inne wrażliwe informacje, które trafiają w ręce cyberprzestępców. Aby ułatwić ten proces, phisherzy często wykorzystują techniki inżynierii społecznej, takie jak fałszywe powiadomienia o konieczności weryfikacji konta. Przykłady skutecznych ataków phishingowych obejmują kampanie wysyłania e-maili, które informują użytkowników o rzekomych problemach z kontem, kierując ich na podszyte strony. Standardy bezpieczeństwa, takie jak DMARC, SPF i DKIM, są kluczowe dla ochrony przed tego rodzaju atakami, jednak ich brak lub niewłaściwe wdrożenie zwiększa podatność na phishing.

Pytanie 32

Który z wymienionych poniżej przykładów stanowi system informacji przetwarzany przez system informatyczny?

A. System PESEL
B. System wentylacyjny w biurowcach
C. System do monitorowania temperatury serwerów
D. System zarządzania oświetleniem drogowym
System PESEL (Powszechny Elektroniczny System Ewidencji Ludności) jest przykładem systemu informacji przetwarzanym przez system informatyczny, ponieważ gromadzi, przetwarza i udostępnia dane osobowe obywateli Polski. Jest to złożony system, który działa na bazie zintegrowanych baz danych, umożliwiający identyfikację osób, przydzielanie numerów PESEL oraz zarządzanie informacjami o statusie mieszkańców. System ten jest niezbędny dla organów administracji publicznej, umożliwiając im efektywne zarządzanie danymi obywateli w kontekście takich usług, jak wydawanie dowodów osobistych, rejestracja wyborców, a także w kontekście ochrony zdrowia i ubezpieczeń społecznych. PESEL jest zgodny z Europejskim Ogólnochronnym Rozporządzeniem o Ochronie Danych Osobowych (RODO), co dodatkowo podkreśla jego rolę jako kluczowego systemu informacyjnego w obiegu danych w Polsce. Przykłady zastosowań systemu PESEL obejmują obsługę wniosków o świadczenia socjalne oraz dostęp do e-usług, co świadczy o jego fundamentalnym znaczeniu w administrowaniu danymi ludnościowymi.

Pytanie 33

Cytat przedstawia charakterystykę metodyki RAD. Pełne znaczenie tego skrótu można przetłumaczyć na język polski jako:

Ilustracja do pytania
A. środowisko szybkiego rozwoju aplikacji
B. środowisko refaktoryzacji aplikacji
C. prototypowanie wsparte testami jednostkowymi
D. zintegrowane środowisko programistyczne
RAD (Rapid Application Development) to metodyka szybkiego rozwoju aplikacji, kładąca nacisk na szybkie prototypowanie, minimalizację dokumentacji i bliską współpracę z klientem. Celem RAD jest skrócenie czasu potrzebnego na dostarczenie działającego oprogramowania poprzez iteracyjne tworzenie i testowanie prototypów. Taka metodologia jest często stosowana w dynamicznych projektach, gdzie wymagania mogą się zmieniać.

Pytanie 34

Który z wymienionych frameworków jest charakterystyczny dla aplikacji komputerowych pisanych w C#?

A. WPF (Windows Presentation Foundation)
B. React
C. Qt
D. Spring
WPF (Windows Presentation Foundation) to framework firmy Microsoft, który jest powszechnie wykorzystywany do tworzenia aplikacji desktopowych w języku C#. WPF pozwala na projektowanie zaawansowanych interfejsów użytkownika (UI) z wykorzystaniem XAML (Extensible Application Markup Language), co umożliwia oddzielenie logiki aplikacji od warstwy prezentacyjnej. WPF wspiera grafikę wektorową, animacje oraz różne efekty wizualne, co czyni go idealnym narzędziem do budowy nowoczesnych, estetycznych aplikacji dla systemu Windows. Integracja z .NET i Visual Studio umożliwia szybkie tworzenie aplikacji oraz korzystanie z bogatych bibliotek i gotowych komponentów UI. WPF jest szczególnie ceniony za elastyczność, obsługę danych i możliwość tworzenia aplikacji responsywnych.

Pytanie 35

Które z poniższych zdań najlepiej określa funkcję zaprzyjaźnioną w ramach klasy?

A. Funkcja, która ma dostęp do prywatnych pól i metod klasy, z którą jest zaprzyjaźniona
B. Funkcja, która uruchamia się automatycznie po stworzeniu obiektu
C. Funkcja, która jest statyczna i nie ma możliwości modyfikacji pól klasy
D. Funkcja, która pozwala na dziedziczenie wielokrotne
Funkcja zaprzyjaźniona (ang. friend function) to funkcja, która ma dostęp do prywatnych i chronionych pól oraz metod klasy, mimo że nie jest jej częścią. Służy do realizacji operacji wymagających bezpośredniego dostępu do wewnętrznych elementów klasy, ale bez naruszania zasad hermetyzacji. Przykład w C++: `class Konto { private: double saldo; friend void wyswietlSaldo(Konto k); }`. Funkcja `wyswietlSaldo` może odczytać pole `saldo`, mimo że jest ono prywatne. Funkcje zaprzyjaźnione są używane, gdy konieczna jest bliska współpraca między klasami lub funkcjami, ale nie chcemy nadmiernie otwierać interfejsu klasy.

Pytanie 36

Jaki język programowania został stworzony z myślą o tworzeniu aplikacji na system Android?

A. Java
B. Python
C. Swift
D. Objective-C
Java to taki język, który jest głównie używany do robienia aplikacji na Androida. Od początku Androida, Java była jego podstawowym językiem, dlatego jest tak popularna i dobrze opisana w dokumentacji. Kiedy tworzysz aplikacje na Androida w Javie, to korzystasz z Android SDK oraz API, które świetnie integrują się z funkcjami urządzeń, jak GPS czy kamera. Teraz trochę więcej mówi się o Kotlinie jako nowoczesnej alternatywie dla Javy, ale Java wciąż ma swoje mocne miejsce w tworzeniu aplikacji i Google dalej ją wspiera.

Pytanie 37

Programista umieścił poniższą linię kodu w pliku HTML, aby

Ilustracja do pytania
A. zadeklarować własną funkcję JavaScript o nazwie min.js
B. skorzystać z funkcji biblioteki jQuery, która była wcześniej pobrana i zapisana lokalnie
C. pobrać z Internetu w momencie otwierania strony i użyć biblioteki jQuery
D. wstawić kod JavaScript pomiędzy znacznikami &lt;script&gt;&lt;/script&gt;
Kod HTML jest często używany do włączania zewnętrznych bibliotek JavaScript, takich jak jQuery, które zostały wcześniej pobrane i zapisane lokalnie na serwerze. W tym przypadku atrybut src w znaczniku script wskazuje na lokalnie przechowywany plik jQuery, co oznacza, że przeglądarka załaduje bibliotekę z serwera, na którym znajduje się nasza strona. Korzystanie z lokalnych kopii bibliotek jest dobrą praktyką w przypadku ograniczonego lub niestabilnego dostępu do internetu, ponieważ gwarantuje dostępność bibliotek niezależnie od zewnętrznych źródeł. Zaletą tego rozwiązania jest redukcja potencjalnych opóźnień w ładowaniu strony, ponieważ plik jest już dostępny na tym samym serwerze. Użycie lokalnych plików jest również korzystne z punktu widzenia bezpieczeństwa, gdyż pozwala kontrolować dokładną wersję załadowanej biblioteki i uniknąć potencjalnych zagrożeń wynikających z modyfikacji zewnętrznych plików. W praktyce, programiści często łączą lokalne i zdalne zasoby, wybierając odpowiednią metodę w zależności od potrzeb projektu i dostępnych zasobów sieciowych.

Pytanie 38

Jaki komponent środowiska IDE jest niezbędny do tworzenia aplikacji webowych?

A. Debugger, edytor kodu, integracja z systemem kontroli wersji
B. Narzędzie do tworzenia grafiki
C. Zarządzanie bazami danych
D. Emulator urządzeń mobilnych
Debugger, edytor kodu oraz integracja z systemem kontroli wersji to kluczowe elementy środowiska IDE, które umożliwiają efektywną pracę nad aplikacjami webowymi. Debugger pozwala na wykrywanie i naprawianie błędów w czasie rzeczywistym, edytor kodu umożliwia szybkie pisanie i modyfikowanie kodu, a integracja z systemem kontroli wersji (np. Git) pozwala śledzić zmiany i współpracować w zespołach programistycznych. Te narzędzia stanowią podstawę pracy każdego dewelopera webowego.

Pytanie 39

Który fragment kodu ilustruje zastosowanie rekurencji?

Ilustracja do pytania
A. Blok 3
B. Blok 2
C. Blok 4
D. Blok 1
Blok 1 zawiera przykład użycia rekurencji, gdzie funkcja wywołuje samą siebie z innym parametrem, aż do spełnienia określonego warunku końcowego. Rekurencja jest powszechnie stosowana w algorytmach przeszukiwania, sortowania oraz rozwiązywania problemów podziel i zwyciężaj.

Pytanie 40

Jakie będzie działanie przedstawionych dwóch równoważnych fragmentów kodu źródłowego?

Ilustracja do pytania
A. nadany tytuł każdego elementu HTML: "Egzamin zawodowy"
B. wyświetlony na stronie tekst w akapicie: "Egzamin zawodowy"
C. wyświetlony na stronie tekst w nagłówku: "Egzamin zawodowy"
D. nadany tytuł strony: "Egzamin zawodowy"
W tekście w akapicie rzeczywiście użyjemy tagu <p>. Jeśli chodzi o tytuł strony, to on jest związany z sekcją <title> w nagłówku HTML, a nie z treścią, która się wyświetla. A nadanie tytułu każdemu elementowi odnosi się do atrybutu 'title', który raczej pokazuje podpowiedzi, a nie nagłówek. Trochę zamieszania, ale ważne, żeby to rozróżnić.