Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jaką cechą charakteryzuje się sieć asynchroniczna?

A. Wymaga synchronizacji zegarów
B. Dane są przesyłane w sposób nieciągły, bez synchronizacji zegarów
C. Jest bardziej niezawodna od sieci synchronicznej
D. Dane są przesyłane jedynie w określonych przedziałach czasowych
W pierwszej z niepoprawnych odpowiedzi wskazano, że sieci asynchroniczne wymagają synchronizacji zegarów. To stwierdzenie jest błędne, ponieważ sama definicja sieci asynchronicznych opiera się na braku konieczności synchronizacji zegarów. W sieciach tego typu, każdy element systemu działa niezależnie, co umożliwia bardziej elastyczne przesyłanie danych w porównaniu do sieci synchronicznych. W drugiej niepoprawnej odpowiedzi zasugerowano, że dane są przesyłane tylko w ustalonych ramach czasowych. Jest to charakterystyczne dla sieci synchronicznych, gdzie transmisja danych jest ściśle zorganizowana i wymaga precyzyjnego harmonogramu. W sieciach asynchronicznych, dane mogą być wysyłane w dowolnym momencie, co pozwala na efektywniejsze wykorzystanie pasma. Kolejna niepoprawna odpowiedź sugeruje, że sieci asynchroniczne są bardziej niezawodne niż sieci synchroniczne. Chociaż sieci asynchroniczne mają swoje zalety, jak większa elastyczność, nie można jednoznacznie stwierdzić, że są one bardziej niezawodne. Niezawodność sieci zależy od wielu czynników, takich jak jakość urządzeń, protokoły transmisji oraz warunki pracy, a nie tylko od charakterystyki asynchronicznej czy synchronicznej.

Pytanie 2

W zamieszczonej ramce znajdują się notatki testera dotyczące przeprowadzanych testów aplikacji. Jakiego typu testy planuje przeprowadzić tester?

Ilustracja do pytania
A. Wydajnościowe
B. Interfejsu
C. Jednostkowe
D. Bezpieczeństwa
Testy wydajnościowe są kluczowe dla zapewnienia, że system działa sprawnie pod różnym obciążeniem. Są one wykonywane, aby zrozumieć, jak aplikacja zachowuje się w warunkach rzeczywistych, kiedy wiele użytkowników korzysta z niej jednocześnie. W pytaniu wymienione zostały zadania takie jak mierzenie czasu logowania się użytkowników oraz sprawdzanie, czy czas ten wzrasta wraz ze wzrostem liczby użytkowników. To typowe aspekty testów wydajnościowych. Takie testy pomagają określić limity skalowalności i zapewniają, że aplikacja może obsługiwać oczekiwaną liczbę użytkowników bez spadku wydajności. Standardy branżowe, takie jak ISO/IEC 25010, zwracają uwagę na konieczność testowania wydajności, by zidentyfikować potencjalne wąskie gardła i zapewnić satysfakcjonujące doświadczenia użytkownikom. Dobrymi praktykami są używanie narzędzi takich jak JMeter czy LoadRunner, które umożliwiają symulację obciążenia i analizę wyników w celu optymalizacji kodu i infrastruktury. Tego typu testy są nieodzowne przed wdrożeniem aplikacji produkcyjnej, aby zapewnić jej niezawodne działanie.

Pytanie 3

Która z wymienionych topologii sieci wykazuje cechę, że wszystkie urządzenia są połączone jednym kablem?

A. Topologia gwiazdy
B. Topologia magistrali
C. Topologia pierścienia
D. Topologia siatki
Topologia magistrali to jedna z podstawowych topologii sieci komputerowych, w której wszystkie urządzenia są podłączone do jednego kabla, zwanego magistralą. W tej konfiguracji dane przesyłane są w obu kierunkach na wspólnym przewodzie, a każde urządzenie musi odczytać dane i zidentyfikować, czy są one przeznaczone dla niego. Kluczową zaletą topologii magistrali jest jej prostota oraz niskie koszty instalacji, ponieważ wymaga mniej kabli niż inne topologie. Jest to jednak także jej największa wada - awaria jednego segmentu kabla może spowodować przerwanie komunikacji w całej sieci. Topologia magistrali jest często wykorzystywana w małych sieciach lokalnych oraz w systemach, gdzie nie ma potrzeby dużej niezawodności. Standardy, takie jak IEEE 802.3, definiują zasady działania sieci Ethernet korzystających z tej topologii. W praktyce, zastosowanie topologii magistrali można zaobserwować w starszych instalacjach sieciowych, gdzie budżet na infrastrukturę był ograniczony, a wymogi dotyczące skomplikowania sieci były minimalne.

Pytanie 4

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

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

Pytanie 5

Jakie znaczenie ma przystosowanie interfejsu użytkownika do różnych platform?

A. Pozwala na unifikację kodu niezależnie od używanej platformy
B. Gwarantuje optymalne korzystanie z aplikacji na każdym urządzeniu
C. Umożliwia skoncentrowanie się wyłącznie na funkcjonalności aplikacji
D. Usuwa konieczność testowania na różnych platformach
Jak się nie dostosowuje kodu do różnych platform, to może być niezła katastrofa. Często wychodzi wtedy, że interfejs nie pasuje do specyfiki urządzeń i użytkownicy są mocno zawiedzeni. Jak się skupiamy tylko na funkcjach, to zapominamy o wyglądzie i kończy się to tak, że aplikacja wygląda niezbyt atrakcyjnie i jest trudna w obsłudze. Testowanie na różnych platformach to nie jest rzecz, którą da się pominąć, bo to tylko powiększa ryzyko błędów i problemów, a każdy chce, żeby aplikacja działała dobrze.

Pytanie 6

Aplikacje funkcjonujące w systemach Android do komunikacji z użytkownikiem wykorzystują klasę

A. Screens
B. Fragments
C. Windows
D. Activity
W systemach Android do interakcji z użytkownikiem wykorzystywana jest klasa Activity, która reprezentuje pojedynczy ekran aplikacji. Activity zarządza cyklem życia aplikacji i pozwala na obsługę zdarzeń użytkownika, co jest kluczowym elementem w budowie aplikacji mobilnych.

Pytanie 7

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

A. Qt
B. Spring
C. WPF (Windows Presentation Foundation)
D. React
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 8

Jakie jest zadanie interpretera?

A. optymalizacja większej części kodu, aby przyspieszyć jego wykonanie
B. tłumaczenie kodu na kod maszynowy
C. analiza składni całego programu przed jego uruchomieniem
D. wykonywanie skryptu krok po kroku
Interpreter to takie narzędzie, które wykonuje kod linijka po linijce. Działa to tak, że odczytuje program napisany w języku wysokiego poziomu, weryfikuje co tam w nim siedzi i od razu realizuje polecenia, co sprawia, że można fajnie testować kod. Na przykład w Pythonie można łatwo sprawdzić różne fragmenty kodu, co jest mega pomocne przy pisaniu i poprawianiu oprogramowania. Wiesz, od kompilatora różni się tym, że kompilator przetwarza cały kod od razu, tworząc kod maszynowy, który później działa na komputerze. Dzięki temu interpreter jest bardziej elastyczny, można szybko przetestować nowe pomysły, ale z drugiej strony, czasami nie działa tak efektywnie jak skompilowane programy, bo każda linia kodu jest analizowana na bieżąco. Więc w przypadku dużych i wymagających aplikacji lepiej sprawdzają się kompilatory, ale interpreter to skarb, zwłaszcza w nauce i prototypowaniu.

Pytanie 9

Ergonomiczną oraz właściwą pozycję do pracy przy komputerze zapewni fotel, którego

A. podłokietniki znajdują się 20 cm poniżej blatu
B. oparcie w rejonie szyi jest nachylone do przodu o 40<sup>o</sup>
C. oparcie wspiera lordozę w dolnym odcinku pleców
D. podłokietniki są 30 cm powyżej blatu
Prawidłowa i ergonomiczna pozycja pracy przy komputerze jest kluczowa dla zdrowia i komfortu użytkownika. Oparcie krzesła, które zapewnia lordozę w odcinku lędźwiowym, jest niezbędne, ponieważ pozwala na zachowanie naturalnej krzywizny kręgosłupa. Lordoza lędźwiowa to naturalne wygięcie kręgosłupa w dolnej części pleców, które wspiera prawidłowe ułożenie ciała podczas siedzenia. Krzesło powinno być zaprojektowane tak, aby oparcie przylegało do krzywizny ciała, co minimalizuje ryzyko bólu pleców oraz przeciążeń. Praktycznym przykładem ergonomicznej pozycji jest ustawienie oparcia w taki sposób, aby jego dolna część była dostosowana do odcinka lędźwiowego. Zgodnie z normami ISO 9241, które dotyczą ergonomii miejsc pracy przy komputerze, krzesło powinno umożliwiać użytkownikowi przyjęcie wygodnej pozycji z podparciem dla dolnej części pleców. W odpowiedniej pozycji stopy powinny spoczywać płasko na podłodze, a kolana powinny być na poziomie bioder, co wspiera prawidłowe krążenie krwi oraz redukuje napięcia mięśniowe.

Pytanie 10

Pierwszym krokiem w procesie tworzenia aplikacji jest

A. opracowanie architektury systemu
B. wybór zestawu typów i zmiennych dla aplikacji
C. stworzenie przypadków testowych
D. analiza wymagań klienta
Analiza wymagań klienta to kluczowy, pierwszy etap tworzenia aplikacji. Pozwala na określenie potrzeb, funkcjonalności i założeń systemu, co jest podstawą do dalszego projektowania architektury oraz implementacji.

Pytanie 11

Jakie środowisko developerskie służy do tworzenia aplikacji na platformę iOS?

A. Visual Studio Code
B. Studio Androida
C. XCode
D. Eclipse
XCode to oficjalne środowisko programistyczne (IDE) firmy Apple, które jest wykorzystywane do tworzenia aplikacji na systemy iOS, macOS, watchOS i tvOS. XCode oferuje pełne wsparcie dla języków Swift i Objective-C oraz narzędzia do projektowania interfejsów użytkownika (Storyboard), debugowania aplikacji, testowania wydajności i optymalizacji kodu. XCode posiada także symulatory urządzeń Apple, co umożliwia testowanie aplikacji na różnych modelach iPhone’ów, iPadów oraz Apple Watch. XCode jest niezbędnym narzędziem dla deweloperów tworzących aplikacje na ekosystem Apple i pozwala na łatwą publikację aplikacji w App Store.

Pytanie 12

Która z niżej wymienionych pozycji jest ekwiwalentem biblioteki jQuery?

A. TypeScript
B. Express.js
C. Lodash
D. Bootstrap
Bootstrap to framework CSS, który służy do stylizacji i tworzenia responsywnych interfejsów użytkownika, ale nie oferuje narzędzi do manipulacji danymi jak Lodash. TypeScript to język programowania, który rozszerza JavaScript o statyczne typowanie, ale nie pełni roli biblioteki do manipulacji obiektami i tablicami. Express.js to minimalny framework do budowy serwerów w Node.js i nie ma zastosowania w kontekście manipulacji danymi na poziomie frontendowym, jak ma to miejsce w przypadku Lodash.

Pytanie 13

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

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

Pytanie 14

Jaki framework umożliwia tworzenie interaktywnych interfejsów użytkownika w języku TypeScript?

A. Django
B. Angular
C. ASP.NET Core
D. jQuery
Angular to popularny framework oparty na TypeScript, który umożliwia tworzenie dynamicznych i rozbudowanych interfejsów użytkownika. Jest rozwijany przez Google i używany do budowy aplikacji typu Single Page Applications (SPA), które cechują się płynnością działania i interaktywnością. Angular oferuje bogaty ekosystem narzędzi wspierających programistów, takich jak Angular CLI, który pozwala na szybkie generowanie komponentów, serwisów i modułów. Wsparcie dla TypeScript oznacza, że Angular pozwala na wykorzystywanie typów, interfejsów oraz zaawansowanych narzędzi do refaktoryzacji kodu, co przekłada się na większą czytelność i bezpieczeństwo aplikacji. Dzięki modularnej architekturze Angular wspiera tworzenie aplikacji, które są łatwe w utrzymaniu i skalowaniu. Jego dwukierunkowe wiązanie danych (two-way data binding) oraz możliwość dynamicznej aktualizacji widoków czynią go jednym z liderów na rynku frameworków frontendowych.

Pytanie 15

Złośliwe oprogramowanie stworzone w celu przyznania hakerom uprawnień administracyjnych do komputera ofiary bez jej świadomości, to

A. robak
B. keylogger
C. wirus
D. rootkit
Rootkit to rodzaj szkodliwego oprogramowania, które ukrywa swoją obecność i zapewnia hakerom uprawnienia administracyjne do systemu ofiary. Jest trudny do wykrycia i stanowi poważne zagrożenie bezpieczeństwa.

Pytanie 16

Który z operatorów w Pythonie umożliwia sprawdzenie, czy dany element należy do listy?

A. in
B. and
C. ==
D. is
Operator `in` w języku Python służy do sprawdzania, czy element należy do listy, zbioru, krotki lub innego obiektu iterowalnego. Przykład: `if 5 in lista` sprawdza, czy liczba 5 znajduje się w liście. Operator `in` jest niezwykle przydatny w przeszukiwaniu danych, a jego zastosowanie skraca kod i zwiększa jego czytelność. W Pythonie jest on szeroko stosowany do iteracji i filtrowania danych, co czyni go jednym z najbardziej intuicyjnych operatorów języka.

Pytanie 17

Jakie jest znaczenie klasy abstrakcyjnej?

A. Klasa, która może zawierać zarówno metody zdefiniowane, jak i niezdefiniowane (czysto wirtualne)
B. Klasa, która nie może posiadać żadnych metod
C. Klasa, która zawsze dziedziczy z klasy bazowej
D. Klasa, która może być dziedziczona, ale nie można jej instancjonować
Klasa, która nie może mieć żadnych metod, jest niepraktyczna i nie spełnia żadnych funkcji w programowaniu obiektowym. Klasa dziedzicząca zawsze dziedziczy po klasie bazowej, a nie po klasie pochodnej – dziedziczenie odbywa się w jednym kierunku. Twierdzenie, że klasa abstrakcyjna zawsze dziedziczy z klasy pochodnej, jest błędne – klasy abstrakcyjne mogą być na szczycie hierarchii dziedziczenia i służą jako punkt wyjścia dla innych klas. Klasa, która nie może być instancjonowana, ale może być dziedziczona, to właśnie klasa abstrakcyjna, co czyni to stwierdzenie poprawnym.

Pytanie 18

Jaki jest podstawowy cel przystosowania aplikacji do publikacji w sklepie mobilnym?

A. Dostosowanie aplikacji do wymogów platformy oraz regulacji sklepu
B. Dostosowanie kodu aplikacji w celu zwiększenia jej wydajności
C. Zapewnienie, że aplikacja działa jedynie w trybie offline
D. Zmniejszenie rozmiaru aplikacji poniżej 10 MB
Dostosowanie aplikacji do wymagań platformy i przepisów sklepu mobilnego (np. Google Play lub App Store) to kluczowy krok w procesie publikacji aplikacji. Sklepy mobilne wymagają, aby aplikacje spełniały określone standardy dotyczące bezpieczeństwa, dostępności, wydajności oraz zgodności z wytycznymi interfejsu użytkownika. Proces ten obejmuje testowanie aplikacji pod kątem stabilności, optymalizację grafik i ikon, a także dostosowanie opisów i metadanych aplikacji, co zwiększa jej widoczność i atrakcyjność dla użytkowników. Przestrzeganie wytycznych App Store lub Google Play jest niezbędne, aby aplikacja mogła zostać zatwierdzona i udostępniona do pobrania.

Pytanie 19

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 20

Metoda przeszukiwania w uporządkowanych tablicach, która polega na podzieleniu tablicy na kilka części i wykonywaniu wyszukiwania liniowego tylko w tej części, gdzie może znajdować się poszukiwany element, w języku angielskim jest określana jako

A. Jump search
B. Ternary search
C. Binary search
D. Exponential search
Jump Search to metoda wyszukiwania w posortowanych tablicach, polegająca na przeskakiwaniu o określoną liczbę elementów. Jeśli przeskok prowadzi do wartości większej niż szukana, wyszukiwanie kontynuowane jest liniowo od poprzedniego przeskoku. Jest to bardziej efektywne niż liniowe przeszukiwanie, ale mniej efektywne niż wyszukiwanie binarne.

Pytanie 21

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

Ilustracja do pytania
A. zintegrowane środowisko programistyczne
B. środowisko refaktoryzacji aplikacji
C. środowisko szybkiego rozwoju aplikacji
D. prototypowanie wsparte testami jednostkowymi
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 22

Który z poniższych przykładów stanowi aplikację mobilną wykorzystującą bazę danych?

A. Aplikacja wyświetlająca lokalny czas
B. Aplikacja kalkulator
C. Aplikacja gromadząca listę kontaktów użytkownika
D. Aplikacja do robienia zdjęć
Aplikacja przechowująca listę kontaktów użytkownika korzysta z bazy danych do przechowywania, odczytywania i zarządzania danymi. Tego typu aplikacje mobilne muszą efektywnie zarządzać dużą ilością danych i zapewniać ich szybki dostęp. Bazy danych, takie jak SQLite czy Firebase, są szeroko stosowane w aplikacjach mobilnych, umożliwiając przechowywanie kontaktów, wiadomości, notatek i innych informacji użytkownika. Dzięki bazom danych możliwe jest także synchronizowanie danych pomiędzy urządzeniami i przechowywanie ich w chmurze.

Pytanie 23

W jakim przypadku należy umieścić poszkodowanego w pozycji bocznej bezpiecznej?

A. gdy wystąpi omdlenie i brak tętna
B. w przypadku urazu kręgosłupa
C. w sytuacji urazu pleców, gdy osoba jest świadoma
D. w przypadku omdlenia, gdy osoba jest przytomna
Ułożenie poszkodowanego w pozycji bocznej bezpiecznej jest kluczowym krokiem w sytuacjach medycznych, zwłaszcza w przypadku omdlenia, gdy osoba jest przytomna i oddycha. Ta pozycja ma na celu zapewnienie drożności dróg oddechowych, co jest niezbędne, aby uniknąć zadławienia się własnymi wymiotami lub śliną. W sytuacji, gdy osoba traci przytomność, lecz nadal oddycha, ułożenie jej na boku minimalizuje ryzyko aspiracji i wspiera naturalne funkcje oddechowe. Ważne jest, aby przyjąć tę pozycję, ale również monitorować stan poszkodowanego, sprawdzając jego oddech i reakcje. Zgodnie z wytycznymi Europejskiej Rady Resuscytacji, w takich sytuacjach kluczowe jest, aby osoba była w pełni zabezpieczona i nie mogła się przewrócić. Przykłady zastosowania tej techniki obejmują sytuacje, gdzie osoba straciła przytomność na skutek omdlenia związanego z nagłym spadkiem ciśnienia krwi lub innymi czynnikami. Wykorzystanie pozycji bocznej bezpiecznej jest standardem w pierwszej pomocy i jest szkolone w ramach kursów dla ratowników oraz medyków.

Pytanie 24

Do stworzenia zbioru danych potrzebnego do uruchomienia algorytmu sortowania bąbelkowego tablicy, wymagane są przynajmniej następujące typy:

A. dwa tablicowe, dwa do zamiany miejscami elementów
B. dwa tablicowe, jeden liczbowy do nadzorowania pętli
C. jeden tablicowy, dwa liczbowe do nadzorowania pętli, jeden do zamiany miejscami elementów
D. jeden tablicowy, jeden liczbowy do nadzorowania pętli, dwa do zamiany miejscami elementów
Do implementacji algorytmu sortowania bąbelkowego potrzebny jest jeden typ tablicowy, dwa liczbowe do kontroli iteracji pętli oraz jeden do zamiany elementów miejscami. Dwa liczniki pętli są niezbędne, aby iterować po tablicy wielokrotnie, zmniejszając zakres w każdej iteracji.

Pytanie 25

Jakie działania można podjąć, aby uniknąć pogorszenia wzroku podczas korzystania z komputera?

A. Korzytać ze słuchawek tłumiących dźwięki
B. Zachować stałą temperaturę w biurze
C. Używać filtrów przeciwodblaskowych na ekranie
D. Stosować ergonomiczne podkładki pod ręce
Stosowanie filtrów przeciwodblaskowych na monitorze to skuteczny sposób na zapobieganie pogorszeniu wzroku podczas pracy przy komputerze. Filtry te redukują odbicia światła, zmniejszając zmęczenie oczu i poprawiając komfort pracy. Długotrwała praca przy komputerze bez odpowiedniej ochrony może prowadzić do zespołu suchego oka, bólu głowy i problemów z widzeniem. Filtry przeciwodblaskowe to prosty, ale bardzo efektywny sposób na poprawę ergonomii stanowiska pracy. W połączeniu z odpowiednim ustawieniem monitora, regularnymi przerwami oraz ćwiczeniami wzrokowymi, pomagają one w utrzymaniu zdrowia oczu.

Pytanie 26

Który z podanych algorytmów można zrealizować zarówno w sposób iteracyjny, jak i rekurencyjny?

A. Algorytm sortowania bąbelkowego
B. Algorytm generowania liczb losowych
C. Algorytm wyszukiwania binarnego
D. Algorytm mapowania kluczy w tablicach asocjacyjnych
Algorytm wyszukiwania binarnego może być zaimplementowany zarówno iteracyjnie, jak i rekurencyjnie. Wyszukiwanie binarne polega na podzieleniu przeszukiwanej tablicy na dwie części i porównaniu elementu środkowego z wartością, której szukamy. Jeśli element nie zostanie znaleziony, algorytm przeszukuje jedną z połówek tablicy. Rekurencyjna wersja tego algorytmu jest często bardziej elegancka i prostsza w implementacji, natomiast iteracyjna bywa bardziej wydajna pod względem zużycia pamięci.

Pytanie 27

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

A. Stosowanie nieformalnego języka w każdej rozmowie
B. Unikanie używania dużych liter w komunikacji
C. Udostępnianie treści bez zgody właścicieli
D. Zaniechanie odpowiadania na wiadomości od innych użytkowników
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 28

Która funkcja z biblioteki jQuery w JavaScript służy do naprzemiennego dodawania oraz usuwania klasy z elementu?

A. .bingClass()
B. .toggleClass()
C. .changeClass()
D. .switchClass()
Metoda .toggleClass() w jQuery jest mega przydatna, bo pozwala na dodawanie lub usuwanie klasy CSS w czasie rzeczywistym. Dzięki temu można fajnie urozmaicić interakcje na stronie i dodać różne efekty wizualne, co na pewno przyciąga uwagę użytkowników.

Pytanie 29

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

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

Pytanie 30

Celem zastosowania wzorca Obserwator w tworzeniu aplikacji WEB jest

A. informowanie obiektów o modyfikacji stanu innych obiektów
B. monitorowanie interakcji użytkownika i wysyłanie wyjątków
C. dostosowanie interfejsu użytkownika do różnych typów odbiorców
D. zarządzanie funkcjami synchronicznymi w kodzie aplikacji
Wzorzec Obserwator, znany również jako Observer, jest fundamentem programowania związanego z aplikacjami webowymi, szczególnie w kontekście architektury MVC (Model-View-Controller). Jego głównym celem jest umożliwienie obiektom (zwanym obserwatorami) subskrybowania zmian stanu innych obiektów (zwanych obserwowanymi). Kiedy stan obiektu obserwowanego ulega zmianie, wszystkie powiązane obiekty obserwujące są automatycznie powiadamiane o tej zmianie. Takie podejście jest szczególnie użyteczne w aplikacjach, gdzie interfejs użytkownika musi być dynamicznie aktualizowany w odpowiedzi na zmiany danych, na przykład w przypadku aplikacji do zarządzania danymi w czasie rzeczywistym. Przykładem może być aplikacja czatu, w której nowe wiadomości są automatycznie wyświetlane użytkownikom, gdy tylko są dodawane przez innych. Wzorzec ten jest również zgodny z zasadami SOLID, zwłaszcza z zasadą otwarte-zamknięte, umożliwiając rozwijanie aplikacji bez konieczności modyfikowania istniejących klas. W różnych technologiach webowych, takich jak JavaScript z użyciem frameworków takich jak React czy Angular, wzorzec Obserwator jest implementowany przez mechanizmy takie jak stany komponentów, co przyczynia się do lepszej organizacji kodu i zachowania jego czytelności.

Pytanie 31

Wskaż poprawny pod względem składniowym kod dla formatu JSON, który jest używany do wymiany danych między backendem a frontendem aplikacji.

Ilustracja do pytania
A. Kod2
B. Kod1
C. Kod3
D. Kod4
Kod1 niestety jest błędny. W JSON klucze i wartości muszą być w podwójnych cudzysłowach, a nie w pojedynczych. Pojedyncze cudzysłowy tutaj nie działają i będą powodować błąd podczas próby parsowania. Kod3 to nie JSON, tylko przykład XML, który używa znaczników do oznaczania danych, ale w kontekście JSON nie pasuje. Kod4 z kolei przypomina bardziej zapis w jakimś języku programowania, na przykład C. Używasz składni, której parsery JSON nie rozpoznają, bo brakuje nawiasów klamrowych i podwójnych cudzysłowów. Często błędy w JSON wynikają z niewłaściwego użycia znaków interpunkcyjnych i złego formatowania, co może prowadzić do problemów z działaniem aplikacji. Dlatego naprawdę warto zadbać o poprawną składnię JSON, żeby wszystko działało bez zarzutów.

Pytanie 32

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

A. Do dokumentowania działania kodu i ułatwienia jego zrozumienia
B. Do optymalizacji wydajności kodu
C. Do definiowania zmiennych globalnych
D. Do uruchamiania kodu w trybie debugowania
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 33

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

Ilustracja do pytania
A. jest ona dostępna w programie głównym i może być wywoływana na rzecz instancji klasy Kalkulator
B. jest ona dostępna zarówno wewnątrz klasy, jak i w klasach dziedziczących po klasie Kalkulator
C. nie jest ona dostępna w klasach, które dziedziczą 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 34

Tworząc aplikację opartą na obiektach, należy założyć, że program będzie zarządzany przez

A. pętlę dyspozytora, która w zależności od zdarzenia wywoła właściwą funkcję
B. zbiór instancji klas współpracujących ze sobą
C. definicję warunków końcowego rozwiązania
D. moduły zawierające funkcje oraz zmienne globalne
Moduły z funkcjami i zmiennymi globalnymi to podejście proceduralne, a nie obiektowe. Pętla dyspozytora odpowiada za sterowanie w aplikacjach event-driven, ale nie definiuje obiektów i klas. Warunki końcowe odnoszą się do programowania deklaratywnego, a nie obiektowego.

Pytanie 35

Jakie środowisko deweloperskie jest najczęściej używane do programowania w C#?

A. NetBeans
B. Visual Studio
C. Eclipse
D. PyCharm
Visual Studio to najczęściej wykorzystywane środowisko programistyczne (IDE) do tworzenia aplikacji w języku C#. Oferuje pełne wsparcie dla platformy .NET i umożliwia szybkie tworzenie aplikacji desktopowych, webowych i mobilnych. Visual Studio jest wyposażone w zaawansowane narzędzia do debugowania, projektowania interfejsów oraz integrację z systemami kontroli wersji. Dzięki rozbudowanemu ekosystemowi wtyczek i rozszerzeń Visual Studio jest idealnym rozwiązaniem zarówno dla początkujących, jak i zaawansowanych programistów, którzy tworzą aplikacje na system Windows oraz inne platformy.

Pytanie 36

Jakie jest podstawowe środowisko do tworzenia aplikacji desktopowych przy użyciu języka C#?

A. MS Visual Studio
B. Eclipse
C. NetBeans
D. PyCharm
MS Visual Studio to potężne zintegrowane środowisko programistyczne (IDE) zaprojektowane przez firmę Microsoft, które oferuje pełne wsparcie dla języka C#. Dzięki bogatym funkcjom, takim jak IntelliSense, które ułatwia pisanie kodu poprzez podpowiadanie składni oraz dostępność narzędzi do debugowania, programiści mogą efektywnie rozwijać aplikacje desktopowe. MS Visual Studio obsługuje różne frameworki, takie jak .NET Framework oraz .NET Core, co pozwala na budowanie aplikacji o różnej architekturze. W praktyce, programiści mogą tworzyć aplikacje w oparciu o Windows Presentation Foundation (WPF) lub Windows Forms, co umożliwia tworzenie rozbudowanych interfejsów użytkownika. Dodatkowo, MS Visual Studio oferuje szereg narzędzi do współpracy zespołowej, integracji z systemami kontroli wersji oraz wsparcie dla testowania jednostkowego. Jako standard w branży, MS Visual Studio jest często preferowanym wyborem w projektach komercyjnych i korporacyjnych, z uwagi na jego wszechstronność oraz wsparcie ze strony społeczności programistycznej.

Pytanie 37

Jakie są cechy biblioteki statycznej w zestawieniu z dynamiczną?

A. Nie potrzebuje obecności pliku wykonywalnego
B. Może być zmieniana w czasie działania programu
C. Jest wczytywana do pamięci podczas działania aplikacji
D. Zostaje dodana do pliku wykonywalnego w trakcie kompilacji
Biblioteka statyczna jest dołączana do pliku wykonywalnego podczas procesu kompilacji. Oznacza to, że jej kod staje się integralną częścią aplikacji, co eliminuje konieczność ładowania jej w czasie wykonywania programu. Tego typu biblioteki charakteryzują się większym rozmiarem pliku wynikowego, ale oferują wyższą wydajność, ponieważ wszystkie funkcje są dostępne lokalnie, bez dodatkowych operacji ładowania. Przykładami bibliotek statycznych są pliki .lib w C/C++.

Pytanie 38

W dwóch przypadkach opisano mechanizm znany jako Binding. Jego celem jest

Ilustracja do pytania
A. zarządzanie mechanizmem obietnic (promises) lub obserwatora (observable) w programowaniu asynchronicznym
B. wiązać właściwości (property) elementu interfejsu użytkownika z danymi lub właściwością innego obiektu
C. wiązanie oraz eksportowanie plików z różnych modułów aplikacji
D. przetwarzanie zdarzeń kontrolek interfejsu użytkownika przez wywoływanie odpowiednich funkcji
Binding (wiązanie danych) to mechanizm wiązania właściwości elementu interfejsu użytkownika z danymi lub właściwościami innego obiektu. Umożliwia to automatyczne aktualizowanie UI po zmianie danych. Jest to kluczowa funkcjonalność w nowoczesnych frameworkach front-end, takich jak Angular czy Vue, która pozwala na dynamiczne aktualizowanie widoków bez konieczności ręcznego manipulowania DOM.

Pytanie 39

W jaki sposób określa się wypadek związany z pracą?

A. Każdy incydent wynikający z działania osób trzecich
B. Nagłe zdarzenie związane z pracą, powodujące uraz lub śmierć
C. Każde zdarzenie, które prowadzi do opóźnienia w wykonaniu obowiązków
D. Każde zdarzenie, które wymaga interwencji technicznej w miejscu zatrudnienia
Wypadek przy pracy to nagłe zdarzenie związane z wykonywaną pracą, które powoduje uraz lub śmierć pracownika. Wypadki te mogą być wynikiem zaniedbań, nieprzestrzegania zasad BHP lub nieodpowiedniego zabezpieczenia stanowiska pracy. Przykładami wypadków przy pracy są upadki z wysokości, porażenia prądem, oparzenia chemiczne lub uszkodzenia ciała przez maszyny. Pracodawca jest zobowiązany do zgłaszania każdego wypadku przy pracy, prowadzenia dochodzenia w celu ustalenia przyczyn i wdrażania działań zapobiegających powtórzeniu się podobnych sytuacji. Wypadki przy pracy są jedną z głównych przyczyn absencji oraz roszczeń pracowniczych, dlatego prewencja i edukacja w zakresie BHP są niezwykle istotne.

Pytanie 40

Wskaż termin, który w języku angielskim odnosi się do "testów wydajnościowych"?

A. security testing
B. unit testing
C. integration testing
D. performance testing
Testy wydajnościowe, czyli performance testing, to coś, co naprawdę warto mieć na uwadze. Dzięki nim możemy sprawdzić, jak nasza aplikacja działa pod dużym obciążeniem i jak szybko odpowiada na różne żądania. Moim zdaniem, to kluczowy aspekt, zwłaszcza jeśli planujemy, żeby nasza aplikacja miała wielu użytkowników. W końcu, nikt nie lubi czekać, aż coś się załaduje!