Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jakie znaczenie ma pojęcie "debugowanie" w kontekście programowania?

A. Tworzenie nowych funkcjonalności aplikacji
B. Wdrażanie aplikacji w środowisku produkcyjnym
C. Wyszukiwanie i usuwanie błędów w kodzie
D. Przygotowywanie dokumentacji kodu
Debugowanie to proces wyszukiwania i eliminowania błędów (bugów) w kodzie źródłowym programu. Polega na analizowaniu działania aplikacji linia po linii, śledzeniu wartości zmiennych, analizie stosu wywołań i wykrywaniu miejsc, w których program działa niezgodnie z oczekiwaniami. Debugowanie umożliwia programistom szybkie odnajdywanie błędów logicznych, składniowych oraz problemów z wydajnością aplikacji. Narzędzia takie jak Visual Studio, PyCharm, IntelliJ IDEA czy Chrome DevTools oferują zaawansowane funkcje debugowania, takie jak punkty przerwań (breakpoints), krokowe wykonywanie kodu i podgląd pamięci. Proces debugowania jest kluczowy w każdym etapie rozwoju oprogramowania, ponieważ znacząco wpływa na stabilność i jakość finalnego produktu.

Pytanie 2

Co oznacza walidacja kodu programu?

A. Czynnością dotyczącą publikacji aplikacji w sklepie
B. Czynnością polegającą na kompilowaniu kodu
C. Czynnością związaną z tworzeniem dokumentacji kodu
D. Czynnością weryfikującą poprawność i zgodność kodu z założeniami
Walidacja kodu programu to proces sprawdzania jego poprawności i zgodności z założeniami projektowymi oraz standardami programistycznymi. Celem walidacji jest wykrycie błędów logicznych, składniowych i zgodności kodu z wymaganiami aplikacji. Walidacja może obejmować analizę statyczną kodu (bez jego wykonywania) oraz testy jednostkowe i integracyjne, które sprawdzają funkcjonalność aplikacji. Dzięki walidacji programiści mogą uniknąć błędów na późniejszych etapach rozwoju projektu, co znacząco zwiększa niezawodność i stabilność aplikacji. Proces ten jest nieodzowny w metodykach Agile i Continuous Integration, gdzie regularne testowanie kodu stanowi podstawę dostarczania wysokiej jakości oprogramowania.

Pytanie 3

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

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

Pytanie 4

Jakie jest podstawowe użycie metod wirtualnych?

A. Umożliwienie dynamicznego wiązania metod w czasie wykonania
B. Zapewnienie, że metoda działa wyłącznie na danych statycznych
C. Umożliwienie wielokrotnego dziedziczenia
D. Umożliwienie korzystania z metod bezpośrednio z klasy bazowej
Metody wirtualne umożliwiają dynamiczne wiązanie metod w czasie wykonywania programu (ang. runtime). Oznacza to, że wywołanie metody zależy od rzeczywistego typu obiektu, a nie od typu wskaźnika lub referencji, za pomocą której został on wywołany. Mechanizm ten pozwala na implementację polimorfizmu, który jest jednym z kluczowych filarów programowania obiektowego. Dzięki metodom wirtualnym można uzyskać elastyczność i rozszerzalność kodu, umożliwiając klasom pochodnym dostarczanie własnych wersji metod zdefiniowanych w klasie bazowej. To prowadzi do bardziej zorganizowanego i skalowalnego kodu, ponieważ nowe funkcjonalności można dodawać, rozszerzając istniejące klasy, zamiast modyfikować kod bazowy.

Pytanie 5

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

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

Pytanie 6

Jakie ma znaczenie "operacja wejścia" w kontekście programowania?

A. Przekazywanie danych do programu z zewnętrznych źródeł
B. Wprowadzanie nowych funkcji do aplikacji
C. Naprawianie błędów w kodzie aplikacji
D. Zmiana wartości zmiennych globalnych
Operacja wejścia w programowaniu polega na przekazywaniu danych do programu z zewnętrznego źródła, takiego jak klawiatura, plik lub strumień danych. W języku C++ typowym przykładem operacji wejścia jest `cin >> zmienna;`, która pobiera dane od użytkownika i przypisuje je do zmiennej. Operacje wejścia są niezbędne w interaktywnych aplikacjach, które wymagają danych od użytkownika w czasie rzeczywistym, umożliwiając dynamiczne przetwarzanie informacji.

Pytanie 7

Podana deklaracja zmiennych w języku JAVA zawiera

Ilustracja do pytania
A. jedną zmienną typu tekstowego, dwie całkowite, jedną znakową i jedną logiczną
B. dwie zmienne o typie strukturalnym
C. dwie zmienne typu tekstowego, dwie całkowite oraz jedną logiczną
D. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
Deklaracja obejmuje jedną zmienną typu napisowego (String), dwie typu całkowitego (int), jedną znakowego (char) oraz jedną logiczną (boolean). Takie zróżnicowanie pozwala na przechowywanie różnych rodzajów danych w jednej klasie lub metodzie.

Pytanie 8

Który z wymienionych terminów dotyczy klasy, która stanowi podstawę dla innych klas, lecz nie może być tworzona w instancji?

A. Klasa finalna
B. Klasa pochodna
C. Klasa abstrakcyjna
D. Klasa statyczna
Klasa abstrakcyjna to klasa, która nie może być instancjonowana i służy jako szablon dla innych klas. Definiuje ona ogólną strukturę oraz interfejs, który klasy pochodne muszą zaimplementować. Klasy abstrakcyjne mogą zawierać zarówno metody z ciałem (zdefiniowane), jak i metody czysto wirtualne (bez implementacji), które muszą być przesłonięte w klasach pochodnych. W C++ deklaracja czysto wirtualnej metody odbywa się za pomocą '= 0'. Klasa abstrakcyjna zapewnia spójność interfejsu i narzuca implementację określonych metod we wszystkich klasach dziedziczących, co prowadzi do bardziej przewidywalnego i bezpiecznego kodu.

Pytanie 9

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

Ilustracja do pytania
A. stos
B. tablicę jednowymiarową
C. tablicę dwuwymiarową
D. listę
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 10

Metoda tworzenia algorytmu polegająca na dzieleniu go na dwa lub więcej mniejszych podproblemów, aż do momentu, gdy ich rozwiązanie stanie się proste, jest techniką

A. heurystyczną
B. najkrótszej ścieżki
C. dziel i zwyciężaj
D. komiwojażera
Strategia znana jako 'dziel i zwyciężaj' to sposób, w jaki można podejść do rozwiązywania problemów w algorytmice. Chodzi o to, żeby rozdzielić większy problem na mniejsze kawałki, które są już łatwiejsze do ogarnięcia. Robimy to, aż każdy z tych kawałków da się rozwiązać bez większego trudu. Jak już mamy rozwiązania tych mniejszych problemów, to je łączymy, żeby uzyskać odpowiedź na nasz pierwotny problem. Przykłady? No to mamy algorytm sortowania szybkiego (Quicksort) oraz Mergesort, które świetnie sobie radzą z porządkowaniem danych, dzieląc je na mniejsze części. Jak patrzy się na to z perspektywy analizy algorytmów, to ta strategia często prowadzi do lepszej złożoności obliczeniowej, co sprawia, że jest naprawdę przydatna w praktyce, zwłaszcza w informatyce. W książce Cormena i innych, 'Introduction to Algorithms', można znaleźć sporo informacji na temat tych metod i ich zastosowań, co czyni je naprawdę istotnymi w obszarze programowania i analizy danych.

Pytanie 11

W językach C++ bądź C# termin virtual można wykorzystywać w kontekście

A. metod klasy
B. destruktorów
C. atrybutów klasy
D. funkcji zaprzyjaźnionych
W językach C++ i C# słowo kluczowe 'virtual' można stosować do metod klasy, co umożliwia ich nadpisanie w klasach pochodnych. Pozwala to na implementację polimorfizmu, co jest kluczowym elementem programowania obiektowego.

Pytanie 12

Jakie narzędzie najlepiej sprawdza się w przekształcaniu liczby szesnastkowej na binarną?

A. Aplikacja internetowa
B. Kalkulator programisty
C. Program do edycji tekstu
D. Program do arkuszy kalkulacyjnych
Kalkulator programisty jest najbardziej odpowiednim narzędziem do konwersji liczby szesnastkowej na binarną ze względu na swoje wyspecjalizowane funkcje matematyczne i programistyczne. Narzędzia te umożliwiają użytkownikom łatwe przekształcanie różnych systemów liczbowych, w tym konwersji z systemu szesnastkowego (hex) na system binarny. Kalkulatory programistyczne często zawierają dedykowane opcje dla konwersji liczbowej, co pozwala na szybkie i dokładne uzyskanie wyników bez potrzeby stosowania skomplikowanych algorytmów lub wzorów. Na przykład, aby przekształcić liczbę szesnastkową '1A' na binarną, użytkownik wprowadza '1A' do kalkulatora, a wynik '00011010' zostaje automatycznie wygenerowany. Dodatkowo, wiele kalkulatorów programistycznych jest zgodnych z międzynarodowymi standardami, co zapewnia ich wiarygodność w obliczeniach. Warto również zauważyć, że kalkulatory programistyczne mogą obsługiwać konwersje z różnych systemów liczbowych, co czyni je wszechstronnym narzędziem w pracy z danymi cyfrowymi i kodowaniem. Dzięki temu, kalkulator programisty stanowi idealne rozwiązanie dla programistów i inżynierów, którzy regularnie pracują z różnymi formatami danych.

Pytanie 13

Jaką jednostkę zaleca się stosować przy projektowaniu interfejsu aplikacji?

A. px
B. pt
C. mm
D. dp
Jednostką zalecaną przy tworzeniu układów interfejsów w aplikacjach mobilnych jest dp (density-independent pixels). Pozwala to na zachowanie proporcji elementów interfejsu niezależnie od rozdzielczości urządzenia.

Pytanie 14

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

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

Pytanie 15

Rozpoczęcie tworzenia procedury składowej o nazwie dodajUsera w MS SQL wymaga użycia poleceń

A. create dodajUsera procedure
B. add dodajUsera procedure
C. create procedure dodajUsera
D. add procedure dodajUsera
W MS SQL procedury składowe tworzy się za pomocą polecenia 'CREATE PROCEDURE'. Jest to standardowa składnia używana do definiowania procedur, które mogą przechowywać złożone operacje SQL i być wielokrotnie wywoływane. Procedury pozwalają na automatyzację zadań, optymalizację kodu oraz zwiększenie wydajności poprzez zmniejszenie liczby zapytań przesyłanych do serwera.

Pytanie 16

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 odjąć kod 32
B. od każdego znaku w ciągu, który nie jest równy 0, odjąć kod 32
C. zamienić w ciągu małe litery na wielkie
D. zamienić w ciągu wielkie litery na małe
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 17

Jaką komendę w języku C++ używa się do wielokrotnego uruchamiania tego samego bloku kodu?

A. while
B. if
C. break
D. switch
Instrukcja `while` w języku C++ i innych językach programowania pozwala na wielokrotne wykonanie tego samego fragmentu kodu, dopóki warunek logiczny jest spełniony. Przykład: `while (x < 10) { x++; }` będzie zwiększać zmienną `x` o 1, dopóki jej wartość nie osiągnie 10. Pętle `while` są przydatne, gdy liczba iteracji nie jest z góry znana i zależy od spełnienia określonego warunku w trakcie wykonywania programu.

Pytanie 18

Jakie oznaczenie posiada norma krajowa w Polsce?

A. ISO
B. EN
C. IEC
D. PN
Polska Norma, czyli PN, to taki nasz krajowy znak, który mówi, jakie powinny być standardy jakości i techniczne dla różnych produktów i usług w Polsce. Normy PN są dostosowane do tego, czego potrzebujemy na rynku, ale często są oparte na międzynarodowych normach, takich jak ISO czy europejskich EN. Choć wdrażanie tych norm jest dobrowolne, to w wielu branżach ich przestrzeganie jest wręcz konieczne, jeśli chcemy zdobyć odpowiednie certyfikaty jakości. Warto je znać, bo dzięki nim możemy czuć się bezpieczniej, a jakość produktów staje się lepsza. To też wspiera rozwój nowych technologii w Polsce.

Pytanie 19

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

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

Pytanie 20

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

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

Pytanie 21

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

A. Nie potrzebuje obecności pliku wykonywalnego
B. Jest wczytywana do pamięci podczas działania aplikacji
C. Zostaje dodana do pliku wykonywalnego w trakcie kompilacji
D. Może być zmieniana w czasie działania programu
Biblioteki dynamiczne są ładowane do pamięci podczas działania programu, co pozwala na oszczędność miejsca i elastyczność w aktualizacjach. Twierdzenie, że biblioteka nie wymaga obecności pliku wykonywalnego, jest błędne – biblioteka musi być dostępna w systemie, aby program mógł z niej korzystać. Możliwość modyfikacji biblioteki w trakcie działania programu dotyczy tylko bibliotek dynamicznych, a nie statycznych, ponieważ kod bibliotek statycznych jest na stałe wkompilowany w aplikację.

Pytanie 22

Przeprowadzając analizę kodu interfejsu graficznego napisanego w języku XAML, można zauważyć, że:

Ilustracja do pytania
A. przyciski są ustawione poziomo obok siebie
B. tekst "Fotograf" znajduje się po prawej stronie obrazu
C. elementy: tekst, obraz, przycisk Like, przycisk Share, tekst są ułożone jeden pod drugim
D. obraz znajduje się po lewej stronie, a pozostałe elementy po prawej
W analizowanym kodzie XAML widzimy, że element <StackLayout> z atrybutem Orientation="Horizontal" zawiera przyciski <Button> z tekstami "Like" i "Share". W XAML, stosując stack layout z orientacją poziomą, elementy w nim zawarte są umieszczane obok siebie w rzędzie. To sprawia, że przyciski "Like" i "Share" są widoczne na interfejsie użytkownika ułożone poziomo, zgodnie z tym, co jest opisane w poprawnej odpowiedzi. Użycie StackLayout z orientacją poziomą to często spotykana praktyka w projektowaniu interfejsów, gdy chcemy zorganizować elementy w rzędzie, na przykład przyciski na pasku narzędzi. Zrozumienie tego mechanizmu jest istotne, ponieważ pozwala na efektywne zarządzanie przestrzenią w aplikacjach mobilnych i webowych, gdzie dostępne miejsce może być ograniczone. Praktyczne zastosowanie takiego układu można zobaczyć na przykład w projektowaniu formularzy, gdzie grupujemy elementy w logiczny sposób, ułatwiając użytkownikowi interakcję z aplikacją. Dobre praktyki w projektowaniu interfejsów użytkownika zalecają, aby układ elementów był intuicyjny i zgodny z oczekiwaniami użytkowników, co StackLayout z orientacją poziomą doskonale realizuje w wielu przypadkach.

Pytanie 23

Jakie są typowe frameworki/biblioteki używane w aplikacjach webowych?

A. jquery, Joomla!, Wordpress, android Studio, Xamarin
B. ASP.NET Core, jQuery, Joomla!, Wordpress, Angular
C. Visual Studio, Eclipse, angular, React.js, Node.js
D. ASP.NET Core, Django, Angular, React.js, Node.js
Frameworki i biblioteki typowe dla aplikacji webowych to ASP.NET Core, Django, Angular, React.js i Node.js. Umożliwiają one tworzenie dynamicznych aplikacji front-end i back-end, zapewniając szeroką funkcjonalność, skalowalność oraz obsługę nowoczesnych technologii webowych.

Pytanie 24

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

A. XCode
B. Eclipse
C. Visual Studio Code
D. Studio Androida
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 25

Który aspekt projektu aplikacji jest kluczowy dla zabezpieczenia danych użytkowników?

A. Pominięcie testowania aplikacji w etapie produkcji
B. Tworzenie prostych formularzy do rejestracji
C. Koncentracja na wyglądzie interfejsu użytkownika
D. Zastosowanie zaawansowanych systemów ochrony
Stosowanie zaawansowanych mechanizmów bezpieczeństwa jest kluczowe dla ochrony danych użytkowników w aplikacjach. Wdrożenie technologii takich jak szyfrowanie, autoryzacja dwuskładnikowa (2FA), firewalle oraz regularne testy penetracyjne pozwala na minimalizację ryzyka ataków i naruszeń danych. Mechanizmy te nie tylko zabezpieczają dane, ale również budują zaufanie użytkowników do aplikacji, co jest niezwykle istotne w branżach takich jak bankowość, medycyna czy e-commerce.

Pytanie 26

Jaką kategorię własności intelektualnej reprezentują znaki towarowe?

A. Prawa pokrewne
B. Własność przemysłowa
C. Dobra niematerialne
D. Autorskie prawa majątkowe
Znaki towarowe należą do kategorii własności przemysłowej. Ochrona znaków towarowych pozwala firmom na zabezpieczenie ich brandingu, logotypów oraz nazw produktów przed nieuprawnionym wykorzystaniem przez konkurencję. Rejestracja znaku towarowego daje właścicielowi prawo do wyłącznego używania go w celach komercyjnych i przeciwdziałania naruszeniom. Własność przemysłowa obejmuje także patenty, wzory przemysłowe i oznaczenia geograficzne, stanowiąc kluczowy element strategii ochrony marki oraz wartości firmy na rynku międzynarodowym.

Pytanie 27

Jakie z wymienionych narzędzi służy do testowania aplikacji?

A. Photoshop
B. WordPress
C. Selenium
D. Git
Selenium to potężne narzędzie do automatycznego testowania aplikacji webowych. Umożliwia ono symulowanie działań użytkownika na stronie internetowej, takich jak klikanie przycisków, wypełnianie formularzy czy nawigowanie po witrynie. Dzięki Selenium programiści mogą automatyzować testy funkcjonalne i regresyjne, co pozwala na szybkie wykrywanie błędów i sprawdzanie zgodności aplikacji z wymaganiami. Selenium obsługuje wiele języków programowania, takich jak Python, Java, C# czy JavaScript, co czyni je wszechstronnym narzędziem do testowania aplikacji webowych na różnych platformach i przeglądarkach. Jest to jedno z najważniejszych narzędzi w arsenale testerów oprogramowania i deweloperów dbających o jakość swoich produktów.

Pytanie 28

Które z wymienionych stanowi przykład zagrożenia fizycznego w miejscu pracy?

A. Nieodpowiednie relacje w zespole
B. Brak ergonomicznych miejsc pracy
C. Obciążenie psychiczne
D. Promieniowanie UV
Zagrożenia fizyczne w środowisku pracy obejmują czynniki, które mogą prowadzić do obrażeń ciała lub problemów zdrowotnych. Przykładem takiego zagrożenia jest promieniowanie UV, które może powodować oparzenia skóry, uszkodzenia oczu oraz zwiększać ryzyko nowotworów skóry. Ochrona przed promieniowaniem UV jest kluczowa w zawodach wymagających pracy na zewnątrz lub przy urządzeniach emitujących intensywne światło UV. Stosowanie odpowiednich środków ochrony, takich jak okulary przeciwsłoneczne z filtrem UV, odzież ochronna i kremy z filtrem, jest niezbędne do minimalizacji ryzyka. Pracodawcy są zobowiązani do wdrażania procedur bezpieczeństwa i zapewniania odpowiednich środków ochrony pracowników narażonych na działanie promieniowania UV.

Pytanie 29

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

A. CSS
B. JavaScript
C. HTTP
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 30

Jakie jest podstawowe zadanie funkcji zaprzyjaźnionej w danej klasie?

A. Generowanie kopii pól obiektu w innej klasie
B. Dodawanie nowych instancji do klasy
C. Ograniczenie widoczności atrybutów klasy
D. Umożliwienie funkcji dostępu do prywatnych atrybutów klasy
Funkcja zaprzyjaźniona umożliwia dostęp do prywatnych i chronionych składowych klasy, z którą jest zaprzyjaźniona. To mechanizm, który pozwala na utrzymanie hermetyzacji, jednocześnie umożliwiając wybranym funkcjom lub klasom bezpośredni dostęp do wewnętrznych danych innej klasy. Funkcje zaprzyjaźnione często są stosowane do operacji, które wymagają dostępu do wewnętrznych danych klasy, ale nie powinny być jej metodami, np. operacje arytmetyczne lub porównawcze na obiektach tej klasy.

Pytanie 31

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

A. 20 uciśnięć klatki piersiowej na przemian z 5 wdechami ratowniczymi
B. 10 uciśnięć klatki piersiowej bez wdechów
C. 30 wdechów ratowniczych bez uciśnięć
D. 30 uciśnięć klatki piersiowej na przemian z 2 wdechami ratowniczymi
30 uciśnięć klatki piersiowej na przemian z 2 wdechami ratowniczymi to standardowy protokół resuscytacji krążeniowo-oddechowej (RKO) zgodny z wytycznymi Europejskiej Rady Resuscytacji (ERC). Uciśnięcia wykonywane są na głębokość około 5-6 cm w tempie 100-120 uciśnięć na minutę. Po 30 uciśnięciach wykonuje się 2 wdechy ratownicze, które powinny być wykonywane z odpowiednią siłą, aby unieść klatkę piersiową poszkodowanego. Taka sekwencja jest podstawą pierwszej pomocy i może uratować życie osoby, u której doszło do zatrzymania akcji serca. Resuscytację należy kontynuować do momentu przybycia służb ratunkowych lub odzyskania przytomności przez poszkodowanego.

Pytanie 32

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 pozwala na dziedziczenie wielokrotne
C. Funkcja, która jest statyczna i nie ma możliwości modyfikacji pól klasy
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 33

Zaprezentowany wykres ilustruje wyniki przeprowadzonych testów

Ilustracja do pytania
A. ochrony
B. użyteczności
C. wydajności
D. funkcjonalnoś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 34

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

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

Pytanie 35

Jakie środki ochrony zbiorowej najlepiej chronią kręgosłup w warunkach pracy biurowej?

A. Korzystanie z regulowanych krzeseł i biurek
B. Ograniczenie hałasu w pomieszczeniu
C. Regulowanie poziomu oświetlenia w biurze
D. Umieszczanie monitorów na wysokości oczu
Używanie regulowanych foteli i biurek to jeden z najlepszych sposobów na zapobieganie problemom z kręgosłupem w pracy biurowej. Ergonomiczne fotele pozwalają na dostosowanie wysokości siedziska, podparcia lędźwiowego oraz kąta nachylenia oparcia, co zapewnia optymalne wsparcie dla kręgosłupa i zmniejsza ryzyko bólu pleców. Regulowane biurka umożliwiają zmianę pozycji pracy – z siedzącej na stojącą – co redukuje obciążenie kręgosłupa i poprawia krążenie krwi. Ergonomia stanowiska pracy to kluczowy element profilaktyki zdrowotnej, który minimalizuje ryzyko dolegliwości związanych z długotrwałą pracą w jednej pozycji.

Pytanie 36

Wartości składowych RGB koloru #AA41FF zapisane w systemie szesnastkowym po przekształceniu na system dziesiętny są odpowiednio

A. 160, 65, 255
B. 170, 65, 255
C. 170, 64, 255
D. 160, 64, 255
Kolor #AA41FF w formacie RGB składa się z trzech komponentów: czerwony (AA - 170), zielony (41 - 65) i niebieski (FF - 255). Przekształcenie wartości szesnastkowych na dziesiętne pozwala na precyzyjne odwzorowanie koloru w różnych aplikacjach graficznych. Tego typu konwersje są kluczowe w projektowaniu stron internetowych i aplikacji, gdzie kolorystyka ma istotne znaczenie dla UX/UI.

Pytanie 37

W obrębie klasy pracownik zdefiniowano przedstawione metody. Którą z nich można zgodnie z jej funkcją rozszerzyć o element diagnostyczny o treści: cout << "Obiekt został usunięty";

Ilustracja do pytania
A. wypisz
B. pracownik
C. operator==
D. ~pracownik
Destruktor (~pracownik) to metoda wywoływana automatycznie podczas usuwania obiektu. To idealne miejsce na dodanie komunikatu diagnostycznego informującego o usunięciu obiektu. Destruktory są kluczowe w zarządzaniu pamięcią i zasobami, zapewniając zwolnienie zasobów po zakończeniu działania obiektu.

Pytanie 38

Jakie pola powinny być umieszczone w klasie nadrzędnej w strukturze dziedziczenia?

A. Pola, które są wykorzystywane tylko w funkcjach statycznych
B. Pola, które są wspólne dla wszystkich klas pochodnych
C. Pola, które są tylko prywatne
D. Pola, które są charakterystyczne jedynie dla pojedynczej klasy pochodnej
W klasie bazowej w hierarchii dziedziczenia umieszcza się pola, które są wspólne dla wszystkich klas pochodnych. Dzięki temu klasy pochodne mogą dziedziczyć te same właściwości, co eliminuje konieczność ich wielokrotnego definiowania. Jest to jedna z głównych zalet programowania obiektowego, umożliwiająca reużywalność kodu i zwiększenie spójności w projekcie. Przykładem może być klasa 'Pracownik', która zawiera pola takie jak 'imię', 'nazwisko' i 'wynagrodzenie', a klasy pochodne, takie jak 'Inżynier' czy 'Księgowy', mogą dziedziczyć te same pola, dodając jedynie specyficzne właściwości dla swojej roli.

Pytanie 39

Który z paradygmatów programowania najbardziej akcentuje dziedziczenie oraz polimorfizm?

A. Programowanie proceduralne
B. Programowanie strukturalne
C. Programowanie obiektowe
D. Programowanie funkcyjne
Programowanie obiektowe (OOP) to paradygmat, który kładzie największy nacisk na dziedziczenie i polimorfizm. Dziedziczenie pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i jego rozszerzanie. Polimorfizm umożliwia definiowanie metod o tej samej nazwie, ale z różnym zachowaniem w zależności od kontekstu lub obiektu, co zwiększa elastyczność i modularność kodu. Programowanie obiektowe jest szeroko stosowane w językach takich jak Java, C++, Python czy C#, ponieważ pozwala na budowanie skalowalnych i łatwych w utrzymaniu aplikacji.

Pytanie 40

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

Ilustracja do pytania
A. Krzysztof
B. Patryk
C. Anna
D. Ewa
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.