Wyniki egzaminu

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

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

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

Który z wymienionych wzorców projektowych jest najbardziej odpowiedni do uproszczenia interfejsu złożonego systemu?

A. Kompozyt (Composite)
B. Metoda szablonowa (Template method)
C. Singleton (Singleton)
D. Fasada (Facade)
Wzorzec Kompozyt (Composite) umożliwia traktowanie pojedynczych obiektów i ich grup w jednakowy sposób, co ułatwia zarządzanie hierarchicznymi strukturami. Metoda szablonowa (Template Method) definiuje szkielet algorytmu w klasie bazowej, pozwalając podklasom na dostosowanie poszczególnych kroków. Singleton to wzorzec zapewniający istnienie tylko jednej instancji klasy, co jest użyteczne w zarządzaniu zasobami systemowymi, ale nie służy do upraszczania interfejsu do złożonego systemu.

Pytanie 2

Jaką wartość jest w stanie przechować tablica jednowymiarowa?

A. Wartość logiczną true lub false
B. Wiele wartości pod tym samym indeksem
C. Wiele wartości pod różnymi indeksami
D. Jedną wartość
Tablica jednowymiarowa przechowuje wiele wartości pod różnymi indeksami. Każdy element tablicy jest dostępny za pomocą indeksu, co pozwala na szybkie i efektywne przechowywanie oraz przetwarzanie danych. W programowaniu tablice jednowymiarowe są podstawą do implementacji algorytmów sortowania, wyszukiwania oraz przechowywania sekwencji danych. Tego rodzaju tablice są niezwykle użyteczne w organizowaniu danych o powtarzalnej strukturze, takich jak listy imion, wyniki testów czy współrzędne.

Pytanie 3

Które z wymienionych środowisk programistycznych jest rekomendowane do developing aplikacji w języku Python z użyciem frameworka Django?

A. Android Studio
B. PyCharm
C. XCode
D. Unity
PyCharm to jedno z najbardziej zaawansowanych środowisk programistycznych (IDE) dedykowanych do tworzenia aplikacji w języku Python. Jest to narzędzie preferowane przez programistów korzystających z frameworka Django, który jest popularnym rozwiązaniem do budowy aplikacji webowych. PyCharm oferuje rozbudowane wsparcie dla Django, umożliwiając szybkie tworzenie projektów, integrację z bazami danych oraz wygodne debugowanie aplikacji. IDE zapewnia również możliwość uruchamiania serwerów deweloperskich, podglądu zmian w czasie rzeczywistym oraz automatyczne uzupełnianie kodu, co znacząco zwiększa efektywność pracy nad aplikacjami webowymi. Dzięki PyCharm programiści mogą łatwo zarządzać migracjami bazy danych, tworzyć modele i szablony, co sprawia, że jest to narzędzie nieocenione w ekosystemie Django.

Pytanie 4

Który z poniższych aspektów najdokładniej określa cel realizacji projektu?

A. Zidentyfikowanie technologii, które mogą być zastosowane
B. Określenie problemu i metody jego rozwiązania
C. Ocena postępów w czasie realizacji projektu
D. Stworzenie harmonogramu działań
Określenie problemu i sposobu jego rozwiązania to fundamentalny cel każdego projektu. Bez jasno zdefiniowanego problemu i sprecyzowanej metody jego rozwiązania, projekt może stać się chaotyczny i nieefektywny. Precyzyjna analiza problemu pozwala na wyznaczenie celów, które prowadzą do stworzenia wartościowego produktu lub usługi. Dzięki temu zespół może skupić się na kluczowych zadaniach i efektywnie zarządzać zasobami. Określenie problemu to pierwszy krok w metodykach Agile i Waterfall, który warunkuje sukces całego przedsięwzięcia.

Pytanie 5

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

A. Slack
B. Notion
C. Microsoft Teams
D. Google Drive
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 6

Który system operacyjny jest podstawowym środowiskiem do tworzenia aplikacji mobilnych w języku Swift?

A. Android
B. Windows UWP
C. iOS
D. LG UX
iOS to natywny system operacyjny dla aplikacji mobilnych pisanych w języku Swift. Swift to nowoczesny język programowania, stworzony przez Apple, ułatwiający rozwój aplikacji na urządzenia iPhone i iPad.

Pytanie 7

Jaki modyfikator umożliwia dostęp do elementu klasy z każdego miejsca w kodzie?

A. Protected
B. Private
C. Public
D. Static
Modyfikator 'Public' umożliwia dostęp do składowych klasy z dowolnego miejsca w programie, zarówno w ramach tej samej klasy, jak i poza nią. To najbardziej otwarty modyfikator dostępu, który pozwala na tworzenie interfejsów API, umożliwiających korzystanie z publicznych metod i właściwości przez inne klasy oraz moduły. W praktyce oznacza to, że publiczne metody są widoczne globalnie, co pozwala na ich wywoływanie bez ograniczeń. Jest to przydatne w przypadkach, gdy dana funkcjonalność musi być dostępna w różnych częściach programu lub aplikacji.

Pytanie 8

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

A. Sprawdzić, czy występuje krwawienie
B. Rozpocząć resuscytację krążeniowo-oddechową
C. Zadbać o własne bezpieczeństwo
D. Wezwać ambulans
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 9

Które z wymienionych sytuacji jest przykładem hermetyzacji w programowaniu obiektowym?

A. Tworzenie klasy abstrakcyjnej
B. Tworzenie wielu metod o tej samej nazwie w różnych klasach
C. Ograniczenie dostępu do pól klasy poprzez modyfikatory dostępu
D. Wykorzystanie klasy nadrzędnej w innej klasie
Hermetyzacja (ang. encapsulation) to mechanizm programowania obiektowego, który polega na ukrywaniu wewnętrznych danych obiektu oraz udostępnianiu dostępu do nich tylko za pośrednictwem metod publicznych (gettery i settery). Dzięki hermetyzacji dane klasy są chronione przed bezpośrednią modyfikacją, co zwiększa bezpieczeństwo i stabilność kodu. Przykład w C++: `class Konto { private: double saldo; public: void wplata(double kwota) { saldo += kwota; } }` – saldo jest polem prywatnym, które można modyfikować tylko poprzez metody publiczne, co zapobiega nieautoryzowanemu dostępowi.

Pytanie 10

Jaką wartość przyjmie etykieta label po wykonaniu podanego kodu, gdy zostanie on uruchomiony po naciśnięciu przycisku w aplikacji?

Ilustracja do pytania
A. suma liczb parzystych z przedziału od 0 do 100
B. suma liczb z przedziału od 0 do 100
C. liczby z przedziału od 0 do 100
D. liczby parzyste z przedziału od 0 do 100
Kod oblicza i zapisuje sumę liczb parzystych z przedziału od 0 do 100. Pętla iteruje przez kolejne liczby i dodaje te, które spełniają warunek parzystości, zapewniając poprawne wyniki.

Pytanie 11

Która z wymienionych właściwości odnosi się do klasy pochodnej?

A. Nie może być zastosowana w strukturze dziedziczenia
B. Jest automatycznie usuwana po zakończeniu działania programu
C. Nie ma możliwości dodawania nowych metod
D. Dziedziczy atrybuty i metody z klasy bazowej
Cechą klasy pochodnej jest dziedziczenie pól i metod z klasy bazowej, co oznacza, że klasa pochodna automatycznie uzyskuje dostęp do wszystkich publicznych i chronionych składowych klasy nadrzędnej. Dzięki temu programista może rozwijać i modyfikować funkcjonalność istniejących klas, tworząc bardziej wyspecjalizowane obiekty. Dziedziczenie to kluczowy mechanizm umożliwiający wielokrotne użycie kodu, co prowadzi do zmniejszenia duplikacji i zwiększenia efektywności w zarządzaniu projektem. Klasa pochodna może również nadpisywać metody klasy bazowej, dostosowując ich działanie do swoich specyficznych potrzeb.

Pytanie 12

Kod XAML zaprezentowany powyżej zostanie wyświetlony jako:

Ilustracja do pytania
A. B
B. D
C. A
D. C
Kod XAML zostanie wyrenderowany jako element D, co oznacza, że spełnia wszystkie warunki formatowania i układu graficznego zgodne z przedstawionym rysunkiem. XAML to język znaczników do projektowania interfejsów użytkownika w aplikacjach WPF, UWP i Xamarin.

Pytanie 13

Jakie jest oznaczenie komentarza wieloliniowego w języku Java?

A.
B. // ... //
C. /* ... */
D. """ ... """
Komentarze wieloliniowe w języku Java są oznaczane za pomocą /* ... */. Pozwalają na komentowanie większych fragmentów kodu, co jest przydatne podczas tymczasowego wyłączania kodu lub dodawania obszernych opisów do funkcji i klas.

Pytanie 14

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

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

Pytanie 15

Który z frameworków pozwala na tworzenie aplikacji z graficznym interfejsem użytkownika oraz obsługą wydarzeń?

A. Express.js
B. TensorFlow
C. Django
D. Qt
Django to framework do tworzenia aplikacji webowych w języku Python, a nie narzędzie do budowy aplikacji desktopowych z interfejsem graficznym. TensorFlow to biblioteka do uczenia maszynowego i sztucznej inteligencji, która nie ma bezpośredniego związku z projektowaniem GUI. Express.js to framework dla Node.js, który służy do budowy aplikacji serwerowych i API, ale nie jest narzędziem do projektowania interfejsów użytkownika w aplikacjach desktopowych.

Pytanie 16

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

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

Pytanie 17

W języku C# szablon List umożliwia korzystanie z listy. Z definicji obiektu kolekcji wynika, że jego elementami mogą być:

Ilustracja do pytania
A. liczby rzeczywiste
B. liczby całkowite
C. elementy o nieokreślonym typie
D. elementy typu List
Inicjalizacja listy w C# (List) wskazuje, że jej elementami są liczby całkowite (int). Szablony (generics) w C# umożliwiają tworzenie list o określonym typie, co zapobiega błędom podczas dodawania elementów. Listy w C# są dynamiczne, co oznacza, że ich rozmiar może być zmieniany w trakcie działania programu, a elementy mogą być dowolnie dodawane lub usuwane.

Pytanie 18

Jakie stwierdzenie najlepiej tłumaczy cel podziału programu na funkcje (metody)?

A. Ułatwia proces debugowania oraz ponowne wykorzystanie fragmentów kodu
B. Eliminuje potrzebę korzystania ze zmiennych globalnych
C. Gwarantuje automatyczną kompilację programu
D. Umożliwia skrócenie kodu przez eliminację wszelkich komentarzy
Dzielenie programu na funkcje (lub metody) jest jedną z kluczowych zasad programowania strukturalnego i obiektowego. Funkcje pozwalają na podzielenie dużych bloków kodu na mniejsze, łatwiejsze do zarządzania i ponownego wykorzystania fragmenty. Dzięki temu kod jest bardziej czytelny, zrozumiały i łatwiejszy do testowania. Ułatwia to także proces debugowania, ponieważ błędy można izolować w konkretnych funkcjach, zamiast przeszukiwać cały program. Ponadto funkcje umożliwiają wielokrotne używanie tego samego fragmentu kodu, co zwiększa efektywność i eliminuje konieczność powielania kodu, zmniejszając ryzyko błędów.

Pytanie 19

Jakiego rodzaju zmiennej użyjesz w C++, aby przechować wartość "true"?

A. bool
B. liczba całkowita
C. tekst
D. liczba zmiennoprzecinkowa
Typ danych 'bool' w języku C++ jest przeznaczony do przechowywania wartości 'true' lub 'false'. Deklaracja 'bool isReady = true;' to przykład poprawnego przypisania wartości logicznej do zmiennej. Typ boolean jest kluczowy w warunkach decyzyjnych, pętlach i operacjach porównawczych. W programowaniu typ 'bool' jest wykorzystywany do kontroli przepływu programu, obsługi wyjątków oraz sprawdzania poprawności danych. Użycie booleanów w kodzie zwiększa jego czytelność i pozwala na bardziej przejrzyste budowanie logiki aplikacji.

Pytanie 20

Jakie są korzyści z wykorzystania struktur danych typu mapa (np. HashMap w Javie) w kontekście tworzenia zbiorów danych?

A. Gdyż nie potrzebują znajomości wielkości danych przed kompilacją
B. Bo pozwalają na sortowanie danych bez dodatkowych działań
C. Z powodu szybkiego uzyskiwania dostępu do elementów przy użyciu klucza
D. Ponieważ struktury danych typu mapa zajmują mniej pamięci niż tablice
Mapa, na przykład HashMap w Javie, to taka fajna struktura, która trzyma pary klucz-wartość. Dzięki temu szybko możemy znaleźć dane, korzystając z unikalnego klucza. HashMap jest super, bo pozwala nam na błyskawiczne dodawanie, usuwanie i wyszukiwanie elementów w czasie O(1). To naprawdę przydaje się, gdy pracujemy z dużymi zbiorami danych. Używamy jej często w aplikacjach wymagających szybkiego dostępu do informacji, jak różne bazy danych czy strony internetowe. No i jeszcze jej elastyczność – można ją łatwo dostosować do zmieniających się zestawów danych, co jest dużym plusem.

Pytanie 21

Jakie narzędzie może zostać wykorzystane do automatyzacji testów aplikacji internetowych?

A. Blender
B. Visual Studio Code
C. Selenium
D. Postman
Postman to narzędzie do testowania API, umożliwiające wysyłanie zapytań HTTP i analizowanie odpowiedzi serwera, ale nie jest narzędziem do testowania interfejsów użytkownika w przeglądarce. Blender to narzędzie do modelowania 3D i animacji, które nie ma zastosowania w testowaniu aplikacji webowych. Visual Studio Code to edytor kodu źródłowego, który może być używany do pisania i debugowania kodu, ale samo w sobie nie jest narzędziem do automatycznego testowania aplikacji webowych, jak Selenium.

Pytanie 22

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

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

Pytanie 23

Teoria wyznaczania celów definiuje właściwie sformułowany cel jako SMART, od pierwszych liter słów: specyficzny, Mierzalny, Ambitny, Realny oraz Terminowy. Wskaź, który cel wymaga wysiłku i stanowi wyzwanie dla pracownika?

A. Terminowy
B. Ambitny
C. Mierzalny
D. Specyficzny
Cel ambitny (Achievable) w kontekście teorii SMART oznacza taki, który wymaga wysiłku i stanowi wyzwanie, ale jednocześnie jest osiągalny. Cele ambitne motywują pracowników do działania i podnoszenia swoich kwalifikacji, co prowadzi do rozwoju zawodowego.

Pytanie 24

Jakie kroki należy podjąć, aby skutecznie zabezpieczyć dane na komputerze?

A. Systematycznie aktualizować oprogramowanie i wykonywać kopie zapasowe
B. Przechowywać dane na niezabezpieczonych nośnikach przenośnych
C. Nie używać kopii zapasowych
D. Dzielić się hasłami do plików z współpracownikami
Regularne aktualizowanie oprogramowania oraz tworzenie kopii zapasowych to kluczowe działania zapewniające bezpieczeństwo danych na komputerze. Aktualizacje łatają luki w zabezpieczeniach i eliminują błędy, które mogą zostać wykorzystane przez hakerów. Kopie zapasowe chronią dane przed utratą spowodowaną awarią sprzętu, atakiem ransomware lub przypadkowym usunięciem. Najlepszą praktyką jest przechowywanie kopii zapasowych w różnych miejscach – lokalnie i w chmurze – co dodatkowo zwiększa poziom zabezpieczenia przed nieprzewidzianymi sytuacjami.

Pytanie 25

Który z objawów może sugerować zawał serca?

A. Intensywny ból w klatce piersiowej promieniujący do lewej ręki
B. Gorączka oraz dreszcze
C. Spadek nastroju
D. Ból brzucha po spożyciu posiłku
Silny ból w klatce piersiowej promieniujący do lewej ręki to klasyczny objaw zawału serca (ostrego zespołu wieńcowego). Ból ten często pojawia się nagle, jest intensywny, gniotący lub piekący i może towarzyszyć mu duszność, zawroty głowy, zimne poty i nudności. Zawał serca wynika z zablokowania jednej z tętnic wieńcowych, co prowadzi do niedokrwienia mięśnia sercowego. Szybka reakcja i wezwanie pomocy medycznej mogą uratować życie i zminimalizować uszkodzenia serca. Każda minuta jest kluczowa – nie należy czekać na ustąpienie objawów, lecz natychmiast zadzwonić na numer alarmowy 112 lub udać się do najbliższego szpitala.

Pytanie 26

Które z wymienionych stwierdzeń najtrafniej charakteryzuje WPF?

A. Framework umożliwiający zarządzanie urządzeniami IoT
B. Framework przeznaczony do budowy aplikacji stacjonarnych w systemie Windows
C. Biblioteka do obróbki danych w Pythonie
D. Framework przeznaczony do budowy aplikacji internetowych
No dobra, WPF to framework, którego używamy, żeby robić aplikacje na Windowsa. Jest częścią platformy .NET i super się nadaje do tworzenia ładnych interfejsów z użyciem XAML, co jest takim językiem, który pozwala na zaprojektowanie interfejsu. Dzięki WPF możemy korzystać z fajnych animacji i ogólnie mieć niezłe wizualizacje. W dodatku, wspiera model MVVM, co ułatwia rozdzielenie logiki aplikacji od tego, co widzi użytkownik. Także w wielu firmach, gdzie potrzebna jest zaawansowana grafika, WPF jest chętnie wykorzystywane.

Pytanie 27

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

A. Ograniczenie hałasu w pomieszczeniu
B. Korzystanie z regulowanych krzeseł i biurek
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 28

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

A. dwa tablicowe, jeden liczbowy do nadzorowania pętli
B. jeden tablicowy, dwa liczbowe do nadzorowania pętli, jeden do zamiany miejscami elementów
C. jeden tablicowy, jeden liczbowy do nadzorowania pętli, dwa do zamiany miejscami elementów
D. dwa tablicowe, 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 29

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

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

Pytanie 30

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

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

Pytanie 31

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

A. Kanban
B. Model Waterfall
C. Model spiralny
D. Scrum
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 32

Zalecenia standardu WCAG 2.0 dotyczące percepcji koncentrują się na

A. umożliwieniu interakcji między komponentami użytkownika za pomocą klawiatury
B. zrozumieniu i wiarygodności prezentowanych treści na stronie
C. zapewnieniu odpowiedniej ilości czasu na przeczytanie i zrozumienie treści
D. prezentacji elementów interfejsu użytkownika
Pierwsza z niepoprawnych odpowiedzi odnosi się do zrozumienia i rzetelności w dostarczonych treściach na stronie, co jest ważnym aspektem, ale nie dotyczy bezpośrednio percepcji komponentów interfejsu użytkownika. Zrozumienie treści jest związane z czytelnością tekstu oraz jego strukturalną formą, co nie jest bezpośrednio związane z interfejsem. Kolejna niepoprawna odpowiedź, dotycząca zapewnienia wystarczającej ilości czasu na przeczytanie i przetworzenie treści, odnosi się bardziej do zasad dostępności dotyczących czasu, które są istotne dla użytkowników z różnymi zdolnościami przetwarzania informacji, ale nie dotyczą samej percepcji komponentów interfejsu. Ostatnia odpowiedź, dotycząca zapewnienia interakcji pomiędzy komponentami użytkownika przy użyciu klawiatury, również nie odnosi się bezpośrednio do percepcji, a bardziej do interakcji użytkownika z systemem. Choć interakcja jest istotna, kluczowe jest zrozumienie, że percepcja skupia się na sposobie, w jaki użytkownicy dostrzegają i interpretują te komponenty, a nie na ich interakcji. Dlatego też, te odpowiedzi, choć dotyczą ważnych kwestii dostępności, nie są zgodne z istotą pytania.

Pytanie 33

Zapisany kod w języku Python ilustruje

Ilustracja do pytania
A. tablicę asocjacyjną (słownik)
B. kolejkę (LIFO)
C. strukturę
D. stos
W tym zadaniu mamy do czynienia z tablicą asocjacyjną, która w Pythonie nazywa się słownikiem. Słownik to taki fajny sposób na przechowywanie par klucz-wartość, co jest naprawdę przydatne. W naszym przypadku kluczami są symbole chemiczne, jak N czy O, a wartościami ich pełne nazwy, czyli Azot oraz Tlen. Dzięki tej strukturze można szybko sięgnąć po konkretne dane, co jest bardzo pomocne w różnych sytuacjach. Na przykład, można używać ich do przechowywania konfiguracji albo do prostych baz danych. Warto też dodać, że słowniki świetnie pasują do obiektów JSON, co jest ważne w tworzeniu aplikacji webowych. Dają nam dużą elastyczność i robią to w bardzo efektywny sposób, dlatego są jednym z kluczowych elementów Pythona. Ułatwiają pisanie kodu, który jest zarówno czytelny, jak i funkcjonalny.

Pytanie 34

Jakie oznaczenie posiada norma krajowa w Polsce?

A. IEC
B. ISO
C. PN
D. EN
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 35

Czym jest ochrona własności intelektualnej?

A. Koncepcja prawa zabezpieczającego twórczość i innowacje
B. Zbiór informacji osobowych
C. Rejestr plików przechowywanych w chmurze
D. Zestaw przepisów dotyczących ochrony prywatności
Własność intelektualna to zbiór praw chroniących twórczość i wynalazki, obejmujący patenty, prawa autorskie, znaki towarowe i wzory przemysłowe. Własność intelektualna pozwala twórcom na zarabianie na swoich dziełach oraz kontrolowanie, kto i w jaki sposób może z nich korzystać. W wielu krajach naruszenie praw własności intelektualnej wiąże się z poważnymi konsekwencjami prawnymi. Dla przedsiębiorstw i innowatorów ochrona własności intelektualnej jest kluczowa dla zabezpieczenia ich inwestycji oraz rozwijania nowych technologii.

Pytanie 36

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

A. Każde zdarzenie, które wymaga interwencji technicznej w miejscu zatrudnienia
B. Każdy incydent wynikający z działania osób trzecich
C. Nagłe zdarzenie związane z pracą, powodujące uraz lub śmierć
D. Każde zdarzenie, które prowadzi do opóźnienia w wykonaniu obowiązków
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 37

Jakie elementy powinny być uwzględnione w scenariuszu testów aplikacji?

A. Dokładne wytyczne dotyczące realizacji kodu
B. Dokumentacja techniczna oprogramowania
C. Strategia wdrożenia aplikacji w środowisku produkcyjnym
D. Zestaw kroków do testowania, oczekiwanych rezultatów oraz warunków początkowych
Scenariusz testowy aplikacji powinien zawierać szczegółowy opis kroków testowych, oczekiwane wyniki oraz warunki wstępne, które muszą być spełnione przed rozpoczęciem testu. Scenariusz testowy to kluczowy dokument w procesie testowania oprogramowania, który pozwala na systematyczne i dokładne sprawdzenie, czy aplikacja działa zgodnie z oczekiwaniami. Uwzględnienie kroków testowych pozwala na replikację testów, a opis warunków wstępnych zapewnia, że test jest przeprowadzany w odpowiednim środowisku.

Pytanie 38

Jednym z rodzajów testów funkcjonalnych, które można przeprowadzić na aplikacji webowej, jest ocena

A. bezpieczeństwa aplikacji
B. poziomu optymalizacji kodu aplikacji
C. poprawności wyświetlanych elementów aplikacji
D. wydajności aplikacji
Testy funkcjonalne w aplikacji webowej są super ważne, bo sprawdzają, czy wszystko działa jak należy. Mówiąc prościej, chodzi o to, żeby zobaczyć, czy wszystkie elementy na stronie są wyświetlane prawidłowo, jak przyciski i formularze. To też dotyczy tego, jak użytkownicy wchodzą w interakcję z różnymi częściami strony. Moim zdaniem, dobrze przeprowadzone testy mogą naprawdę poprawić doświadczenie użytkownika.

Pytanie 39

Na przedstawionym obrazie widać fragment emulacji systemu iOS z prostą aplikacją. Górna część ekranu nachodzi na pasek stanu baterii. Który z poniższych zapisów powinien zostać użyty w miejscu znaków zapytania, aby ustawić jedynie marginesy górne tylko dla systemu iOS?

Ilustracja do pytania
A. x:TypeArguments="Thickness"
iOS= 20
B. x:TypeArguments="Thickness"
(0, 20, 0, 0)
C. x:TypeArguments="Thickness"
iOS= "0, 0, 0, 0"
Android= "0, 20, 0, 0"
WinPhone= "0, 0, 0, 0"
D. x:TypeArguments="Thickness"
iOS= "0, 20, 0, 0"
Android= "0, 0, 0, 0"
WinPhone= "0, 0, 0, 0"
W pierwszej opcji zastosowano jednolity margines 20 jednostek dla wszystkich platform, co jest niewłaściwe, ponieważ ignoruje specyficzne potrzeby i ograniczenia każdej platformy. Na przykład, na iOS margines ten kompensuje status bar, ale na innych platformach może nie być wymagany, co może prowadzić do nieestetycznego wyglądu aplikacji. Druga odpowiedź wprowadza margines tylko dla iOS, ale w niewłaściwym formacie, ponieważ same liczby nie są wystarczające bez poprawnego kontekstu struktury XAML. Trzecia opcja jest błędna, ponieważ przypisuje nieprawidłowe wartości platformie Android, co skutkuje odwrotnym efektem niż zamierzony. Traktowanie wszystkich platform identycznie pod względem marginesów pomija specyfikę każdej z nich, co jest częstym błędem początkowych deweloperów. Niezrozumienie różnic między platformami może prowadzić do aplikacji, które nie są optymalnie dostosowane do każdej z nich. Ważne jest, aby projektanci aplikacji wieloplatformowych zrozumieli, jak różne urządzenia i systemy operacyjne wpływają na sposób, w jaki aplikacja powinna wyglądać i działać, aby zapewnić użytkownikom spójne i wysokiej jakości doświadczenia niezależnie od platformy, na której aplikacja jest uruchamiana. Dostosowywanie UI do specyfiki każdej platformy jest kluczem do sukcesu w tworzeniu profesjonalnych aplikacji mobilnych.

Pytanie 40

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: dodać do nazw sufiksy oznaczające rozdzielczość, np. 32ppi. Android: umieścić grafikę w odpowiednich katalogach: 32ppi, 64ppi, 96ppi
C. iOS: utworzyć katalogi hdpi, lhpi, xhpi i dodać do nich grafiki. Android: utworzyć katalogi 32x32, 64x64, 96x96 i dodać do nich grafiki
D. iOS: dodać do nazw plików sufiksy @2x, @3x. Android: umieścić grafikę w odpowiednich folderach drawable: -hdpi, -xhpi, xxhdpi
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.