Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jakie jest zastosowanie języka XAML przy tworzeniu aplikacji desktopowych?

A. Do optymalizacji działania aplikacji
B. Do zarządzania bazami danych
C. Do obsługi zdarzeń klawiatury
D. Do projektowania graficznego interfejsu użytkownika
XAML (Extensible Application Markup Language) to język znaczników wykorzystywany w technologii WPF (Windows Presentation Foundation) oraz UWP (Universal Windows Platform) do projektowania graficznego interfejsu użytkownika (GUI). XAML pozwala na definiowanie układów, przycisków, etykiet oraz innych elementów interaktywnych w aplikacjach desktopowych. Dzięki XAML, projektowanie interfejsu jest intuicyjne, a kod interfejsu jest oddzielony od logiki aplikacji, co sprzyja przejrzystości projektu. XAML wspiera animacje, style i szablony, co umożliwia budowę nowoczesnych, dynamicznych aplikacji. Jego elastyczność i możliwość współpracy z C# sprawiają, że XAML jest niezastąpiony w środowisku Windows.

Pytanie 2

Modyfikator dostępu, który znajduje się przed definicją metody Dodaj() w klasie Kalkulator, powoduje, że

Ilustracja do pytania
A. nie jest ona dostępna w klasach, które dziedziczą po klasie Kalkulator
B. jest ona dostępna w programie głównym i może być wywoływana na rzecz instancji klasy Kalkulator
C. jest ona dostępna zarówno wewnątrz klasy, jak i w klasach dziedziczących po klasie Kalkulator
D. nie jest ona dostępna z poziomu klas zaprzyjaźnionych z klasą Kalkulator
Modyfikator dostępu protected jest kluczowym elementem programowania obiektowego, umożliwiającym kontrolę nad widocznością i dostępem do składników klasy. Gdy metoda jest oznaczona jako protected, jak w przypadku metody Dodaj() w klasie Kalkulator, oznacza to, że jest ona dostępna nie tylko w ramach tej klasy, ale również w dowolnych klasach, które dziedziczą po klasie Kalkulator. To podejście wspiera koncepcję dziedziczenia, umożliwiając klasom potomnym korzystanie z funkcjonalności klasy bazowej bez konieczności ponownego definiowania metod. Na przykład, jeśli stworzymy klasę DziecięcyKalkulator dziedziczącą po Kalkulator, metoda Dodaj() będzie dostępna w tej klasie potomnej. Takie rozwiązanie jest często stosowane w projektach, gdzie istnieje potrzeba rozszerzania funkcjonalności bazowych klas bez naruszania ich enkapsulacji. Dobre praktyki programistyczne sugerują stosowanie protected tam, gdzie chcemy umożliwić dziedziczenie oraz uniknąć nadmiernego udostępniania elementów klasy zewnętrznym użytkownikom. Dzięki temu kod staje się bardziej modularny i elastyczny, co jest istotne w dużych projektach programistycznych. Zrozumienie roli modyfikatorów dostępu, takich jak protected, jest kluczowe dla efektywnego projektowania i implementacji systemów obiektowych.

Pytanie 3

Zamieszczony kawałek kodu w języku C# tworzy hasło. Wskaż prawdziwe stwierdzenie dotyczące cech tego hasła?

Ilustracja do pytania
A. Może zawierał małe i wielkie litery oraz cyfry
B. Może zawierać małe oraz wielkie litery, cyfry i znaki specjalne
C. Ma 8 znaków lub więcej i zawiera małe oraz wielkie litery, a także cyfry
D. Ma maksymalną długość 7 znaków, co ustala zmienna i
Fragment programu w języku C# generuje hasło, które zawiera małe i wielkie litery oraz cyfry. W kodzie widzimy, że zmienna pulaZnakow zawiera wszystkie małe litery alfabetu, wszystkie wielkie litery oraz cyfry od 0 do 9. Zmienna dlPuli przechowuje długość ciągu znaków, co umożliwia losowe wybieranie znaków z pełnego zakresu dostępnych znaków. W pętli for odbywa się iteracja 8 razy, co oznacza, że każde generowane hasło ma długość 8 znaków. Każdy znak jest losowo wybierany z puli, co zapewnia różnorodność i brak uprzedzeń w doborze znaków. Warto również zwrócić uwagę na praktyczne użycie klasy Random, która jest standardem w przypadkowej generacji danych w C#. Takie podejście jest zgodne z najlepszymi praktykami, gdzie hasła powinny mieć różnorodne znaki, co zwiększa ich siłę i trudność złamania. Dobrym pomysłem jest również dodanie symboli specjalnych dla jeszcze większego bezpieczeństwa, co można łatwo zaimplementować modyfikując pule dostępnych znaków.

Pytanie 4

Jakie jest źródło błędu w podanym kodzie przez programistę?

Ilustracja do pytania
A. argumenty konstruktora powinny być przekazane podczas inicjacji obiektu
B. inicjacja obiektu została błędnie zapisana
C. pole autor jest niedostępne z tego poziomu
D. brak konstruktora w definicji klasy
Błąd związany z polem 'autor' wynika z problemu dostępu do pól prywatnych w klasie. W programowaniu obiektowym, pola prywatne (oznaczone jako private) są dostępne tylko wewnątrz danej klasy i nie mogą być bezpośrednio modyfikowane lub odczytywane z zewnątrz. Aby umożliwić dostęp do takich pól, programista powinien utworzyć odpowiednie metody dostępowe – tzw. gettery i settery. Jest to przykład hermetyzacji (encapsulation), jednego z filarów programowania obiektowego, który pozwala na kontrolę nad tym, jak dane są przechowywane i modyfikowane. Hermetyzacja zwiększa bezpieczeństwo aplikacji i zapobiega przypadkowym zmianom wartości pól obiektu.

Pytanie 5

W podanym fragmencie kodu Java wskaż, która zmienna może pomieścić wartość "T"

Ilustracja do pytania
A. zm4
B. zm1
C. zm3
D. zm2
Zmienna o nazwie zm3 została zadeklarowana jako typu char co oznacza że może przechowywać pojedynczy znak w tym przypadku wartość T. Typ char w języku Java jest używany do przechowywania znaków Unicode co czyni go idealnym do obsługi liter jako danych. Każdy znak jest przechowywany jako 16-bitowa wartość liczby całkowitej co umożliwia reprezentację szerokiego zakresu symboli w tym litery cyfry i inne znaki specjalne. Przykładowymi zastosowaniami typu char są przypadki gdzie konieczne jest przechowywanie i przetwarzanie liter np. w sytuacjach gdy aplikacja wymaga manipulacji pojedyńczymi znakami w tekście czy analizą ich wartości w kontekście porównywania danych. Dobre praktyki przy pracy z typem char obejmują świadome zarządzanie pamięcią i unikanie niepotrzebnych konwersji do innych typów danych co może prowadzić do strat precyzji lub nieoczekiwanych rezultatów. Ważne jest także zrozumienie jak znaki są kodowane i dekodowane szczególnie w kontekście międzynarodowym gdzie prawidłowa obsługa znaków Unicode jest kluczowa dla zapewnienia kompatybilności i poprawnego działania aplikacji w różnych językach.

Pytanie 6

Jaka jest składnia komentarza jednoliniowego w języku Python?

A. !
B. //
C. ""
D. #
Komentarz jednoliniowy w Pythonie rozpoczyna się od znaku '#'. Wszystko, co następuje po tym znaku, jest ignorowane przez interpreter. Używanie komentarzy pomaga dokumentować kod, co zwiększa jego czytelność i ułatwia współpracę w zespołach programistycznych.

Pytanie 7

Jakie cechy posiada model prototypowy w zakresie zarządzania projektami?

A. Realizowaniem pełnej wersji produktu przed przeprowadzeniem testów
B. Rozwojem produktu w sposób iteracyjny w krótkich cyklach
C. Przygotowaniem wersji systemu w ograniczonym zakresie w celu uzyskania opinii od użytkownika
D. Szczegółowym planowaniem każdego etapu projektu przed jego realizacją
Model prototypowy w zarządzaniu projektami to taka sprytna technika, gdzie tworzymy coś w rodzaju wczesnej wersji systemu, czyli prototypu. To nam pozwala zebrać opinie od użytkowników i przetestować różne pomysły zanim w ogóle weźmiemy się za pełną wersję. Fajną sprawą jest to, że gdy mamy ten prototyp, to łatwiej wyłapać błędy, zanim wszystko zostanie w pełni zbudowane. Największa zaleta? Możemy dostosować i poprawiać aplikację na podstawie tego, co mówią użytkownicy. Dzięki temu ryzyko, że stworzymy coś, co nie spełnia ich oczekiwań, jest znacznie mniejsze. Prototypy to często chleb powszedni w projektach UX/UI, aplikacjach webowych czy oprogramowaniu dla firm, gdzie tak istotne jest, by dobrze trafiać w potrzeby końcowych użytkowników.

Pytanie 8

Które z podejść do tworzenia aplikacji najlepiej uwzględnia przyszłe zmiany w funkcjonalności?

A. Tworzenie bez wcześniejszej specyfikacji technicznej
B. Zastosowanie modularnej architektury aplikacji
C. Pisanie kodu bez jakiejkolwiek dokumentacji
D. Skupienie się tylko na estetce aplikacji
Użycie modularnej architektury aplikacji to najlepsze podejście do projektowania systemów, które muszą uwzględniać przyszłe modyfikacje funkcjonalności. Modularność pozwala na podział aplikacji na mniejsze, niezależne komponenty, które mogą być rozwijane, testowane i aktualizowane niezależnie od siebie. Takie podejście zwiększa elastyczność, ułatwia zarządzanie kodem i pozwala na szybkie wdrażanie nowych funkcji bez konieczności ingerencji w cały system. Architektura modularna jest szczególnie przydatna w dużych projektach, gdzie zmiany są częste, a wymagania dynamicznie się zmieniają.

Pytanie 9

W jakim celu wykorzystuje się diagram Gantta?

A. do dokładnej analizy czasowo-kosztowej projektu
B. do wizualizacji powiązań między elementami systemów
C. do planowania i zarządzania projektem
D. do przedstawiania funkcjonalności systemu
Obrazowanie funkcjonalności – To domena diagramów UML, nie Gantta. Analiza kosztów – Gantt nie zajmuje się szczegółową analizą kosztów. Wizualizacja zależności – Do tego celu stosuje się diagramy sieciowe, nie Gantta.

Pytanie 10

Które z wymienionych zastosowań najlepiej definiuje bibliotekę jQuery?

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

Pytanie 11

Wskaż typy numeryczne o stałej precyzji

A. float, double
B. int, short, long
C. long long, long double
D. bool char, string
Typy stałoprzecinkowe, takie jak int, short i long, przechowują liczby całkowite bez części ułamkowej. Są to podstawowe typy danych w wielu językach programowania, używane do przechowywania liczb całkowitych różnej wielkości.

Pytanie 12

Jaką rolę odgrywa interpreter w kontekście programowania?

A. Przekłada kod źródłowy na język maszynowy w trakcie działania programu
B. Zoptymalizowuje wydajność aplikacji w środowisku produkcyjnym
C. Łączy kod źródłowy z zewnętrznymi bibliotekami
D. Generuje plik wykonywalny dla systemu operacyjnego
Interpreter tłumaczy kod źródłowy na język maszynowy instrukcja po instrukcji, co oznacza, że każda linia kodu jest analizowana i wykonywana na bieżąco. Dzięki temu programy interpretowane, takie jak te w Pythonie, Ruby czy JavaScript, mogą być szybko testowane i uruchamiane bez konieczności wcześniejszej kompilacji. Interpretacja pozwala na elastyczność w procesie rozwoju, ponieważ zmiany w kodzie są widoczne natychmiast po zapisaniu pliku. To czyni interpreter idealnym narzędziem do prototypowania i budowania aplikacji w dynamicznych środowiskach.

Pytanie 13

Jaką wydajność posiada sieć, która przesyła 500 MB danych w czasie 10 sekund?

A. 500 Mbps
B. 50 Mbps
C. 400 Mbps
D. 40 Mbps
Przepustowość sieci to tak naprawdę miara, jak dobrze potrafimy przesyłać dane w określonym czasie, najczęściej podawana w bitach na sekundę (bps). Jeśli mamy 500 MB danych do przesłania w ciągu 10 sekund, to najpierw musimy zamienić megabajty na megabity. Pamiętaj, że 1 bajt to 8 bitów, więc 500 MB to 4000 Mb (500 MB * 8 = 4000 Mb). Jak już to zrobimy, dzielimy 4000 Mb przez 10 sekund i wychodzi nam 400 Mb/s. Ale warto też wspomnieć, że generalnie przepustowość mierzona jest w megabitach na sekundę. Tak więc 500 Mbps to w zasadzie to samo co 500 Mb/s w kontekście przesyłania danych. Podsumowując, obliczając 4000 Mb dzielone przez 10 sekund, dostajemy przepustowość 400 Mbps. Wiesz, to pokazuje, że przy takim transferze danych potrzeba sporego pasma, żeby wszystko działało jak należy. W dzisiejszych czasach, szybkość transferu danych to kluczowy element, żeby sieć była wydajna.

Pytanie 14

Liczba A4 w zapisie heksadecymalnym ma odpowiadający jej zapis binarny

A. 10100010
B. 1011100
C. 10100100
D. 1010100
1010100 to niepełna reprezentacja, brakuje odpowiednich bitów dla pełnej liczby. 10100010 zawiera błędy w zamianie jednej z cyfr. 1011100 nie odpowiada poprawnemu przekształceniu szesnastkowego A4, co prowadzi do błędnych obliczeń.

Pytanie 15

Jaką strukturę danych obrazuje zamieszczony kod w języku C#?

Ilustracja do pytania
A. tablicę dwuwymiarową
B. listę
C. stos
D. tablicę jednowymiarową
Kod w języku C# reprezentuje tablicę dwuwymiarową, która jest deklarowana za pomocą podwójnych nawiasów kwadratowych. Tablica taka pozwala na przechowywanie danych w formie macierzy.

Pytanie 16

W zaprezentowanym wideo przedstawiono narzędzie do tworzenia interfejsu użytkownika, dla którego automatycznie generuje się

A. kod XML
B. obsługa przycisku ekranu dotykowego
C. obsługa wciśniętego przycisku
D. kod Java
W kreatorze interfejsu użytkownika automatycznie generowany jest kod XML, który opisuje układ i właściwości elementów interfejsu. XML jest standardem w tworzeniu interfejsów dla aplikacji na platformy Android i WPF.

Pytanie 17

Jakie są różnice między procesem kompilacji a interpretacją kodu?

A. Kompilacja jest stosowana jedynie w programowaniu obiektowym
B. Interpretacja umożliwia tworzenie bibliotek dynamicznych, a kompilacja bibliotek statycznych
C. Kompilacja przekształca cały kod źródłowy przed jego wykonaniem, podczas gdy interpretacja tłumaczy kod na bieżąco
D. Kompilacja wymaga użycia debuggera, natomiast interpretacja tego nie potrzebuje
Kompilacja i interpretacja to dwa różne sposoby, żeby uruchomić kod. Kiedy kompilujesz, to cały kod jest zamieniany na język maszynowy przed uruchomieniem programu, a na końcu dostajesz plik, który można odpalić. Z kolei w interpretacji, kod jest analizowany i wykonywany linia po linii „na żywo”. Kompilacja jest bardziej typowa dla języków takich jak C czy C++, a interpretacja jest popularna w językach skryptowych jak Python czy JavaScript. Kompilacja daje większą wydajność, ale musisz poczekać, aż cały kod się skompiluje, a interpretacja pozwala na szybkie testowanie i łatwiejsze znajdowanie błędów.

Pytanie 18

Pętla przedstawiona w zadaniu działa na zmiennej typu string o nazwie ciąg. Jej celem jest

Ilustracja do pytania
A. od każdego znaku w ciągu, który nie jest równy 0, odjąć kod 32
B. zamienić w ciągu małe litery na wielkie
C. zamienić w ciągu wielkie litery na małe
D. od każdego znaku w ciągu odjąć kod 32
Pętla, która zamienia małe litery na wielkie, to naprawdę fajny przykład tego, jak można operować na tekstach. W zasadzie każdy znak w napisie jest przeszukiwany, a jeśli to litera, to modyfikujemy jej kod ASCII. W praktyce dodajemy lub odejmujemy 32, żeby uzyskać odpowiednią wielką literę. Tego typu operacje wykorzystuje się w wielu miejscach, jak na przykład przy filtrowaniu danych czy normalizacji tekstu. No i oczywiście w systemach wyszukujących, gdzie wielkość liter ma znaczenie. Warto umieć zaimplementować taką pętlę, bo przydaje się w różnych aplikacjach, szczególnie tam, gdzie tekst jest kluczowy.

Pytanie 19

Która z wymienionych metod jest najodpowiedniejsza do wizualizacji procesu podejmowania decyzji?

A. Schemat blokowy
B. Drzewo decyzyjne
C. Pseudokod
D. Lista kroków
Schemat blokowy to jedna z najlepszych metod wizualnego przedstawienia procesu decyzyjnego. Umożliwia graficzne odwzorowanie przepływu operacji i decyzji, co czyni go niezwykle przydatnym narzędziem w analizie i projektowaniu algorytmów. Dzięki użyciu różnych kształtów (np. prostokątów dla operacji, rombów dla decyzji) schemat blokowy pozwala jasno i czytelnie przedstawić logikę działania programu lub systemu. Jest szeroko stosowany w inżynierii oprogramowania, zarządzaniu projektami oraz nauczaniu podstaw algorytmiki. Pozwala zidentyfikować potencjalne błędy i optymalizować procesy jeszcze przed rozpoczęciem implementacji.

Pytanie 20

W przedstawionej ramce znajduje się fragment opisu metody compile języka Java wykorzystywanej w kontekście wyrażeń regularnych. Który symbol powinien być użyty, aby znaleźć dopasowanie na końcu tekstu?

Ilustracja do pytania
A. ^
B. $
C. |
D. .
Znak dolara $ w wyrażeniach regularnych w języku Java jest używany do oznaczenia końca ciągu znaków. Jeśli chcemy sprawdzić, czy konkretny wzorzec występuje na końcu danego tekstu, używamy właśnie tego metaznaku. Przykładowo, wyrażenie regularne World$ dopasuje tekst, w którym słowo World pojawia się na samym końcu. Jest to przydatne w wielu scenariuszach, takich jak walidacja struktury tekstu czy filtrowanie logów, gdzie ważna jest pozycja występowania wzorca. Konwencja ta jest zgodna z ogólnymi standardami regex, co czyni ją intuicyjną i uniwersalną w zastosowaniu. Dolar pełni kluczową rolę w automatyzacji procesów w przetwarzaniu tekstu, umożliwiając efektywne dopasowywanie końcowych wzorców w aplikacjach Java. Użycie $ jest zgodne z dobrymi praktykami kodowania, szczególnie w kontekście walidacji danych wejściowych, gdzie określenie końca ciągu jest często wymagane. Jest to także popularne w analizie danych, gdzie dane muszą spełniać określone kryteria co do ich zakończenia, takie jak rozszerzenia plików czy określone etykiety tekstowe.

Pytanie 21

Który z poniższych kodów realizuje przedstawiony fragment algorytmu?

Ilustracja do pytania
A. Kod 3
B. Kod 2
C. Kod 4
D. Kod 1
Kod 3 jest poprawną implementacją przedstawionego algorytmu. Jego struktura i sposób działania odpowiadają założeniom algorytmu, co prowadzi do uzyskania prawidłowego wyniku.

Pytanie 22

Jakie elementy powinny być zawarte w instrukcji dla użytkownika danej aplikacji?

A. Informacje o narzędziach programistycznych zastosowanych w procesie tworzenia aplikacji
B. Wyjaśnienie struktur danych wykorzystywanych w kodzie
C. Harmonogram realizacji projektu
D. Opis instalacji, konfiguracji oraz obsługi oprogramowania
W instrukcji użytkownika aplikacji warto, żeby był opis tego, jak zainstalować, skonfigurować i korzystać z programu. Taka dokumentacja, pisana krok po kroku, pomaga użytkownikowi przejść przez wszystkie etapy, od pobrania oprogramowania, przez instalację, aż po to, żeby w pełni wykorzystać wszystkie funkcje. Dobrze, żeby były tam też info o wymaganiach systemowych, sposobach radzenia sobie z problemami czy aktualizacjach oprogramowania. Moim zdaniem, taka dokładna instrukcja jest mega ważna, bo zmniejsza szanse na napotkanie kłopotów podczas korzystania z aplikacji i sprawia, że łatwiej jest wdrożyć ją w pracy. Jak użytkownicy mają porządnie napisaną instrukcję, to są bardziej zadowoleni i szybciej przyzwyczajają się do nowego narzędzia.

Pytanie 23

Kod funkcji "wykonaj()" przedstawiony powyżej weryfikuje, czy

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

Pytanie 24

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

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

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

A. Nadzorowanie postępu realizacji
B. Przeprowadzanie analizy statystycznej
C. Tworzenie interfejsu użytkownika
D. Opracowywanie diagramów przepływu
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 26

Które z wymienionych działań stanowi zagrożenie dla emocjonalnego dobrostanu człowieka w sieci?

A. Zła postawa podczas pracy przy komputerze
B. Cyberstalking
C. Przesyłanie niezaszyfrowanych plików
D. Nadmierne korzystanie z mediów społecznościowych
Cyberstalking to groźne zjawisko polegające na uporczywym prześladowaniu, nękaniu lub groźbach w przestrzeni internetowej. Może prowadzić do poważnych problemów emocjonalnych, takich jak lęki, depresja, a nawet zespół stresu pourazowego (PTSD). Cyberstalking narusza prywatność ofiary, wywołując poczucie zagrożenia i bezradności. Walka z tym zjawiskiem obejmuje zgłaszanie przypadków organom ścigania, blokowanie prześladowców i korzystanie z narzędzi ochrony prywatności.

Pytanie 27

Termin ryzyko zawodowe odnosi się do

A. efektów zagrożeń wypadkowych, jakie występują w miejscu zatrudnienia
B. ciężkości skutków niepożądanych zdarzeń związanych z pracą
C. zagrożenia wypadkowego, które może wystąpić w miejscu pracy
D. prawdopodobieństwa, że zdarzenia niepożądane związane z pracą spowodują straty, w szczególności negatywne skutki zdrowotne dla pracowników
Ryzyko zawodowe to prawdopodobieństwo wystąpienia niepożądanych zdarzeń związanych z pracą, mogących prowadzić do strat zdrowotnych lub materialnych. Ocena ryzyka to kluczowy element zarządzania bezpieczeństwem pracy.

Pytanie 28

Jakie wartości może przyjąć zmienna typu boolean?

A. 1, -1
B. O oraz każdą liczbę całkowitą
C. true, false
D. trzy dowolne liczby naturalne
Zmienna typu logicznego (boolowskiego) w językach programowania, takich jak C++, Java czy Python, może przyjmować tylko dwie wartości: true (prawda) oraz false (fałsz). Te wartości są fundamentalne w logice komputerowej, ponieważ umożliwiają podejmowanie decyzji oraz kontrolowanie przepływu programu poprzez struktury warunkowe, takie jak instrukcje if, while czy for. Na przykład, w języku Python, tworząc zmienną logiczną, możemy użyć operatorów porównania, aby określić, czy dwie wartości są równe: is_equal = (5 == 5), co ustawia is_equal na true. Zmienne logiczne są zdefiniowane w standardach programowania, takich jak IEEE 754 dla reprezentacji liczb zmiennoprzecinkowych, gdzie wartość logiczna jest kluczowa dla operacji porównawczych. Dobrze zrozumiana logika boolowska jest niezbędna dla programistów, ponieważ stanowi podstawę algorytmu decyzyjnego oraz wpływa na efektywność kodu.

Pytanie 29

Jakie narzędzie służy do zarządzania wersjami?

A. Git
B. Jira
C. Bugzilla
D. Trello
Git to system kontroli wersji, który pozwala na śledzenie zmian w kodzie źródłowym. Jest to narzędzie szeroko stosowane w zespołach programistycznych, umożliwiające współpracę i zarządzanie historią projektu.

Pytanie 30

Który komponent systemu komputerowego zajmuje się transferem danych pomiędzy procesorem a pamięcią RAM?

A. Zasilacz
B. Karta graficzna
C. Kontroler DMA
D. Mostek północny (Northbridge)
Mostek północny, znany również jako Northbridge, jest kluczowym elementem architektury komputerowej, który odpowiada za komunikację pomiędzy procesorem a pamięcią RAM. Jego głównym zadaniem jest koordynowanie przepływu danych w systemie oraz zapewnienie szybkiego dostępu do pamięci, co jest niezbędne dla wydajności całego systemu. Mostek północny jest odpowiedzialny za zarządzanie magistralami danych, a także interfejsami, takimi jak PCI Express, które łączą różne komponenty. Dzięki zastosowaniu standardów, takich jak DDR (Double Data Rate), mostek północny umożliwia efektywne przesyłanie danych w wysokiej prędkości. Praktycznym przykładem działania mostka północnego jest sytuacja, kiedy procesor potrzebuje załadować dane z pamięci RAM do rejestrów – mostek północny zarządza tym procesem, minimalizując opóźnienia i maksymalizując wydajność. W nowoczesnych systemach komputerowych mostek północny jest często zintegrowany z procesorem, co dodatkowo zwiększa efektywność komunikacji oraz zmniejsza czas dostępu do danych.

Pytanie 31

W jaki sposób można zmniejszyć liczbę danych zbieranych przez aplikacje mobilne?

A. Nie blokować aplikacjom dostępu do lokalizacji oraz kontaktów
B. Używać aplikacji bez sprawdzania ich źródła
C. Weryfikować i regulować uprawnienia aplikacji w ustawieniach
D. Udostępniać aplikacjom wszystkie niezbędne informacje
Dostosowanie uprawnień aplikacji w ustawieniach swojego telefonu to naprawdę dobry sposób na ograniczenie tego, co aplikacje mogą o nas wiedzieć. Wiele z nich, jak np. te do robienia zdjęć, prosi o dostęp do lokalizacji czy kontaktów, ale nie zawsze jest to potrzebne. Warto co jakiś czas sprawdzić, czy jakieś aplikacje nie mają za dużo uprawnień. Dzięki temu lepiej zabezpieczymy swoją prywatność i zmniejszymy ryzyko, że nasze dane wyciekną. Lepiej też unikać aplikacji z nieznanych źródeł, bo mogą one zbierać więcej informacji, niż byśmy chcieli.

Pytanie 32

Jaki jest wymagany sposób do realizacji algorytmu sortowania bąbelkowego na n-elementowej tablicy?

A. dwie pętle funkcjonujące na co najmniej (n+1) elementach każda
B. dwie pętle działające na najwyżej n-elementach każda
C. jedna pętla operująca na 2n elementach oraz warunek
D. n-liczby warunków
Aby zaimplementować algorytm sortowania bąbelkowego, potrzebne są dwie pętle iteracyjne, które porównują i zamieniają miejscami elementy tablicy. Zewnętrzna pętla iteruje po całej tablicy, natomiast wewnętrzna pętla wykonuje kolejne porównania i przestawia elementy, jeśli są one w nieprawidłowej kolejności. Algorytm sortowania bąbelkowego charakteryzuje się prostotą, ale jego złożoność obliczeniowa wynosi O(n²), co czyni go mało efektywnym dla dużych zbiorów danych. Niemniej jednak, jest to jedno z pierwszych ćwiczeń programistycznych, które wprowadza do zagadnień algorytmicznych i uczy podstaw iteracji oraz manipulacji tablicami. Pomimo swojej niskiej wydajności, sortowanie bąbelkowe jest często wykorzystywane do celów edukacyjnych oraz w przypadkach, gdy prostota implementacji ma większe znaczenie niż szybkość działania.

Pytanie 33

Jakie jest kluczowe działanie przy opracowywaniu zbiorów danych do rozwiązania problemu programistycznego?

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

Pytanie 34

Jakie znaczenie ma poziom dostępności AAA w WCAG 2.0?

A. Dostosowanie tylko do użytkowników mobilnych
B. Najnizszy poziom dostępności
C. Średni standard dostępności
D. Najwyższy poziom dostępności
Poziom dostępności AAA w WCAG 2.0 oznacza najwyższy standard dostępności, który ma na celu zapewnienie, że treści internetowe są dostępne dla wszystkich użytkowników, w tym osób z różnymi rodzajami niepełnosprawności. WCAG, czyli Wytyczne dotyczące dostępności treści internetowych, są międzynarodowym standardem, który definiuje, jak tworzyć dostępne treści. Poziom AAA obejmuje wszystkie wytyczne z poziomów A i AA oraz dodatkowe wymagania, które są bardziej rygorystyczne. Przykładem może być konieczność zapewnienia alternatywnych opisów dla wszystkich mediów, w tym dla materiałów wideo i audio, a także użycie odpowiednich kontrastów kolorystycznych. W praktyce oznacza to, że strony internetowe muszą być projektowane z myślą o właściwej nawigacji, dostępnym oprogramowaniu czytającym oraz dostosowanych formatach tekstowych, które są łatwe do przetwarzania przez osoby z różnymi ograniczeniami. Wdrożenie poziomu AAA jest wyzwaniem, ale przyczynia się do bardziej inkluzywnego środowiska online.

Pytanie 35

Aplikacje webowe stworzone z użyciem frameworka Angular lub biblioteki React, działające na standardowych portach, można uruchomić na lokalnym serwerze, wpisując w przeglądarkę

A. localhost:5001 (React) lub localhost:8080 (Angular)
B. localhost:3000 (React) lub localhost:4200 (Angular)
C. localhost:8000 (React) lub localhost:49887 (Angular)
D. localhost:8080 (React) lub localhost:8000 (Angular)
Domyślne porty dla aplikacji tworzonych w React to localhost:3000, a dla Angular to localhost:4200. Te ustawienia pozwalają na szybkie uruchomienie aplikacji na lokalnym serwerze podczas fazy deweloperskiej. React i Angular to popularne technologie do budowy nowoczesnych aplikacji webowych, a korzystanie z domyślnych portów upraszcza proces testowania i wdrażania.

Pytanie 36

W środowisku IDE przeznaczonym do tworzenia aplikacji okienkowych zdefiniowano okno Form1. Aby wprowadzić zmiany w ustawieniach, w kolejności: tytuł okna na górnym pasku, standardowy kursor na strzałkę oraz kolor tła okna, należy dostosować następujące pola w oknie Properties:

Ilustracja do pytania
A. Text, Cursor, BackColor
B. (Name), UseWaitCursor, BackgroundImage
C. Text, UseWaitCursor, BackColor
D. (Name), Cursor, BackgroundImage
Jak chcesz zmienić nazwę okna, kursor czy kolor tła w IDE, to trzeba popracować nad polami, czyli 'Text' (to jest nazwa), 'Cursor' (czyli kursor) i 'BackColor' (to kolor tła). Te ustawienia są kluczowe, bo dzięki nim możesz nadać swojemu oknu wygląd, który ci odpowiada, albo taki, który pasuje do wymagań projektu.

Pytanie 37

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

A. CSS
B. HTTP
C. JavaScript
D. SQL
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 38

Jakie znaczenie ma framework w kontekście programowania?

A. System operacyjny, który umożliwia uruchamianie aplikacji
B. Program do graficznego projektowania interfejsów użytkownika
C. Zbiór gotowych bibliotek, narzędzi i zasad ułatwiających tworzenie aplikacji
D. Moduł do zarządzania systemami baz danych
System operacyjny nie jest frameworkiem, ponieważ jego głównym zadaniem jest zarządzanie zasobami sprzętowymi i umożliwianie uruchamiania aplikacji. Edytor graficzny do projektowania interfejsów użytkownika to narzędzie wspomagające tworzenie GUI, ale nie jest frameworkiem, ponieważ nie dostarcza komponentów aplikacyjnych ani reguł dotyczących architektury aplikacji. Moduł do zarządzania bazami danych to narzędzie wykorzystywane do przechowywania i zarządzania danymi, ale nie dostarcza gotowych rozwiązań w zakresie budowy całej aplikacji – w przeciwieństwie do frameworków, które integrują wiele narzędzi i bibliotek w spójną całość.

Pytanie 39

Kod przedstawiony w języku XML/XAML określa

Ilustracja do pytania
A. suwak
B. przełącznik
C. listę rozwijaną
D. stepper
Kod XML/XAML definiuje przełącznik (Switch), który jest standardową kontrolką używaną do reprezentowania dwustanowego wyboru (włącz/wyłącz). Jest to często stosowane w aplikacjach mobilnych i desktopowych do aktywowania i dezaktywowania funkcji. W XAML przełącznik jest łatwy do skonfigurowania za pomocą atrybutu 'IsToggled', co umożliwia programistom szybkie zarządzanie stanem kontrolki.

Pytanie 40

Z jakiej kolekcji powinno się korzystać, aby przechowywać informacje związane z elementem interfejsu użytkownika w taki sposób, aby ten element był informowany przez kolekcję o dodaniu, usunięciu lub zmianie jej zawartości?

A. Collection
B. ObservableCollection
C. ReadOnlyCollection
D. KeyedCollection
ObservableCollection to taka fajna kolekcja, która potrafi na bieżąco informować interfejs użytkownika, kiedy coś się zmienia, na przykład jak dodasz, usuniesz albo zmienisz element. Dzięki temu wszystko w aplikacji, jak lista czy inne komponenty, od razu się aktualizuje, co naprawdę poprawia synchronizację i wydajność, zwłaszcza w projektach MVVM.