Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 9 stycznia 2025 16:55
  • Data zakończenia: 9 stycznia 2025 17:03

Egzamin zdany!

Wynik: 39/40 punktów (97,5%)

Wymagane minimum: 20 punktów (50%)

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

Który z wymienionych elementów jest fundamentalny w architekturze klient-serwer?

A. Wyłącznie komunikacja synchroniczna
B. Zdalne wykonywanie aplikacji na urządzeniu klienta
C. Scentralizowane przechowywanie danych
D. Brak podziału na funkcje klienta i serwera
Zdalne wykonywanie aplikacji na urządzeniu klienta oznacza model przetwarzania lokalnego, co nie jest główną cechą architektury klient-serwer. Brak podziału na funkcje klienta i serwera narusza podstawową ideę tego modelu, który zakłada rozdzielenie ról pomiędzy te dwie jednostki. Wyłącznie komunikacja synchroniczna ogranicza elastyczność aplikacji i może prowadzić do opóźnień w przetwarzaniu danych.

Pytanie 2

Który z faz cyklu życia projektu wiąże się z identyfikacją wymagań użytkownika?

A. Etap planowania
B. Wdrażanie
C. Przeprowadzanie testów
D. Analiza
Analiza to etap cyklu życia projektu, podczas którego określane są wymagania użytkownika. W tej fazie zespół projektowy przeprowadza badania, konsultacje i warsztaty, aby zrozumieć potrzeby klienta i użytkowników końcowych. Wynikiem analizy jest szczegółowa specyfikacja funkcjonalna i niefunkcjonalna, która stanowi podstawę do projektowania i implementacji. Prawidłowo przeprowadzona analiza minimalizuje ryzyko nieporozumień oraz zapewnia, że finalny produkt będzie odpowiadał na realne potrzeby użytkowników.

Pytanie 3

Jakie jest podstawowe zadanie konstruktora w klasie?

A. Usuwanie instancji obiektów
B. Nadanie wartości polom obiektu po jego zniszczeniu
C. Inicjalizacja obiektu w momencie jego tworzenia
D. Wprowadzenie nowej metody do już istniejącej klasy
Konstruktor to specjalna metoda klasy, która jest automatycznie wywoływana podczas tworzenia nowego obiektu. Jego głównym zadaniem jest inicjalizacja pól obiektu oraz przygotowanie go do użytku. Konstruktor ma tę samą nazwę co klasa i nie zwraca żadnej wartości. Przykład w C++: `class Samochod { public: Samochod() { marka = "Nieznana"; } }`. W tym przypadku konstruktor ustawia domyślną wartość dla pola `marka`. Dzięki konstruktorom programista może automatycznie ustawić początkowe wartości, co zwiększa czytelność kodu i eliminuje potrzebę ręcznego przypisywania wartości każdemu nowemu obiektowi.

Pytanie 4

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

Jakie z wymienionych czynności może zagrażać cyfrowej tożsamości?

A. Klikanie w podejrzane linki w wiadomościach e-mail
B. Tworzenie unikalnych oraz mocnych haseł
C. Cykliczna zmiana haseł do kont
D. Aktywacja uwierzytelniania dwuskładnikowego
Klikanie w podejrzane linki w wiadomościach e-mail to jedno z najczęstszych źródeł infekcji i naruszenia cyfrowej tożsamości. Cyberprzestępcy często wykorzystują phishing, czyli technikę polegającą na wysyłaniu fałszywych wiadomości, które wyglądają na autentyczne. Kliknięcie w link może prowadzić do zainstalowania złośliwego oprogramowania lub przekierowania na stronę wyłudzającą dane logowania. Aby uniknąć tego zagrożenia, zaleca się sprawdzanie adresu nadawcy, unikanie otwierania załączników z nieznanych źródeł i korzystanie z filtrów antyphishingowych.

Pytanie 6

Podaj wspólną cechę wszystkich kontrolek umieszczonych w ramce

Ilustracja do pytania
A. mają tło w tym samym kolorze
B. mają identyczny kolor czcionki
C. są w nich ustawione te same wartości domyślne
D. wszystkie są widoczne
Wszystkie kontrolki w ramce mają tło tego samego koloru. Jest to kluczowy aspekt projektowania interfejsu użytkownika, który zapewnia spójność wizualną i ułatwia nawigację.

Pytanie 7

W jakim języku programowania kod źródłowy musi być skompilowany do kodu maszynowego konkretnej architektury procesora przed jego uruchomieniem?

A. C++
B. PHP
C. Perl
D. Java
C++ to język kompilowany, co oznacza, że kod źródłowy jest najpierw przekształcany do kodu maszynowego przed jego uruchomieniem. Dzięki temu aplikacje napisane w C++ działają szybciej i są bardziej efektywne, ale wymagają kompilacji na każdą platformę oddzielnie.

Pytanie 8

Jaki tekst zostanie wyświetlony po uruchomieniu jednego z poniższych fragmentów kodu?

Ilustracja do pytania
A. {{2+2}}
B. {2+2}
C. {4}
D. 4
Kod zwraca liczbę 4, ponieważ {2+2} jest interpretowane jako wyrażenie matematyczne, a nie ciąg znaków. W frameworkach React czy Angular operacje matematyczne wykonywane są automatycznie w miejscach, gdzie oczekiwany jest wynik obliczenia.

Pytanie 9

Jakie narzędzie wspiera tworzenie aplikacji desktopowych?

A. Angular
B. Xamarin
C. WPF
D. Symfony
WPF (Windows Presentation Foundation) to framework umożliwiający tworzenie aplikacji desktopowych na platformie Windows. Umożliwia projektowanie interfejsów użytkownika przy użyciu XAML.

Pytanie 10

W klasie o nazwie samochod przypisano atrybuty: marka, rocznik, parametry[]. Atrybuty te powinny zostać zdefiniowane jako

A. interfejsy
B. metody
C. funkcje
D. pola
Pola klasy to jej atrybuty, które przechowują dane dotyczące obiektów. Definiują one stan obiektu i mogą przyjmować różne wartości w zależności od instancji klasy. W przypadku klasy samochod cechy takie jak marka, rocznik czy parametry to właśnie pola, które odzwierciedlają właściwości poszczególnych obiektów.

Pytanie 11

Jakie są różnice między testami funkcjonalnymi a niefunkcjonalnymi?

A. Testy funkcjonalne oceniają zgodność działania aplikacji z założeniami, a niefunkcjonalne analizują aspekty wydajności, bezpieczeństwa i użyteczności
B. Testy funkcjonalne koncentrują się na interfejsie, a niefunkcjonalne na backendzie aplikacji
C. Testy funkcjonalne oceniają wydajność aplikacji, podczas gdy niefunkcjonalne weryfikują poprawność kodu
D. Testy funkcjonalne są realizowane tylko przez końcowych użytkowników, natomiast niefunkcjonalne przez programistów
Testy funkcjonalne sprawdzają, czy aplikacja działa zgodnie z założeniami i spełnia określone wymagania użytkownika. Obejmują one testowanie interfejsu, przepływu pracy oraz funkcji kluczowych dla działania oprogramowania. Testy niefunkcjonalne koncentrują się na aspektach takich jak wydajność, skalowalność, bezpieczeństwo i użyteczność. Różnica polega na tym, że testy funkcjonalne oceniają 'co' robi aplikacja, podczas gdy testy niefunkcjonalne oceniają 'jak dobrze' aplikacja działa w różnych warunkach. Testy niefunkcjonalne obejmują testy obciążeniowe (load testing), testy penetracyjne oraz analizy UX. Oba typy testów są niezbędne dla zapewnienia wysokiej jakości oprogramowania i jego niezawodności w środowisku produkcyjnym.

Pytanie 12

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

A. Tymczasowe magazynowanie danych i instrukcji dla procesora
B. Trwałe przechowywanie systemu operacyjnego
C. Umożliwienie tworzenia kopii zapasowej danych użytkownika
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 13

Jakie metody umożliwiają przesyłanie danych z serwera do aplikacji front-end?

A. metody POST
B. protokołem SSH
C. biblioteki jQuery
D. formatu JSON
JSON, czyli JavaScript Object Notation, to dość lekki format wymiany danych. Jest prosty do zrozumienia zarówno dla ludzi, jak i komputerów. To dlatego jest tak popularny w aplikacjach webowych, gdzie przesyła się dane między serwerem a klientem. Dzięki strukturze klucz-wartość łatwo jest mapować obiekty w JavaScript, co przyspiesza cały proces z danymi. Pomysł na zastosowanie? Na przykład, gdy przesyłasz dane użytkownika z serwera do swojej aplikacji, to często zamieniasz obiekt JavaScript na format JSON i wysyłasz go przez AJAX. A co ważne, JSON jest zgodny z różnymi standardami, więc możesz go używać praktycznie wszędzie. Co ciekawe, w nowoczesnych aplikacjach JSON jest zdecydowanie bardziej popularny niż XML, bo jest prostszy i mniej obciążający dla sieci. To wszystko sprawia, że strony ładują się szybciej, a użytkownicy mają lepsze doświadczenia.

Pytanie 14

Zaprezentowane oznaczenie praw Creative Commons umożliwia bezpłatne wykorzystywanie utworu

Ilustracja do pytania
A. pod warunkiem zachowania go w pierwotnej formie
B. pod warunkiem udostępnienia go na takiej samej licencji
C. w celu dokonywania zmian lub remiksowania
D. w celach komercyjnych
Odpowiedź dotycząca możliwości zmiany lub remiksowania utworu jest prawidłowa w kontekście oznaczeń Creative Commons takich jak CC BY lub CC BY-NC. Licencje te umożliwiają korzystanie z utworu w sposób zmieniony czy remiksowany pod warunkiem spełnienia określonych wymogów. CC BY wymaga jedynie przypisania autorstwa, co daje twórcom dużą elastyczność w adaptacji i modyfikacji dzieła, co znajduje zastosowanie w projektach edukacyjnych, artystycznych czy badawczych. Działania takie mogą obejmować tworzenie adaptacji, tłumaczeń, mashupów czy nowych kreatywnych form bazujących na oryginale. CC BY-NC natomiast ogranicza użycie komercyjne, ale nadal zezwala na modyfikacje w niekomercyjnych kontekstach. Remiksowanie muzyki, tworzenie nowych wersji wideo czy projektów graficznych są popularnymi praktykami w społeczności twórców, co promuje innowacje i rozwój kultury open source. Ważne jest, aby użytkownicy byli świadomi warunków licencji i poprawnie przypisywali autorstwo, co nie tylko spełnia wymogi prawne, ale również wspiera etos współpracy i uczciwości w społeczności twórczej. Zaangażowanie w twórczość w oparciu o licencje Creative Commons przyczynia się do propagowania wiedzy i kultury oraz wspiera zrównoważony rozwój społeczności twórczych.

Pytanie 15

Który z algorytmów ma złożoność O(n2)?

A. Dijkstra
B. Merge Sort
C. Binary Search
D. Bubble Sort
Bubble Sort to algorytm o złożoności O(n²), co oznacza, że jego czas wykonania rośnie kwadratowo wraz ze wzrostem liczby elementów wejściowych. Algorytm porównuje sąsiadujące elementy i zamienia je miejscami, jeśli są w złej kolejności. Proces ten powtarza się wielokrotnie, aż do uzyskania pełnego posortowania tablicy. Ze względu na swoją prostotę, Bubble Sort jest często wykorzystywany do nauki podstaw algorytmiki, ale w praktyce rzadko stosuje się go do sortowania dużych zbiorów danych, ponieważ jest nieefektywny w porównaniu do bardziej zaawansowanych algorytmów, takich jak QuickSort czy Merge Sort.

Pytanie 16

Który z wymienionych typów danych należy do typu logicznego?

A. int
B. float
C. bool
D. char
Typ danych 'bool' (boolean) jest typem logicznym, który przechowuje jedną z dwóch wartości: 'true' lub 'false'. Typy logiczne są nieodłącznym elementem programowania, ponieważ umożliwiają implementację warunków i pętli sterujących przepływem programu. Typ 'bool' znajduje zastosowanie w praktycznie każdym języku programowania, w tym C++, Java, Python i C#. Operacje logiczne, takie jak 'AND', 'OR' i 'NOT', opierają się na wartościach typu 'bool', co czyni je podstawą dla algorytmów decyzyjnych i strukturalnych. Zastosowanie typów logicznych zwiększa czytelność kodu i pozwala na efektywne zarządzanie warunkami logicznymi.

Pytanie 17

Jaką kategorię reprezentuje typ danych "array"?

A. Typ danych złożony
B. Typ logiczny
C. Typ danych prosty
D. Typ wskaźników
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 18

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

A. Zarządzanie ruchem sieciowym i blokowanie nieautoryzowanego dostępu
B. Zapobieganie wyciekom informacji na skutek awarii systemu
C. Szyfrowanie danych przesyłanych w sieci
D. Ochrona danych na poziomie aplikacji internetowych
Firewall to narzędzie, które zarządza ruchem sieciowym i blokuje nieautoryzowane połączenia. Jego głównym celem jest ochrona przed nieuprawnionym dostępem do systemu poprzez analizę i filtrowanie pakietów danych. Firewall działa na poziomie sieciowym i aplikacyjnym, co pozwala na skuteczne zatrzymywanie prób włamań, ataków DDoS oraz złośliwego oprogramowania próbującego komunikować się z serwerami zewnętrznymi. To niezbędny element ochrony każdej infrastruktury IT.

Pytanie 19

Którą funkcję w C++ można zastosować do dynamicznego przydzielania pamięci dla tablicy?

A. malloc()
B. delete[]
C. free()
D. sizeof()
Funkcja 'malloc()' w języku C i C++ służy do dynamicznego alokowania pamięci dla tablic i innych struktur danych. Jest to kluczowa funkcja pozwalająca na przydzielenie określonej ilości bajtów w czasie wykonywania programu, co zwiększa elastyczność zarządzania pamięcią. Używając 'malloc()', programista może utworzyć tablicę o zmiennym rozmiarze, który nie musi być znany w czasie kompilacji. Dynamiczne alokowanie pamięci jest powszechnie stosowane w aplikacjach wymagających dużych ilości danych lub wtedy, gdy konieczne jest efektywne wykorzystanie zasobów systemowych.

Pytanie 20

Jakie narzędzie można wykorzystać do tworzenia aplikacji mobilnych typu cross-platform w C#?

A. platformę Xamarin
B. platformę React Native
C. środowisko Android Studio
D. środowisko XCode
Xamarin to potężna platforma do tworzenia aplikacji mobilnych typu cross-platform w języku C#. Dzięki wykorzystaniu technologii .NET, deweloperzy mogą pisać kod raz, a następnie wdrażać go na różnych systemach operacyjnych, takich jak iOS i Android. Xamarin umożliwia korzystanie z natywnych interfejsów użytkownika oraz dostęp do funkcji urządzeń mobilnych, co zapewnia dużą wydajność i płynność działania aplikacji. Przykładowo, aplikacja stworzona w Xamarinie może korzystać z natywnych komponentów UI, co pozwala na zachowanie specyficznych dla platformy wzorców interakcji oraz UX. Dzięki wsparciu dla C# i .NET, deweloperzy mogą również łatwo integrować istniejące biblioteki oraz korzystać z ekosystemu .NET, co znacząco przyspiesza proces deweloperski. Warto również zaznaczyć, że Xamarin jest zgodny z wieloma standardami, co ułatwia współpracę w zespołach projektowych oraz utrzymanie kodu na dłuższą metę.

Pytanie 21

Jaką funkcję pełni operator "|" w języku C++?

A. Operację przesunięcia bitów w prawo
B. Logiczne "lub"
C. Bitowe "lub"
D. Bitowe "xor"
Operator `|` w języku C++ jest operatorem bitowym `OR`, który porównuje bity dwóch liczb i zwraca `1` w pozycji bitu, jeśli przynajmniej jeden z odpowiadających sobie bitów jest `1`. Przykład: `5 | 3` (w notacji binarnej `0101 | 0011`) zwróci `0111`, co odpowiada liczbie `7`. Operatory bitowe są często używane w programowaniu systemowym, kryptografii oraz manipulacji danymi na poziomie bitowym.

Pytanie 22

Jakie rozwiązanie jest najbardziej odpowiednie przy projektowaniu aplikacji, która ma funkcjonować na różnych systemach operacyjnych?

A. Koncentrowanie się wyłącznie na estetyce aplikacji
B. Wykorzystanie technik responsywnego projektowania interfejsu
C. Pełne dopasowanie aplikacji do systemu Windows
D. Opracowanie dedykowanego kodu dla każdej platformy
Zastosowanie technik responsywnego projektowania interfejsu to najlepsze podejście do tworzenia aplikacji działających na różnych platformach. Responsywne projektowanie umożliwia dostosowanie interfejsu do różnych rozdzielczości ekranów i urządzeń, co zapewnia jednolite doświadczenia użytkownika. Użycie elastycznych siatek (grid), media queries oraz skalowalnych elementów pozwala na automatyczne dostosowanie wyglądu aplikacji, eliminując konieczność tworzenia oddzielnych wersji dla każdej platformy.

Pytanie 23

Jakie środowisko deweloperskie jest powszechnie wykorzystywane do produkcji aplikacji webowych w języku Java?

A. PyCharm
B. Eclipse
C. Android Studio
D. XCode
Eclipse to jedno z najpopularniejszych środowisk programistycznych (IDE) wykorzystywanych do tworzenia aplikacji webowych w języku Java. Jest to potężne narzędzie, które wspiera zarówno tworzenie aplikacji desktopowych, jak i rozbudowanych systemów backendowych. Eclipse oferuje wiele wtyczek i rozszerzeń umożliwiających integrację z narzędziami do zarządzania bazami danych, serwerami aplikacji oraz systemami kontroli wersji. Dzięki temu programiści mogą efektywnie budować i testować aplikacje webowe napisane w Javie.

Pytanie 24

Jaki typ testów ocenia funkcjonalność aplikacji z punktu widzenia użytkownika końcowego?

A. Testy obciążeniowe
B. Testy zgodności
C. Testy funkcjonalne
D. Testy użyteczności
Testy użyteczności to kluczowy element w procesie tworzenia aplikacji, który koncentruje się na analizie i ocenie interakcji użytkownika z produktem. Celem testów użyteczności jest sprawdzenie, jak łatwa i intuicyjna w obsłudze jest aplikacja, czy użytkownik jest w stanie efektywnie osiągnąć swoje cele oraz jakie są potencjalne bariery w korzystaniu z aplikacji. Testy te dostarczają cennych informacji na temat UX (User Experience) i pozwalają na wczesne wykrycie problemów związanych z designem oraz funkcjonalnością.

Pytanie 25

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

A. Błąd w składni
B. Niekompatybilność typów danych w kodzie
C. Błąd kompilacyjny
D. Błąd dzielenia przez zero
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 26

Jakie jest najważniejsze właściwość algorytmów szyfrowania symetrycznego?

A. Zastosowanie odmiennych kluczy do szyfrowania i deszyfrowania
B. Funkcjonowanie bez użycia klucza
C. Szyfrowanie wyłącznie tekstowych plików
D. Zastosowanie identycznego klucza do szyfrowania oraz deszyfrowania
Algorytmy szyfrowania symetrycznego to takie, które używają tego samego klucza do szyfrowania i deszyfrowania danych. To jedna z najstarszych metod i, co ważne, bardzo często stosowanych, bo działa dość szybko i nie wymaga wielkich zasobów. Przykłady, które na pewno słyszałeś, to AES i DES. Symetryki są super w komunikacji sieciowej, przy przechowywaniu danych, a także w różnych protokołach bezpieczeństwa. Fajnie, że są szybkie, ale z drugiej strony trzeba pamiętać o tym, żeby klucz był bezpiecznie przechowywany, bo to może stanowić nie lada problem.

Pytanie 27

Jakie z wymienionych funkcji są typowe dla narzędzi służących do zarządzania projektami?

A. Opracowywanie diagramów przepływu
B. Nadzorowanie postępu realizacji
C. Przeprowadzanie analizy statystycznej
D. Tworzenie interfejsu użytkownika
Monitorowanie postępu prac to jedna z kluczowych funkcji narzędzi do zarządzania projektami. Dzięki temu zespoły mogą śledzić realizację zadań, identyfikować opóźnienia oraz efektywnie alokować zasoby. Narzędzia takie jak Jira, Trello czy Asana pozwalają na wizualizację postępów, co ułatwia kontrolowanie harmonogramu oraz planowanie kolejnych etapów projektu. Monitorowanie postępu prac pomaga także w wykrywaniu wąskich gardeł i umożliwia szybkie podejmowanie decyzji, co znacząco zwiększa efektywność całego zespołu. Funkcja ta jest szczególnie istotna w zarządzaniu projektami IT, budowlanymi i kreatywnymi, gdzie koordynacja wielu zadań jest kluczowa dla sukcesu projektu.

Pytanie 28

Jaką technologię stosuje się do powiązania aplikacji internetowej z systemem baz danych?

A. SQL
B. CSS
C. JavaScript
D. HTTP
SQL, czyli język do zarządzania danymi, to mega ważna rzecz, jeśli chodzi o relacyjne bazy danych. Dzięki niemu można tworzyć, modyfikować, a nawet usuwać tabele. To taki most, który łączy aplikacje webowe z bazą danych. Dzięki SQL programiści mogą łatwo przechowywać i przetwarzać różne informacje na serwerze. Przykłady? Można generować listy produktów, ogarniać użytkowników czy analizować dane z transakcji. Właściwie bez SQL-a nie dałoby się zbudować solidnych aplikacji, na przykład tych, które działają na MySQL, PostgreSQL czy Microsoft SQL Server. Chociaż pewnie o tym wiesz, ale warto to zaznaczyć.

Pytanie 29

Przykład wywołania funkcji zamien w języku C++ może wyglądać w następujący sposób

Ilustracja do pytania
A. zamien(&a, &b); //x,y - zmienne całkowite
B. zamien(*a, *b); //a,b - zmienne całkowite
C. zamien(m,n); //m,n - zmienne całkowite
D. zamien(12, 34)
Wywołanie funkcji 'zamien' w formie zamien(&a, &b) jest poprawne, ponieważ przekazuje adresy zmiennych jako argumenty, co pozwala na modyfikację ich wartości w funkcji. Jest to standardowa technika używana w języku C++ do przekazywania parametrów przez wskaźniki lub referencje.

Pytanie 30

Jakie są różnice między dialogiem modalnym a niemodalnym?

A. Dialog modalny umożliwia interakcję z innymi oknami aplikacji, a dialog niemodalny tego nie pozwala
B. Dialog modalny wymaga zamknięcia, aby powrócić do głównego okna aplikacji, natomiast dialog niemodalny tego nie wymaga
C. Dialog modalny działa w tle, podczas gdy dialog niemodalny jest zawsze wyświetlany na pierwszym planie
D. Dialog modalny jest ograniczony wyłącznie do aplikacji konsolowych
Dialog modalny to okno dialogowe, które wymaga interakcji użytkownika przed powrotem do głównego okna aplikacji. Tego rodzaju okna są często wykorzystywane do wyświetlania komunikatów, potwierdzeń lub formularzy wymagających danych wejściowych. Modalność zapewnia, że użytkownik nie może przejść do innej części aplikacji bez uprzedniego zamknięcia okna dialogowego. To rozwiązanie pomaga w wymuszeniu ważnych akcji, takich jak potwierdzenie usunięcia pliku lub zatwierdzenie płatności. Dialog niemodalny natomiast pozwala na interakcję z resztą aplikacji nawet wtedy, gdy okno dialogowe jest otwarte, co sprawdza się w mniej krytycznych sytuacjach, np. podczas wyświetlania dodatkowych opcji.

Pytanie 31

Algorytm zaprezentowany w zadaniu można zrealizować w języku Java wykorzystując instrukcję

Ilustracja do pytania
A. if
B. while
C. switch
D. try
Pętla while w języku Java jest idealna do implementacji algorytmów, które wymagają wielokrotnego wykonywania bloku kodu dopóki określony warunek logiczny pozostaje prawdziwy. W przedstawionym schemacie blokowym widzimy iteracyjny proces, który zaczyna się od przypisania wartości 2 do zmiennej number, a następnie kontynuuje dodawanie 2 do tej zmiennej tak długo, jak długo jej wartość nie osiągnie 10. Struktura ta jest typowym przykładem problemu, który najlepiej rozwiązać za pomocą pętli while. Wyrażenie warunkowe number != 10 jest sprawdzane przed każdą iteracją pętli, co umożliwia zakończenie pętli w momencie, gdy warunek przestaje być prawdziwy. To podejście jest zgodne z dobrymi praktykami programistycznymi, które zalecają minimalizowanie niepotrzebnych obliczeń i zwiększanie czytelności kodu. Pętle while są często stosowane w sytuacjach, gdy liczba iteracji nie jest z góry znana i zależy od dynamicznie zmieniających się warunków, co czyni je wszechstronnym narzędziem w wielu aplikacjach, od przetwarzania danych po kontrolę przepływu w symulacjach komputerowych. Praktyczna znajomość pętli pozwala na efektywne rozwiązywanie problemów w złożonych projektach informatycznych.

Pytanie 32

Dziedziczenie jest używane, gdy zachodzi potrzeba

A. asynchronicznej realizacji długotrwałych zadań
B. określenia zasięgu dostępności metod i pól danej klasy
C. sformułowania klasy bardziej szczegółowej niż już stworzona
D. wykorzystania stałych wartości, niezmieniających się w trakcie działania aplikacji
Dziedziczenie to fajna sprawa, bo pozwala nam tworzyć nowe klasy na bazie tych, które już mamy. Dzięki temu możemy zaoszczędzić dużo czasu na pisaniu kodu i jednocześnie dodawać nowe funkcje do tych klas. To naprawdę kluczowy element programowania obiektowego.

Pytanie 33

Diagram Gantta, który został zaprezentowany, odnosi się do projektu IT. Przyjmując, że każdy członek zespołu posiada odpowiednie kompetencje do realizacji każdego z zadań, a każde zadanie może być przypisane tylko jednej osobie, która poświęca na nie pełen dzień pracy, to minimalna liczba osób w zespole wynosi

Ilustracja do pytania
A. 1 osobę
B. 4 osoby
C. 5 osób
D. 2 osoby
Diagram Gantta to narzędzie wizualne używane do planowania i zarządzania projektami. Pokazuje harmonogram zadań w czasie. Na przedstawionym diagramie mamy pięć zadań projektowych: Projekt aplikacji Grafika Strona WWW Aplikacja front-end i Aplikacja back-end. Aby określić minimalną liczbę osób potrzebnych do realizacji projektu należy zidentyfikować które zadania mogą być realizowane równocześnie. Z diagramu wynika że w pierwszym tygodniu (1.02 - 7.02) realizowane są zadania Projekt aplikacji i Grafika które wymagają dwóch osób. W kolejnych tygodniach zadania są ułożone tak by unikać nakładania się co oznacza że w każdej kolejnej fazie projektu można kontynuować prace przydzielając jedną osobę do każdego zadania. Dlatego minimalna liczba osób wymagana do realizacji tego projektu to dwie. Taki sposób planowania jest zgodny z zasadami efektywnego zarządzania zasobami w projektach informatycznych co pozwala na optymalne wykorzystanie czasu i umiejętności zespołu. Zastosowanie metody diagramu Gantta jest powszechną praktyką w branży IT pozwalającą na lepsze zobrazowanie zależności i potrzeb kadrowych w projektach.

Pytanie 34

Który framework jest powszechnie wykorzystywany do tworzenia aplikacji internetowych w języku Python?

A. React.js
B. Angular
C. ASP.NET Core
D. Django
Django to framework stworzony specjalnie do budowy aplikacji webowych w języku Python. Jest jednym z najbardziej popularnych i zaawansowanych frameworków typu full-stack, który oferuje szeroki wachlarz narzędzi umożliwiających szybkie i efektywne tworzenie aplikacji internetowych. Django pozwala na tworzenie aplikacji zgodnych z zasadą DRY (Don't Repeat Yourself), co oznacza minimalizację powtarzalnego kodu. Posiada wbudowany panel administracyjny, system ORM (Object-Relational Mapping) oraz zabezpieczenia przed atakami CSRF i XSS. Dzięki Django programiści mogą skupić się na rozwijaniu logiki biznesowej, a nie na konfiguracji podstawowych funkcji aplikacji, co znacznie skraca czas wdrożenia gotowego produktu.

Pytanie 35

Jakie są kluczowe zasady WCAG 2.0?

A. Ewolucyjna, interaktywna, efektywna
B. Dostosowana, błyskawiczna, mobilna, dostępna
C. Elastyczna, prosta, przejrzysta, trwała
D. Percepcyjna, operacyjna, zrozumiała, solidna
Zasady WCAG 2.0, czyli Wytycznych dotyczących dostępności treści internetowych, skupiają się na zapewnieniu, że strony internetowe są dostępne dla wszystkich użytkowników, niezależnie od ich zdolności. Główne zasady to percepcyjna, operacyjna, zrozumiała i solidna. Percepcyjna oznacza, że ​​wszystkie elementy na stronie muszą być przedstawione w sposób, który umożliwia ich percepcję przez różne zmysły, takie jak wzrok i słuch. Na przykład, tekst alternatywny dla obrazów pozwala osobom niewidomym zrozumieć zawartość wizualną. Operacyjna dotyczy interakcji użytkownika z treścią; nawigacja powinna być intuicyjna, a elementy interaktywne łatwo osiągalne. Zrozumiała oznacza, że ​​treść powinna być zrozumiała dla wszystkich użytkowników, co można osiągnąć poprzez prosty język i jasne instrukcje. Solidna koncentruje się na tym, aby treść była wystarczająco elastyczna, aby działała w różnych przeglądarkach i urządzeniach, co jest kluczowe w dobie różnorodności technologii. Przykładem wdrożenia tych zasad może być wykorzystanie ARIA (Accessible Rich Internet Applications), które wspomagają dostępność dynamicznych treści w aplikacjach internetowych.

Pytanie 36

Zawarty w ramce opis licencji sugeruje, że mamy do czynienia z licencją

Ilustracja do pytania
A. Freeware
B. OEM
C. Shareware
D. Open Source
Opis licencji wskazuje na licencję Open Source, która umożliwia użytkownikom przeglądanie, modyfikowanie i dystrybucję kodu źródłowego. Oprogramowanie open source sprzyja innowacji, współpracy i elastyczności, pozwalając na dostosowanie aplikacji do własnych potrzeb. Licencje takie jak GPL, MIT czy Apache są popularnymi przykładami licencji open source.

Pytanie 37

Jaki typ pamięci RAM powinno się wybrać do efektywnego komputera do gier?

A. LPDDR4
B. DDR5
C. DDR4
D. DDR3
Wybór odpowiedniego rodzaju pamięci RAM jest kluczowy dla osiągnięcia maksymalnej wydajności w komputerze gamingowym. DDR5, najnowszy standard pamięci dynamicznej RAM, oferuje znaczące ulepszenia w porównaniu do swoich poprzedników. Główne różnice dotyczą prędkości, efektywności energetycznej oraz pojemności. DDR5 może oferować prędkości sięgające 8400 MT/s, co przyczynia się do szybszego transferu danych, co ma bezpośredni wpływ na wydajność gier i aplikacji wymagających wysokiej przepustowości. Ponadto, DDR5 wprowadza architekturę, która pozwala na zwiększenie ilości pamięci w jednym module, co umożliwia konfiguracje do 128 GB na pojedynczy moduł, co jest niezwykle korzystne dla graczy korzystających z bardziej wymagających tytułów. Przykłady gier, które potrafią w pełni wykorzystać możliwości DDR5 to Cyberpunk 2077 czy Call of Duty: Warzone, gdzie wydajność pamięci jest kluczowym elementem w uzyskiwaniu płynności rozgrywki. Stosowanie DDR5 nie tylko poprawia wydajność, ale również zwiększa przyszłościowość sprzętu, co sprawia, że jest to najlepszy wybór na dzisiejszym rynku komputerów gamingowych.

Pytanie 38

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

A. Zmienna przechowująca adres pamięci
B. Typ danych do zapisywania tekstów
C. Zmienna przechowująca wartość logiczną
D. Funkcja do dynamicznej alokacji pamięci
Wskaźnik w języku C to zmienna przechowująca adres pamięci innej zmiennej. Umożliwia bezpośrednią manipulację pamięcią, co czyni wskaźniki niezwykle potężnym narzędziem w programowaniu niskopoziomowym. Dzięki wskaźnikom można dynamicznie alokować pamięć, przekazywać duże struktury danych do funkcji bez ich kopiowania oraz implementować struktury danych, takie jak listy, drzewa czy grafy. Wskaźniki umożliwiają także iterowanie po tablicach i efektywne zarządzanie zasobami systemowymi, co czyni je kluczowym elementem w programowaniu systemowym.

Pytanie 39

Jakie są kluczowe etapy resuscytacji krążeniowo-oddechowej?

A. 20 uciśnięć klatki piersiowej na przemian z 5 wdechami ratowniczymi
B. 10 uciśnięć klatki piersiowej bez wdechów
C. 30 uciśnięć klatki piersiowej na przemian z 2 wdechami ratowniczymi
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 40

Jakie wyrażenie logiczne powinno być użyte, aby zweryfikować, czy zmienna x zawiera wartości ujemne lub znajduje się w zakresie (10, 100)?

A. (x > 10 || x < 100) && x < 0
B. x > 10 || x < 100 || x < 0
C. (x > 10 && x < 100) || x < 0
D. x > 10 || x < 100 || x < 0
Poprawnym wyrażeniem logicznym sprawdzającym, czy zmienna x przechowuje wartości ujemne lub z przedziału (10, 100) jest (x > 10 && x < 100) || x < 0. Logika ta gwarantuje, że wartość x spełnia jeden z dwóch warunków: mieści się w przedziale lub jest ujemna.