Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Która z metodologii w zarządzaniu projektami umożliwia łatwe dostosowywanie się do zmieniających się potrzeb klienta?

A. Model Waterfall
B. Scrum
C. Kanban
D. Model spiralny
Waterfall to model sekwencyjny, który nie zakłada elastyczności – raz określone wymagania muszą być zrealizowane zgodnie z pierwotnym planem, co utrudnia adaptację do zmian. Kanban umożliwia optymalizację przepływu pracy, ale nie kładzie tak dużego nacisku na iteracyjne dostarczanie funkcjonalności jak Scrum. Model spiralny łączy prototypowanie i iteracje, ale jego struktura nie jest tak elastyczna jak w przypadku Scruma, gdzie zmiany mogą być wprowadzane niemal na każdym etapie sprintu.

Pytanie 2

Przedstawione kody zawierają realizację funkcji oraz jeden zdefiniowany test automatyczny, który weryfikuje działanie funkcji w przypadku, gdy argumentem jest liczba ujemna. W miejscu kropek trzeba dodać drugi test, który sprawdzi funkcjonalność funkcji, kiedy argumentem jest liczba dodatnia. Który z poniższych kodów jest odpowiedni do tego testu?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź A
Poprawna odpowiedź to C ponieważ funkcja fun1 zwraca liczbę taką jaka jest z wyjątkiem sytuacji gdy liczba jest ujemna wtedy zwraca jej wartość bezwzględną Test C sprawdza wartość dodatnią 2 gdzie rezultat jest zgodny z oczekiwaniami i funkcja zwraca 2 co jest poprawnym wynikiem To testowanie zgodne z zasadą jednostkowych testów gdzie ważne jest aby funkcje były testowane na różne przypadki brzegowe w tym na wartości ujemne i dodatnie Implementacja jednostkowych testów pozwala na automatyczne sprawdzanie poprawności działania kodu co jest dobrą praktyką w programowaniu Szczególnie ważne jest aby testować funkcje krytyczne i te które mają potencjał do wystąpienia błędów związanych z nieoczekiwanymi danymi wejściowymi Przykład ten pokazuje jak ważne jest aby testy były dokładne i pokrywały różnorodne scenariusze użytkowania co pozwala na wczesne wychwycenie błędów i zapewnienie stabilności aplikacji W tej sytuacji testując wartość 2 zapewniamy że funkcja zachowuje się poprawnie dla wartości dodatnich co jest zgodne z oczekiwaniami programistycznymi

Pytanie 3

Wskaż typy numeryczne o stałej precyzji

A. long long, long double
B. bool char, string
C. float, double
D. int, short, long
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 4

Jedną z dolegliwości, która pojawia się u programistów w wyniku długotrwałego korzystania z myszki komputerowej lub klawiatury, objawiającą się bólami, drętwieniem oraz zaburzeniami czucia w obszarze 1-3 palca dłoni jest

A. Dyskopatia
B. zespól cieśni kanału nadgarstka
C. zespół suchego oka
D. kifoza
Zespół cieśni kanału nadgarstka to schorzenie, które powstaje w wyniku ucisku na nerw pośrodkowy w kanale nadgarstka. Jest to wąski tunel utworzony przez kości nadgarstka oraz więzadła, przez który przechodzą ścięgna oraz nerwy odpowiedzialne za czucie i ruch w dłoni. Objawy zespołu cieśni kanału nadgarstka obejmują bóle, drętwienie oraz zaburzenia czucia, szczególnie w obszarze pierwszych trzech palców ręki. Praca z myszą komputerową i klawiaturą przez długi czas, szczególnie w niewłaściwej ergonomicznej pozycji, może prowadzić do nadmiernego obciążenia i zapalenia tkanek otaczających nerw pośrodkowy. W praktyce, osoby cierpiące na to schorzenie często skarżą się na problemy z chwytaniem przedmiotów, a także na osłabienie siły uchwytu. W leczeniu zespołu cieśni kanału nadgarstka zaleca się m.in. unikanie czynników przyczynowych, stosowanie ortez, fizjoterapię oraz w niektórych przypadkach leczenie chirurgiczne. Należy również zwrócić uwagę na ergonomię stanowiska pracy, co może znacząco zredukować ryzyko wystąpienia tej dolegliwości. Zarządzanie czasem spędzanym przy komputerze oraz regularne przerwy są kluczowe w prewencji tego schorzenia.

Pytanie 5

Który z wymienionych poniżej przykładów ilustruje prawidłowy szkielet zarządzania wyjątkami w języku C++?

A. try { kod } catch { obsługa }
B. try { kod } finally { obsługa }
C. try { kod } handle { obsługa }
D. try { kod } except { obsługa }
Jak to wygląda w C++? Kluczowym elementem jest szkielet z blokami 'try' i 'catch'. W bloku 'try' piszesz kod, który może spowodować błąd, a 'catch' zajmuje się sytuacjami, kiedy coś pójdzie nie tak. Dzięki temu nie musisz się martwić, że program nagle przestanie działać, bo masz kontrolę nad tym, jak reagować w trudnych momentach. Obsługa wyjątków to naprawdę ważna sprawa w programowaniu, bo pomaga wyłapać różne problemy, czy to z danymi, z pamięcią, czy z plikami. Z mojego doświadczenia, to po prostu sprawia, że aplikacje są bardziej stabilne i działa to na korzyść zarówno programisty, jak i użytkownika.

Pytanie 6

W aplikacji mobilnej, aby określić warianty grafiki w zależności od wielkości ekranu, należy (uwaga: odpowiedzi wariantowe dla dwóch systemów - sugerować się systemem omawianym na zajęciach)

A. iOS: dodać do nazw sufiksy #2x, #3x. Android: dodać do nazw sufiks rozdzielczości: -32x32, -64x64, -96x96
B. iOS: utworzyć katalogi hdpi, lhpi, xhpi i dodać do nich grafiki. Android: utworzyć katalogi 32x32, 64x64, 96x96 i dodać do nich grafiki
C. iOS: dodać do nazw plików sufiksy @2x, @3x. Android: umieścić grafikę w odpowiednich folderach drawable: -hdpi, -xhpi, xxhdpi
D. iOS: dodać do nazw sufiksy oznaczające rozdzielczość, np. 32ppi. Android: umieścić grafikę w odpowiednich katalogach: 32ppi, 64ppi, 96ppi
Kiedy chcemy, żeby grafiki w aplikacjach mobilnych wyglądały dobrze na różnych ekranach, musimy zastosować odpowiednie strategie, które zależą od platformy. Na iOS używa się przyrostków @2x lub @3x, co oznacza, że grafiki są przygotowane dla ekranów Retina, które mają wyższą gęstość pikseli. Na Androidzie z kolei, grafiki umieszcza się w folderach drawable z takimi nazwami jak -hdpi, -xhdpi czy -xxhdpi. Dzięki temu system wie, jaką wersję grafiki wybrać w zależności od rozdzielczości urządzenia. Moim zdaniem, taki system pozwala na super jakość obrazów i lepszą wydajność aplikacji.

Pytanie 7

Jakie jest główne zadanie ochrony danych osobowych?

A. Utrudnianie działalności organom ścigania
B. Udostępnianie danych osobowych w celach marketingowych
C. Gwarantowanie anonimowości dla internautów
D. Zabezpieczenie danych osobowych przed nieautoryzowanym dostępem i ich wykorzystaniem
Ochrona danych osobowych przed nieuprawnionym dostępem i wykorzystaniem to podstawowy cel ochrony danych osobowych. Zasady ochrony prywatności, takie jak RODO (GDPR), zapewniają użytkownikom prawo do kontroli nad swoimi danymi i decydowania, kto może je przetwarzać. Firmy i organizacje muszą wdrażać środki techniczne oraz organizacyjne, aby zabezpieczyć dane przed wyciekiem, kradzieżą i nadużyciami. Przestrzeganie tych zasad nie tylko chroni jednostki, ale również buduje zaufanie klientów do przedsiębiorstw.

Pytanie 8

Które z podanych logo reprezentuje narzędzie, które nie jest używane do tworzenia aplikacji mobilnych?

Ilustracja do pytania
A. 1
B. 4
C. 3
D. 2
Logo przedstawiające narzędzie niewykorzystywane do tworzenia aplikacji mobilnych to narzędzie graficzne lub biurowe, które nie posiada funkcji programistycznych.

Pytanie 9

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

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

Pytanie 10

Jakie czynniki powinny być brane pod uwagę podczas organizacji zasobów ludzkich w projekcie?

A. Wyłącznie techniczne wymagania projektu
B. Umiejętności oraz doświadczenie członków zespołu
C. Jedynie dostępność technologii
D. Budżet projektu, bez uwzględnienia kompetencji zespołu
Podczas planowania zasobów ludzkich w projekcie kluczowe jest uwzględnienie umiejętności i doświadczenia członków zespołu. Odpowiednie dopasowanie kompetencji do wymagań projektu ma ogromny wpływ na jakość i tempo realizacji zadań. Zespół o różnorodnych umiejętnościach jest bardziej elastyczny i lepiej radzi sobie z napotkanymi wyzwaniami. Analiza umiejętności pozwala na efektywne przydzielanie zadań, co zwiększa produktywność i redukuje ryzyko opóźnień.

Pytanie 11

Jakie znaczenie ma termin "przesłanianie metody" w kontekście programowania obiektowego?

A. Tworzenie nowej metody w klasie bazowej
B. Przenoszenie metod z jednej klasy do drugiej
C. Zmiana metody prywatnej na metodę publiczną
D. Zastosowanie tej samej nazwy metody w klasie bazowej i pochodnej, ale z inną implementacją w klasie pochodnej
Przesłanianie metody to mechanizm, w którym metoda w klasie pochodnej ma taką samą nazwę, typ zwracany i listę parametrów jak metoda w klasie bazowej, ale zawiera inną implementację. To kluczowy element polimorfizmu, umożliwiający dostosowanie zachowania klasy pochodnej do jej specyficznych potrzeb, przy zachowaniu spójnego interfejsu. Przesłanianie metod pozwala na elastyczne projektowanie kodu i jest szeroko stosowane w dużych projektach, aby umożliwić rozszerzalność oraz ponowne wykorzystanie istniejącej logiki. W C++ przesłanianie osiąga się za pomocą słowa kluczowego 'virtual' w klasie bazowej, a następnie redefinicji metody w klasie pochodnej.

Pytanie 12

Które z poniżej wymienionych afirmacji najtrafniej charakteryzuje proces interpretacji kodu?

A. Generowanie bibliotek dynamicznych dla programu
B. Tworzenie pliku wykonywalnego
C. Tłumaczenie kodu źródłowego na język maszynowy w czasie rzeczywistym
D. Analiza struktury kodu przed tłumaczeniem
Generowanie pliku wykonywalnego to proces związany z kompilacją, a nie interpretacją. Kompilator przekształca cały kod źródłowy na kod maszynowy przed uruchomieniem programu, co odróżnia go od interpretacji. Analiza struktury kodu przed tłumaczeniem odnosi się do statycznej analizy kodu, a nie jego wykonywania. Tworzenie bibliotek dynamicznych to etap łączenia (linkowania), który następuje po kompilacji lub interpretacji, ale nie jest częścią samej interpretacji kodu źródłowego.

Pytanie 13

Jakie jest przeznaczenie polecenia "git merge"?

A. Do pobierania aktualizacji zdalnego repozytorium
B. Do usuwania zmian w repozytorium
C. Do zakładania nowego repozytorium
D. Do łączenia zmian z różnych gałęzi
Polecenie 'git merge' służy do łączenia zmian z jednej gałęzi (branch) z inną. Najczęściej używane jest do scalenia gałęzi deweloperskich (feature branches) z gałęzią główną (main lub master). Git merge pozwala na integrację nowych funkcji z głównym kodem projektu, co jest kluczowe w pracy zespołowej. W przypadku konfliktów, Git wymaga ręcznego rozwiązania ich przed zakończeniem procesu scalania. Umożliwia to zachowanie porządku w kodzie i unikanie błędów, które mogłyby wyniknąć z niezgodnych zmian.

Pytanie 14

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

A. true, false
B. trzy dowolne liczby naturalne
C. O oraz każdą liczbę całkowitą
D. 1, -1
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 15

W zaprezentowanym kodzie stworzono abstrakcyjną klasę figura oraz klasę prostokąta, która dziedziczy po niej, zawierającą zdefiniowane pola i konstruktory. Wskaż minimalną wersję implementacji sekcji /* metody klasy */ dla klasy Prostokat:

Ilustracja do pytania
A. D
B. B
C. A
D. C
Minimalna implementacja klasy Prostokat wymaga zaimplementowania podstawowych metod określonych w klasie abstrakcyjnej figura. Implementacja zawiera niezbędne pola i metody, które muszą być obecne, aby klasa mogła być skompilowana i działała poprawnie.

Pytanie 16

Zademonstrowana pętla wykorzystuje obiekt random do

Ilustracja do pytania
A. stworzenia losowego napisu o długości 8 znaków składającego się z liter
B. jednorazowego wylosowania znaku z określonego zestawu znaków
C. uzupełnienia tablicy danymi w postaci liczb pseudolosowych
D. wielokrotnego generowania liczby, aby stworzyć ciąg z liczb pseudolosowych
Kod generuje pojedynczy losowy znak z określonej puli znaków. Użycie obiektu random umożliwia tworzenie prostych mechanizmów losowania, co jest przydatne np. w generowaniu haseł lub tokenów.

Pytanie 17

Zaprezentowany wykres ilustruje wyniki przeprowadzonych testów

Ilustracja do pytania
A. ochrony
B. funkcjonalności
C. wydajności
D. użyteczności
Wykres przedstawia czasy odpowiedzi strony internetowej co jest kluczowe w kontekście testów wydajnościowych. Testy wydajnościowe mają na celu zmierzenie jak system radzi sobie pod określonym obciążeniem i jak szybko potrafi odpowiedzieć na zapytania użytkowników. Tego typu analiza pomaga zidentyfikować potencjalne wąskie gardła w infrastrukturze IT. Przykładowo jeżeli czasy odpowiedzi DNS lub połączenia są zbyt długie może to wskazywać na potrzebę optymalizacji serwerów DNS lub infrastruktury sieciowej. Testy te są nieodłącznym elementem zapewnienia jakości oprogramowania a ich prawidłowe wykonanie wpływa na doświadczenia użytkowników końcowych. Dobra praktyka w branży IT zakłada regularne przeprowadzanie testów wydajnościowych w celu monitorowania stabilności systemu w warunkach zbliżonych do rzeczywistych. Warto również zauważyć że narzędzia takie jak JMeter czy LoadRunner są powszechnie używane do przeprowadzania takich testów co umożliwia symulację różnorodnych scenariuszy obciążenia i analizę wyników w czasie rzeczywistym.

Pytanie 18

Jaki środek ochronny najlepiej chroni przed hałasem w biurze?

A. Panele akustyczne wygłuszające
B. Lampy biurowe o niskim poziomie natężenia światła
C. Mata antypoślizgowa
D. Okna zamknięte
Wygłuszające panele akustyczne to jedno z najlepszych rozwiązań w celu ograniczenia hałasu w biurach i innych miejscach pracy. Panele te redukują odbicia dźwięku i zmniejszają natężenie hałasu, co przekłada się na poprawę koncentracji oraz zmniejszenie zmęczenia i stresu. W biurach typu open space panele akustyczne znacząco poprawiają komfort pracy, umożliwiając prowadzenie rozmów bez nadmiernego zakłócania pracy innych osób. Dodatkowo, wygłuszenie pomaga w ochronie zdrowia pracowników, redukując ryzyko utraty słuchu w miejscach, gdzie występuje wysoki poziom hałasu. Odpowiednie rozmieszczenie paneli pozwala także na lepsze zarządzanie akustyką całego pomieszczenia.

Pytanie 19

Który z wymienionych algorytmów najczęściej wykorzystuje rekurencję?

A. Wyszukiwanie liniowe
B. Sortowanie bąbelkowe
C. Obliczanie liczb Fibonacciego
D. Sortowanie przez wstawianie
Algorytmy obliczania liczb Fibonacciego są jednym z najbardziej klasycznych przykładów rekurencji. Algorytm ten polega na wywoływaniu funkcji, która sama odwołuje się do siebie, aby obliczyć kolejne liczby w sekwencji. Rekurencyjna natura obliczeń Fibonacciego sprawia, że algorytm jest prosty i intuicyjny w implementacji, choć może być mniej wydajny niż wersje iteracyjne. Rekurencja jest szeroko stosowana w problemach matematycznych i algorytmicznych, gdzie rozwiązanie większego problemu można uzyskać poprzez rozwiązywanie mniejszych, podobnych podproblemów.

Pytanie 20

Na ilustracji pokazany jest fragment diagramu blokowego pewnego algorytmu. Ile razy warunek n<7 będzie badany?

Ilustracja do pytania
A. 8
B. 7
C. 5
D. 6
Odpowiedź 4 jest prawidłowa ponieważ algorytm rozpoczyna od n równego 1 i zwiększa tę wartość o jeden w każdej iteracji aż do momentu gdy n stanie się równe 7 Wtedy warunek n mniejsze od 7 przestaje być spełniony co oznacza że warunek ten jest sprawdzany łącznie 6 razy tj dla n równych 1 2 3 4 5 i 6 Jest to typowa pętla kontrolna często spotykana w programowaniu gdzie warunek pętli decyduje o jej zakończeniu W praktyce takie podejście pozwala na efektywne zarządzanie liczbą iteracji i zapewnia klarowność kodu Co więcej użycie pętli z warunkiem końcowym jest zgodne z dobrymi praktykami projektowania algorytmów gdyż minimalizuje ryzyko błędów logicznych poprzez jawne określenie końca pętli Ponadto zrozumienie mechanizmu działania pętli i jej warunków jest kluczowe dla optymalizacji algorytmów i efektywnego zarządzania zasobami co ma bezpośrednie przełożenie na wydajność aplikacji szczególnie w środowiskach wymagających dużej mocy obliczeniowej

Pytanie 21

W metodach klasy GoldCustomer dostępne są tylko pola

Ilustracja do pytania
A. GoldPoints, Name, Id, Age
B. GoldPoints
C. GoldPoints, Name
D. GoldPoints, Name, Id
W metodach klasy GoldCustomer widoczne są pola GoldPoints, Name i Id, co oznacza, że są one dziedziczone lub publiczne i mogą być bezpośrednio dostępne w obrębie tej klasy.

Pytanie 22

W jakim modelu Cyklu Życia Projektu Informatycznego znajduje się etap analizy ryzyka?

A. W kaskadowym
B. W spiralnym
C. W modelu z prototypem
D. W modelu Fry’ego
Model spiralny zawiera etap analizy ryzyka na każdym poziomie iteracji. To kluczowy element tej metodyki, który pozwala minimalizować potencjalne problemy na wczesnym etapie rozwoju projektu.

Pytanie 23

Jakie jest poprawne określenie interfejsu (szablonu klasy) w języku Java?

Ilustracja do pytania
A. Definicja 4
B. Definicja 3
C. Definicja 1
D. Definicja 2
W języku Java interfejs określa zbiór abstrakcyjnych metod, które klasa implementująca musi zaimplementować. Poprawna definicja interfejsu nie zawiera zmiennych instancji ani konstruktorów, co jest błędem w pierwszej definicji. Interfejsy służą do deklarowania metod, które są automatycznie publiczne i abstrakcyjne. W czwartej definicji, interfejs IMyInterface zawiera dwie metody mth1 i mth2 bez implementacji, co jest zgodne z zasadami Javy. Metody w interfejsie nie mają ciał, co wskazuje, że są przeznaczone do implementacji w klasie, która zadeklaruje się jako implementująca ten interfejs. Interfejsy są kluczowe dla polimorfizmu w Javie, pozwalając na tworzenie kodu, który może pracować z obiektami różnych klas w jednolity sposób, o ile klasy te implementują wspólny interfejs. Zastosowanie interfejsów zwiększa spójność i elastyczność kodu, umożliwiając łatwe dodawanie nowych funkcjonalności bez ingerencji w istniejącą strukturę kodu. Interfejsy są także wykorzystywane do tworzenia klasycznych wzorców projektowych jak Adapter, Strategia czy Obserwator, co jest dobrą praktyką w programowaniu obiektowym.

Pytanie 24

Które z wymienionych narzędzi nie znajduje zastosowania w tworzeniu aplikacji desktopowych?

A. Edytor graficzny
B. Kompilator
C. Przeglądarka internetowa
D. Debugger
Przeglądarka internetowa nie jest narzędziem wykorzystywanym bezpośrednio w procesie tworzenia aplikacji desktopowych. Chociaż może służyć do przeszukiwania dokumentacji lub testowania aplikacji webowych, jej funkcjonalność nie wspiera bezpośredniego tworzenia aplikacji desktopowych. W tworzeniu aplikacji desktopowych kluczowe są narzędzia takie jak kompilatory, debugery i edytory kodu. Kompilatory przekształcają kod źródłowy na kod wykonywalny, debugery pozwalają na śledzenie błędów, a edytory kodu umożliwiają pisanie i edytowanie aplikacji.

Pytanie 25

Jakie oprogramowanie służy jako przykład programu do komunikacji audio-wideo?

A. Google Drive
B. Slack
C. Notion
D. Microsoft Teams
Microsoft Teams to naprawdę fajne narzędzie do komunikacji. Łączy w sobie czat, wideo i audio, więc wszystko masz w jednym miejscu. Zostało stworzone przez Microsoft, żeby ułatwić współpracę w zespołach. To idealne, gdy trzeba prowadzić spotkania online z kilkoma osobami. Myślę, że to super rozwiązanie dla firm, które pracują zdalnie. Dzięki WebRTC jakość transmisji audio i wideo jest naprawdę wysoka. Można w nim organizować spotkania, webinary, a nawet stworzyć przestrzeń dla zespołów projektowych, gdzie można dzielić się plikami i prowadzić dyskusje. A jak jeszcze połączysz go z innymi aplikacjami Microsoft 365, jak OneNote czy SharePoint, to masz pełny zestaw do zarządzania projektami. Dobrze też, że Microsoft Teams dba o ochronę danych osobowych, więc jest bezpieczny dla różnych organizacji.

Pytanie 26

Jakie cechy posiada kod dopełniający do dwóch?

A. Służy do przekształcania liczb binarnych na dziesiętne
B. Umożliwia reprezentację liczb ujemnych w systemie binarnym
C. Umożliwia konwersję systemu binarnego na szesnastkowy
D. Reprezentuje liczbę w odwrotnej formie binarnej
Kod uzupełnieniowy do dwóch jest powszechnie stosowany w systemach komputerowych do reprezentacji liczb całkowitych, w tym liczb ujemnych. W tym systemie najstarsza cyfra (bit) określa znak liczby, gdzie 0 oznacza liczbę dodatnią, a 1 liczbę ujemną. Aby uzyskać reprezentację liczby ujemnej w systemie binarnym, należy najpierw przedstawić jej wartość bezwzględną w postaci binarnej, a następnie odwrócić wszystkie bity i dodać 1 do wyniku, co daje nam liczbę w kodzie uzupełnieniowym do dwóch. Na przykład, aby uzyskać -5 w systemie 8-bitowym, zaczynamy od 5, co w postaci binarnej to 00000101. Następnie odwracamy bity, co daje 11111010, a dodając 1 uzyskujemy 11111011, co stanowi -5 w kodzie uzupełnieniowym do dwóch. Ta metoda umożliwia łatwe wykonywanie arytmetyki, ponieważ dodawanie i odejmowanie liczb ujemnych i dodatnich można realizować z użyciem tych samych operacji binarnych. Kod uzupełnieniowy do dwóch stał się standardem w większości architektur komputerowych, takich jak x86 czy ARM, dzięki swojej efektywności i prostocie.

Pytanie 27

W jednostce centralnej, za obliczenia na liczbach zmiennoprzecinkowych odpowiada

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

Pytanie 28

W zestawieniu zaprezentowano doświadczenie zawodowe pracowników firmy IT. Do stworzenia aplikacji front-end powinien/powinna zostać wyznaczony/a

Ilustracja do pytania
A. Ewa
B. Krzysztof
C. Patryk
D. Anna
Krzysztof to naprawdę świetny wybór na budowę aplikacji front-end, bo zna Angulara, który jest jednym z najpopularniejszych frameworków do aplikacji jednostronicowych. Dzięki Angularowi można tworzyć dynamiczne i responsywne interfejsy, co jest mega ważne w projektach front-end. Ogólnie rzecz biorąc, ten framework opiera się na komponentach, co zdecydowanie ułatwia pracę z kodem i pozwala na jego ponowne wykorzystanie. W połączeniu z TypeScriptem, Angular daje duże możliwości, bo mocne typowanie zmniejsza ryzyko błędów i poprawia czytelność kodu. Zrozumienie, jak działa aplikacja i jakie są dobre praktyki, takie jak modularność czy testowanie, też jest istotne, żeby wykorzystać Angulara w pełni. Krzysztof ma tę wiedzę i potrafi wdrażać najlepsze praktyki, jak architektura MVC, co sprawia, że aplikacje są bardziej skalowalne i łatwiejsze w utrzymaniu. Dodatkowo, Angular robi też sporo, żeby aplikacje działały szybko, co jest ważne dla doświadczenia użytkownika. Dlatego wybierając Krzysztofa, mamy pewność, że projekt będzie zgodny z nowymi standardami i spełni oczekiwania użytkowników w zakresie interfejsu.

Pytanie 29

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

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

Pytanie 30

Jakie działanie powinno się wykonać w pierwszym kroku, oceniając stan osoby poszkodowanej?

A. Zadbać o własne bezpieczeństwo
B. Rozpocząć resuscytację krążeniowo-oddechową
C. Wezwać ambulans
D. Sprawdzić, czy występuje krwawienie
Bezpieczeństwo to naprawdę ważna sprawa, kiedy oceniamy stan kogoś, kto uległ wypadkowi. Jak nie zadbamy o siebie, to możemy się sami narazić i to jeszcze bardziej skomplikować całą akcję ratunkową. Ruch uliczny, prąd, jakieś toksyczne substancje... to wszystko może być niebezpieczne. Dopiero jak mamy pewność, że jest ok w okolicy, możemy zająć się poszkodowanym i myśleć o dalszych krokach ratunkowych.

Pytanie 31

Termin ryzyko zawodowe odnosi się do

A. zagrożenia wypadkowego, które może wystąpić w miejscu pracy
B. efektów zagrożeń wypadkowych, jakie występują w miejscu zatrudnienia
C. prawdopodobieństwa, że zdarzenia niepożądane związane z pracą spowodują straty, w szczególności negatywne skutki zdrowotne dla pracowników
D. ciężkości skutków niepożądanych zdarzeń związanych z pracą
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 32

Jaką cechą charakteryzuje się sieć asynchroniczna?

A. Jest bardziej niezawodna od sieci synchronicznej
B. Wymaga synchronizacji zegarów
C. Dane są przesyłane jedynie w określonych przedziałach czasowych
D. Dane są przesyłane w sposób nieciągły, bez synchronizacji zegarów
Sieci asynchroniczne to rodzaj systemów komunikacyjnych, w których dane są przesyłane w sposób nieciągły, co oznacza, że nie wymagają one synchronizacji zegarów pomiędzy urządzeniami. W takich sieciach, każda jednostka przesyła dane w dowolnym momencie, co zwiększa elastyczność i efektywność komunikacji. Przykładem zastosowania sieci asynchronicznych są systemy oparte na protokołach, takich jak UART (Universal Asynchronous Receiver-Transmitter), które są powszechnie używane w mikrokomputerach oraz różnych urządzeniach elektronicznych. W kontekście standardów, sieci asynchroniczne są często stosowane w komunikacji szeregowej, gdzie dane są przesyłane bez ustalonych ram czasowych, co pozwala na redukcję opóźnień i zwiększenie przepustowości. W praktyce, taki model komunikacji jest idealny w sytuacjach, gdzie ciągłość przesyłu danych nie jest kluczowa, jak w przypadku transmisji danych z czujników czy urządzeń IoT, gdzie urządzenia mogą nadawać dane, gdy są gotowe, a nie w ustalonych interwałach czasowych.

Pytanie 33

Co następuje, gdy błąd nie zostanie uchwycony przez blok catch?

A. Instrukcja throw zostanie automatycznie wykreślona
B. Program zakończy działanie z błędem
C. Program kontynuuje działanie, pomijając błąd
D. Błąd zostanie zignorowany przez kompilator
Jeśli wyjątek nie zostanie przechwycony przez blok 'catch', program zakończy działanie z błędem i wygeneruje komunikat o nieobsłużonym wyjątku. Jest to domyślne zachowanie w C++ i innych językach obsługujących wyjątki, co ma na celu zapobieganie dalszemu wykonywaniu kodu, który mógłby prowadzić do nieprzewidywalnych rezultatów. Obsługa wyjątków jest kluczowym elementem zapewniania stabilności i bezpieczeństwa aplikacji – brak jej implementacji może prowadzić do awarii programu. Dlatego zaleca się, aby zawsze stosować odpowiednie bloki 'try-catch' wokół kodu, który może generować wyjątki.

Pytanie 34

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:8080 (React) lub localhost:8000 (Angular)
B. localhost:5001 (React) lub localhost:8080 (Angular)
C. localhost:3000 (React) lub localhost:4200 (Angular)
D. localhost:8000 (React) lub localhost:49887 (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 35

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

A. Sieć komputerowa, która umożliwia komunikację pomiędzy użytkownikami
B. Zespół ludzi, procedur, oprogramowania i sprzętu służący do przetwarzania danych
C. Zbiór urządzeń technicznych używanych w pracy biurowej
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 36

W jaki sposób procesor nawiązuje komunikację z pamięcią podręczną (cache)?

A. Używając wyłącznie pamięci RAM
B. Bezpośrednio, omijając mostki systemowe
C. Poprzez linie danych w magistrali systemowej
D. Za pomocą systemu przerwań
Procesor komunikuje się z pamięcią podręczną (cache) za pomocą linii danych w magistrali systemowej, co jest kluczowym elementem architektury komputerowej. Magistrala systemowa to zestaw ścieżek, które umożliwiają przesyłanie danych pomiędzy różnymi komponentami systemu, w tym procesorem, pamięcią RAM oraz pamięcią podręczną. Pamięć podręczna działa jako bufor, który przechowuje najczęściej używane dane, co pozwala na znaczne zwiększenie szybkości operacji, ponieważ dostęp do pamięci cache jest znacznie szybszy niż dostęp do pamięci RAM. W standardach takich jak Intel's QuickPath Interconnect (QPI) czy AMD's HyperTransport, linie danych odgrywają kluczową rolę w efektywnej komunikacji, co przekłada się na ogólną wydajność systemu. Przykładowo, w nowoczesnych procesorach wielordzeniowych, każda rdzeń może mieć własną pamięć podręczną, a komunikacja za pomocą magistrali pozwala na synchronizację danych pomiędzy tymi rdzeniami oraz współdzielenie zasobów. Efektywne zarządzanie pamięcią podręczną i magistralą jest kluczowe dla osiągnięcia wysokiej wydajności w obliczeniach oraz przetwarzaniu danych.

Pytanie 37

Który z komponentów interfejsu użytkownika umożliwia użytkownikowi wprowadzanie danych tekstowych?

A. Dialog wyboru pliku
B. Pasek narzędziowy
C. Pole tekstowe
D. Przycisk
Pole tekstowe to element interfejsu użytkownika, który pozwala użytkownikowi na wprowadzanie danych tekstowych. Jest to jeden z najczęściej używanych komponentów UI w aplikacjach desktopowych, mobilnych i webowych. Pole tekstowe umożliwia wprowadzanie haseł, adresów e-mail, wiadomości i innych danych. W nowoczesnych aplikacjach często zawiera walidację, która sprawdza poprawność wpisywanych danych w czasie rzeczywistym. Dzięki swojej elastyczności, pola tekstowe mogą być wykorzystywane w różnorodnych formularzach, ankietach i systemach rejestracji użytkowników, co czyni je nieodzownym elementem aplikacji o dowolnym przeznaczeniu.

Pytanie 38

Który z wymienionych przykładów ilustruje projektowanie interfejsu zgodnego z zasadami user experience (UX)?

A. Przycisk umieszczony w przypadkowym miejscu aplikacji
B. Zastosowanie jedynie jednego koloru w całym interfejsie
C. Użycie czytelnych czcionek i intuicyjnego układu elementów
D. Brak opcji cofnięcia już wykonanej akcji
Użycie czytelnych czcionek i intuicyjnego układu elementów to kluczowe zasady projektowania zgodne z user experience (UX). Przejrzystość i estetyka interfejsu zwiększają komfort użytkownika i ułatwiają korzystanie z aplikacji. Intuicyjny układ elementów pozwala na szybkie odnalezienie potrzebnych funkcji, co redukuje frustrację użytkownika i skraca czas potrzebny na realizację zadania. UX opiera się na badaniach dotyczących zachowań użytkowników i dostosowywaniu projektu do ich potrzeb.

Pytanie 39

Do zadań widoku w architekturze MVVM (Model_View-Viewmodel) należy

A. obsługa interakcji użytkownika, stworzenie UI
B. zarządzanie logiką aplikacji - obejmuje wdrażanie algorytmów
C. przekazywanie danych do widoku oraz wymiana informacji z modelem
D. przechowywanie ściągniętych i przetworzonych informacji
Wzorzec MVVM (Model-View-ViewModel) zakłada, że widok (View) odpowiada za interakcję użytkownika i prezentację interfejsu. Rozdzielenie logiki aplikacji i interfejsu ułatwia zarządzanie kodem i jego testowanie.

Pytanie 40

Wskaż uproszczoną wersję kodu XAML dla elementów w pokazanym oknie dialogowym?

Ilustracja do pytania
A. Kod 2
B. Kod 1
C. Kod 3
D. Kod 4
Kod 2 jest poprawnym uproszczonym kodem XAML dla przedstawionych kontrolek. XAML (Extensible Application Markup Language) jest używany do definiowania interfejsów użytkownika w aplikacjach WPF (Windows Presentation Foundation) i UWP (Universal Windows Platform). Jego czytelność i deklaratywny charakter pozwalają na tworzenie i zarządzanie kontrolkami w sposób przejrzysty i elastyczny, co przyspiesza proces projektowania interfejsów.