Wyniki egzaminu

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

Egzamin zdany!

Wynik: 26/40 punktów (65,0%)

Wymagane minimum: 20 punktów (50%)

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

Jaką nazwę nosi framework CSS, który służy do definiowania wyglądu stron internetowych i którego klasy są użyte w przedstawionym przykładzie?

Ilustracja do pytania
A. Angular
B. Yaml
C. Symfony
D. Bootstrap
Yaml jest formatem serializacji danych, który jest używany głównie do przechowywania konfiguracji w sposób czytelny dla człowieka. W przeciwieństwie do CSS, nie jest używany do stylizacji aplikacji internetowych. Angular to framework JavaScript do budowy aplikacji front-endowych, a nie narzędzie do stylizacji. Choć Angular może być używany razem z różnymi bibliotekami CSS do tworzenia stylowych aplikacji, sam w sobie nie dostarcza gotowych rozwiązań CSS, takich jak Bootstrap. Użycie Angulara wymaga skupienia się na logice aplikacji i strukturze komponentów, podczas gdy stylizacja wymaga dodatkowych narzędzi lub bibliotek CSS. Symfony to framework PHP, który jest przeznaczony do budowy aplikacji back-endowych i nie oferuje żadnych funkcji związanych z bezpośrednią stylizacją front-endu. Jest to narzędzie do zarządzania logiką biznesową, a nie wyglądem aplikacji. Wybierając odpowiednie narzędzia do stylizacji front-endu, należy skupić się na rozwiązaniach, które dostarczają gotowe komponenty CSS, jak Bootstrap, który oferuje bogaty zestaw klas i komponentów do szybkiego tworzenia atrakcyjnych interfejsów użytkownika. Typowe błędne myślenie to mylenie ról poszczególnych narzędzi i frameworków ze względu na ich popularność, dlatego ważne jest rozumienie ich specyficznych zastosowań i ograniczeń w zakresie stylizacji i budowy aplikacji internetowych. Aby rozwijać efektywne i wydajne aplikacje webowe, konieczne jest świadome łączenie odpowiednich technologii, które najlepiej odpowiadają na potrzeby konkretnego projektu.

Pytanie 2

Który z poniższych metod najlepiej zabezpiecza dane karty płatniczej podczas zakupów online?

A. Używanie wirtualnych kart płatniczych lub jednorazowych kodów
B. Przechowywanie numeru karty w przeglądarce internetowej
C. Udostępnianie danych karty na platformach internetowych
D. Podawanie informacji o karcie w odpowiedzi na wiadomość e-mail od nieznajomego
Korzystanie z wirtualnych kart płatniczych lub jednorazowych kodów to skuteczny sposób na ochronę danych karty płatniczej podczas transakcji internetowych. Wirtualne karty mają ograniczony okres ważności i są powiązane z określoną kwotą, co minimalizuje ryzyko kradzieży całego konta bankowego. Jednorazowe kody płatności wygasają po jednorazowym użyciu, co uniemożliwia ich ponowne wykorzystanie przez osoby trzecie. Dzięki tym metodom użytkownicy znacznie redukują ryzyko oszustw i nieautoryzowanych transakcji.

Pytanie 3

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

A. 1010100
B. 10100010
C. 10100100
D. 1011100
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 4

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

A. Gwarantuje optymalne korzystanie z aplikacji na każdym urządzeniu
B. Usuwa konieczność testowania na różnych platformach
C. Pozwala na unifikację kodu niezależnie od używanej platformy
D. Umożliwia skoncentrowanie się wyłącznie na funkcjonalności aplikacji
Dostosowanie interfejsu do różnych urządzeń to naprawdę ważna sprawa, żeby wszystko działało jak należy. Aplikacje, które dobrze się przystosowują do różnych ekranów czy systemów, dają lepsze doświadczenie użytkownikom. Użycie takich technik jak responsywny design czy elastyczne układy, jak flexbox czy grid, to super pomysł. Dzięki temu elementy interfejsu same się skalują, a aplikacja wygląda spójnie na telefonach, tabletach i komputerach. Nie ma nic gorszego niż chaotyczny interfejs na różnych urządzeniach, więc to naprawdę kluczowa kwestia.

Pytanie 5

Zaprezentowany kod zawiera pola danej klasy. Które pole (pola) mogą być osiągnięte z poziomu głównego programu poprzez odwołanie się w formie nazwaObiektu.nazwaPola?

Ilustracja do pytania
A. wyłącznie p3, p4, p5
B. p3 i p4
C. jedynie p3
D. p1
To pole p3 jest publiczne, co oznacza, że możesz je użyć w programie głównym, wywołując nazwaObiektu.p3. Fajne jest to, że pola prywatne i chronione są niewidoczne poza klasą, więc musisz użyć odpowiednich metod, takich jak gettery i settery, żeby się do nich dostać.

Pytanie 6

Zmienna o typie logicznym może mieć następujące wartości:

A. trzy dowolne liczby naturalne
B. true, false
C. 1, -1
D. 0 oraz każda liczba całkowita
Typ logiczny (boolean) może przyjąć jedynie dwie wartości: true (prawda) i false (fałsz). Jest to fundamentalna zasada w programowaniu, ponieważ zmienne logiczne są podstawą operacji warunkowych, pętli oraz sterowania przepływem programu. W językach takich jak C++, Java, Python i wielu innych, wartości logiczne pozwalają na budowanie złożonych struktur decyzyjnych. Dzięki nim programista może precyzyjnie kontrolować, które fragmenty kodu zostaną wykonane, co jest kluczowe w implementacji algorytmów oraz walidacji danych.

Pytanie 7

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

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

Pytanie 8

Celem zastosowania wzorca Obserwator w tworzeniu aplikacji WEB jest

A. monitorowanie interakcji użytkownika i wysyłanie wyjątków
B. informowanie obiektów o modyfikacji stanu innych obiektów
C. zarządzanie funkcjami synchronicznymi w kodzie aplikacji
D. dostosowanie interfejsu użytkownika do różnych typów odbiorców
Wszystkie pozostałe odpowiedzi są błędne z kilku powodów. Dopasowanie interfejsu użytkownika do różnych typów użytkowników nie jest funkcją wzorca Obserwator, lecz bardziej związane jest z koncepcjami UX/UI (User Experience/User Interface) i personalizacją. Chociaż interfejs może korzystać z danych powiadomień od wzorca Obserwator, sam wzorzec nie zajmuje się dostosowywaniem interfejsu do preferencji użytkownika. Obserwowanie interakcji użytkownika i wysyłanie wyjątków również nie jest celem wzorca Obserwator. Takie działania zazwyczaj są obsługiwane przez mechanizmy zdarzeń lub kontrolery, które rejestrują interakcje, ale nie mają na celu bezpośredniego monitorowania i reagowania na zmiany stanu innych obiektów. Wreszcie, obsługa funkcji synchronicznych w kodzie aplikacji jest zupełnie inną kwestią, powiązaną z asynchronicznością, obiegiem zdarzeń i obiektami Promise, a nie z tym, co oferuje wzorzec Obserwator. Wzorzec ten nie ma na celu synchronizacji, a raczej dążenie do luźnego powiązania między obiektami, co jest kluczowe dla efektywnej i elastycznej architektury aplikacji.

Pytanie 9

W jednostce centralnej, za obliczenia na liczbach zmiennoprzecinkowych odpowiada

A. ALU
B. FPU
C. IU
D. AU
IU to jednostka, która ma do czynienia z liczbami całkowitymi, a nie zmiennoprzecinkowymi. ALU, czyli jednostka arytmetyczno-logiczna, wykonuje różne podstawowe operacje, ale nie jest stworzona do pracy z liczbami zmiennoprzecinkowymi. A AU to jednostka, która przechowuje wyniki, ale sama nie oblicza skomplikowanych rzeczy na liczbach zmiennoprzecinkowych.

Pytanie 10

Działania przedstawione w filmie korzystają z narzędzia

A. debuggera analizującego wykonujący kod
B. generatora GUI przekształcającego kod do języka XAML
C. generatora kodu java
D. kompilatora dla interfejsu graficznego
Debugger analizuje wykonywany kod, ale nie zajmuje się tworzeniem interfejsów graficznych. Kreator kodu Java jest narzędziem wspomagającym generowanie kodu aplikacji, a nie GUI. Kompilator interfejsu graficznego odpowiada za przekształcanie gotowego kodu, ale nie za tworzenie interaktywnych elementów wizualnych w czasie rzeczywistym.

Pytanie 11

W klasie o nazwie samochod przypisano atrybuty: marka, rocznik, parametry[]. Atrybuty te powinny zostać zdefiniowane jako

A. funkcje
B. interfejsy
C. metody
D. pola
Pola klasy to jej atrybuty, które przechowują dane dotyczące obiektów. Definiują one stan obiektu i mogą przyjmować różne wartości w zależności od instancji klasy. W przypadku klasy samochod cechy takie jak marka, rocznik czy parametry to właśnie pola, które odzwierciedlają właściwości poszczególnych obiektów.

Pytanie 12

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

Ilustracja do pytania
A. 7
B. 5
C. 8
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 13

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

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

Pytanie 14

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. Dziedziczy atrybuty i metody z klasy bazowej
D. Nie ma możliwości dodawania nowych metod
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 15

Jakie z wymienionych narzędzi jest szeroko stosowane do debugowania aplikacji internetowych?

A. Blender
B. Chrome DevTools
C. Postman
D. Git
Chrome DevTools to potężne narzędzie wbudowane w przeglądarkę Google Chrome, które umożliwia debugowanie aplikacji webowych. Umożliwia ono analizowanie struktury DOM, monitorowanie sieci, profilowanie wydajności oraz inspekcję kodu JavaScript. Chrome DevTools pozwala na śledzenie błędów w czasie rzeczywistym, edytowanie stylów CSS oraz modyfikowanie HTML bezpośrednio w przeglądarce, co znacznie przyspiesza proces rozwoju i testowania aplikacji webowych.

Pytanie 16

Który z wymienionych parametrów dysku twardego ma największy wpływ na jego wydajność?

A. Prędkość obrotowa talerzy (RPM)
B. Ilość pamięci podręcznej (Cache)
C. Rodzaj złącza (SATA/PCIe)
D. Pojemność dysku
Prędkość obrotowa talerzy (RPM) jest kluczowym parametrem wpływającym na szybkość dysku twardego. Wyrażana w obrotach na minutę, RPM definiuje, jak szybko talerze dysku mogą obracać się, co z kolei wpływa na czas dostępu do danych. Dyski HDD o wyższej prędkości obrotowej, takie jak 7200 RPM w porównaniu do 5400 RPM, zazwyczaj oferują lepszą wydajność, co przekłada się na szybsze odczyty i zapisy danych. Przykładowo, w zastosowaniach wymagających intensywnego przetwarzania danych, takich jak gry komputerowe czy edycja wideo, wybór dysku o wyższej prędkości obrotowej może znacznie poprawić ogólne wrażenia użytkownika. Warto również zauważyć, że chociaż złącze SATA i PCIe wpływają na szybkość transferu, to w kontekście dysków HDD, RPM pozostaje jednym z najważniejszych czynników. Standardy takie jak SATA III oferują transfery do 6 Gb/s, ale jeśli talerze nie obracają się wystarczająco szybko, potencjał transferu nie zostanie w pełni wykorzystany. Z tego powodu, RPM jest kluczowym wskaźnikiem wydajności w kontekście dysków twardych.

Pytanie 17

Programista pragnie wybrać algorytm, który najszybciej przetwarza dane w jego aplikacji. Na podstawie złożoności obliczeniowej przedstawionej w tabeli, należy wskazać algorytm numer

Ilustracja do pytania
A. 1 lub 5
B. 4
C. 3
D. 2 lub 3
Algorytm numer 4 w tabeli złożoności obliczeniowej działa najszybciej, co wynika z jego niskiej złożoności czasowej. Algorytmy o niższej złożoności są bardziej efektywne przy dużych zbiorach danych.

Pytanie 18

Jakie jest podstawowe działanie w ochronie miejsca zdarzenia?

A. Zastosowanie sterylnych materiałów opatrunkowych
B. Usunięcie niebezpiecznych przedmiotów z otoczenia
C. Zagwarantowanie stabilności ciała rannego
D. Zagwarantowanie odpowiedniego oświetlenia
Moim zdaniem, zapewnienie stabilności ciała poszkodowanego jest ważne, ale nie można o tym zapominać, że najpierw powinno się zlikwidować zagrożenia. Jasne, że lepsze oświetlenie miejsca wypadku zwiększa widoczność, ale nie jest to najważniejsze, gdy są wokół niebezpieczne przedmioty. No i jasne, że użycie sterylnych materiałów do opatrunków ma znaczenie, ale w tej sytuacji nie pomaga w usuwaniu zagrożeń wokół.

Pytanie 19

Jakie elementy powinny być uwzględnione w dokumentacji testowej aplikacji?

A. Harmonogram wdrożenia aplikacji
B. Specyfikacje techniczne serwera
C. Opis procedur testowych oraz rezultaty wykonanych testów
D. Zalecenia dotyczące optymalizacji kodu
Opis procedur testowych i wyników przeprowadzonych testów to kluczowy element dokumentacji testów aplikacji. Tego rodzaju dokumentacja obejmuje szczegółowe instrukcje dotyczące metod testowania, użytych narzędzi oraz kroków niezbędnych do przeprowadzenia testów jednostkowych, integracyjnych i systemowych. W dokumentacji znajdują się również raporty z wynikami testów, które wskazują, czy aplikacja działa zgodnie z wymaganiami oraz jakie błędy zostały wykryte. Testy pozwalają na wczesne wychwycenie problemów i eliminację błędów przed wdrożeniem aplikacji na produkcję, co znacząco zwiększa jakość oprogramowania. Dokumentacja testowa jest także nieocenionym źródłem informacji dla zespołów QA (Quality Assurance), umożliwiając śledzenie historii testów i zapewnienie, że wszystkie elementy aplikacji zostały przetestowane zgodnie z procedurami.

Pytanie 20

Wskaż typy numeryczne o stałej precyzji

A. long long, long double
B. float, double
C. int, short, long
D. bool char, string
Float i double to typy zmiennoprzecinkowe, przechowujące liczby z częściami ułamkowymi. Bool, char i string to typy znakowe i logiczne, nie liczbowe. Long long i long double to typy zmiennoprzecinkowe i całkowite, ale nie wszystkie należą do grupy stałoprzecinkowych.

Pytanie 21

Które z wymienionych działań, które są częścią procesu kreowania prostej galerii zdjęć w formie aplikacji mobilnej, powinno być realizowane przez zespół?

A. Przygotowanie testu jednostkowego dla funkcji przegladajZdjecia()
B. Stworzenie dokumentacji kodu aplikacji
C. Przygotowanie i konfiguracja repozytorium dla projektu
D. Wdrożenie funkcji dodajZdjecie()
Pozostałe odpowiedzi są zadaniami, które w większości przypadków mogą być realizowane indywidualnie, co czyni je zadaniami jednostkowymi. Implementacja funkcji dodajZdjecie() dotyczy konkretnego aspektu programistycznego, który może być wykonany przez jednego dewelopera. Wymaga ona znajomości języka programowania oraz logiki potrzebnej do dodawania zdjęć do galerii, co zazwyczaj nie wymaga współpracy z innymi członkami zespołu. Przygotowanie i skonfigurowanie repozytorium dla projektu natomiast to techniczny proces, który również najczęściej realizuje jedna osoba, odpowiedzialna za ustawienie środowiska pracy. Tworzenie testu jednostkowego dla funkcji przegladajZdjecia() to kolejny krok, który można wykonać samodzielnie, koncentrując się na testowaniu konkretnej funkcji w izolacji, bez potrzeby angażowania innych programistów. W przypadku tych zadań, choć mogą one być częścią większego projektu, to ich realizacja nie wymaga współpracy zespołowej, co sprawia, że nie są to zadania zespołowe.

Pytanie 22

Który z wymienionych dysków oferuje najszybszy dostęp do danych?

A. HDD 7200 RPM, SATA III, 64 MB Cache
B. SSD SATA III, prędkość odczytu do 550 MB/s
C. HDD 5400 RPM, SATA II, 32 MB Cache
D. SSD NVMe PCIe 3.0, prędkość odczytu do 3500 MB/s
Odpowiedź wskazująca na SSD NVMe PCIe 3.0 jako najszybszy dysk do odczytu danych jest zgodna z obecnymi standardami technologii przechowywania. Dyski SSD (Solid State Drive) korzystają z pamięci flash, co pozwala na znacznie szybszy dostęp do danych w porównaniu do tradycyjnych dysków HDD (Hard Disk Drive), które działają na zasadzie mechanicznych ruchomych elementów. Dyski NVMe (Non-Volatile Memory Express) są szczególnie wydajne, ponieważ wykorzystują interfejs PCIe (Peripheral Component Interconnect Express), co umożliwia znacznie wyższe prędkości transferu danych. W przypadku SSD NVMe PCIe 3.0, prędkość odczytu może osiągać do 3500 MB/s, co jest znaczącą różnicą w porównaniu do prędkości odczytu w dyskach HDD i SSD SATA. Przykładowo, w zastosowaniach takich jak edycja wideo, renderowanie grafiki 3D czy gry komputerowe, wyższa prędkość odczytu przekłada się na szybsze ładowanie danych i lepszą wydajność systemu. Standardy SATA III dla HDD również mają swoje ograniczenia, ponieważ maksymalna teoretyczna prędkość transferu wynosi 6 Gb/s, co jest dalekie od osiągów oferowanych przez NVMe. Dlatego SSD NVMe PCIe 3.0 jest zdecydowanym liderem w kontekście wydajności odczytu danych w porównaniu do pozostałych opcji.

Pytanie 23

Zasada programowania obiektowego, która polega na ukrywaniu elementów klasy tak, aby były one dostępne wyłącznie dla metod tej klasy lub funkcji zaprzyjaźnionych, to

A. polimorfizm
B. hermetyzacja
C. wyjątki
D. dziedziczenie
Polimorfizm umożliwia definiowanie metod o tej samej nazwie w różnych klasach, dziedziczenie pozwala na przekazywanie cech klasy bazowej do klas pochodnych, a wyjątki dotyczą obsługi błędów, nie ukrywania składowych klasy.

Pytanie 24

Jaką rolę odgrywa program Jira?

A. Zarządzanie edycjami systemu operacyjnego
B. Modyfikowanie arkuszy kalkulacyjnych
C. Planowanie, śledzenie oraz raportowanie zadań projektowych
D. Produkcja grafik 3D
Jira to jedno z najpopularniejszych narzędzi do zarządzania projektami, wykorzystywane głównie w metodykach Agile i Scrum. Umożliwia planowanie, monitorowanie i raportowanie zadań projektowych na różnych etapach ich realizacji. Dzięki elastycznym tablicom kanban i sprintom, Jira pozwala zespołom programistycznym śledzić postępy, zarządzać backlogiem oraz efektywnie przydzielać zasoby. Funkcjonalności takie jak automatyzacja procesów, śledzenie błędów (bug tracking) i integracja z innymi narzędziami (np. GitHub, Bitbucket) sprawiają, że Jira jest wszechstronnym rozwiązaniem do zarządzania nawet najbardziej złożonymi projektami. Dzięki generowanym raportom i wykresom burndown, menedżerowie mogą dokładnie analizować tempo pracy i podejmować decyzje w oparciu o dane.

Pytanie 25

Które z wymienionych stwierdzeń najtrafniej charakteryzuje klasę bazową?

A. Klasa, która nie może być dziedziczona
B. Klasa, która dziedziczy z klasy pochodnej
C. Klasa, która zapewnia wspólne atrybuty i metody dla klas pochodnych
D. Klasa, która zawsze zawiera metody wirtualne
Klasa bazowa to klasa, która dostarcza wspólne pola i metody dla klas pochodnych. Definiuje ogólną funkcjonalność, która może być rozszerzana lub modyfikowana przez klasy dziedziczące. Dzięki temu programowanie obiektowe umożliwia wielokrotne wykorzystanie kodu, co prowadzi do jego większej modularności i czytelności. Klasa bazowa często zawiera metody wirtualne, które mogą być nadpisywane przez klasy pochodne, co pozwala na dostosowanie funkcjonalności do konkretnych potrzeb. Przykładem jest klasa 'Pojazd', która posiada metody takie jak 'Jedz()' czy 'Zatrzymaj()', a klasy pochodne, np. 'Samochód' lub 'Rower', rozszerzają tę funkcjonalność.

Pytanie 26

Jakie czynności należy wykonać, aby zrealizować zdarzenie kliknięcia na przycisk w aplikacji desktopowej?

A. Powiązać zdarzenie kliknięcia z odpowiednią metodą w kodzie
B. Utworzyć metodę w systemie menu
C. Zaprojektować nowy dialog modalny
D. Zmienić plik XAML
Podłączenie zdarzenia kliknięcia do odpowiedniej metody w kodzie to podstawowy krok w obsłudze interakcji użytkownika z przyciskiem w aplikacjach desktopowych. W środowiskach takich jak WPF (Windows Presentation Foundation), WinForms czy Qt, każda kontrolka (np. przycisk) może posiadać przypisaną metodę, która zostanie wywołana w momencie kliknięcia. Dzięki temu możliwe jest wykonywanie operacji, takich jak otwieranie nowych okien, przetwarzanie danych lub aktualizacja interfejsu użytkownika. Prawidłowa implementacja zdarzeń jest kluczowa dla funkcjonalności aplikacji i umożliwia dynamiczne reagowanie na działania użytkownika. W środowiskach takich jak Visual Studio, proces ten jest intuicyjny i często realizowany przez mechanizm 'kliknij i przeciągnij', a następnie przypisanie kodu do wygenerowanego szkieletu funkcji.

Pytanie 27

Diagramem, który służy do śledzenia realizacji zadań przez członków zespołu projektowego, może być

A. Venna
B. związków encji
C. aktywnosci UML
D. Gantta
Diagram Gantta to narzędzie do wizualizacji harmonogramu projektów. Umożliwia śledzenie postępów i zarządzanie zadaniami, co czyni go niezwykle przydatnym w monitorowaniu pracy zespołu. Każde zadanie jest przedstawione jako pasek, którego długość odpowiada czasowi trwania zadania. Diagram Gantta umożliwia również identyfikację zależności między zadaniami oraz zarządzanie zasobami, co czyni go kluczowym narzędziem w zarządzaniu projektami IT.

Pytanie 28

Wartość liczby 1AF, zapisana w systemie szesnastkowym, po przeliczeniu na system dziesiętny wynosi

A. 6890
B. 431
C. 257
D. 26
No, tutaj coś poszło nie tak. Wartość 6890 to chyba wynik jakiegoś błędnego przeliczenia, bo z potęgami szesnastkowymi coś się nie zgadza. Jeśli chodzi o 26, to pewnie źle poskładałeś te cyfry w liczbie szesnastkowej. A 257 to w ogóle nie to, co powinno wyjść, bo brakuje tam jakiejś cyfry w tej liczbie szesnastkowej.

Pytanie 29

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:3000 (React) lub localhost:4200 (Angular)
B. localhost:8080 (React) lub localhost:8000 (Angular)
C. localhost:5001 (React) lub localhost:8080 (Angular)
D. localhost:8000 (React) lub localhost:49887 (Angular)
Port 8080 jest często używany przez aplikacje serwerowe (np. Tomcat), a port 8000 przez narzędzia takie jak Django. Port 5001 jest rzadziej używany w tym kontekście. Domyślne porty dla React i Angular są standardem w dokumentacji i narzędziach deweloperskich tych frameworków.

Pytanie 30

W środowisku do tworzenia aplikacji, gdzie przedstawiono menu, aby usunąć wszystkie pliki tymczasowe oraz wyniki projektu, należy wybrać opcję

Ilustracja do pytania
A. Run Code Analysis on Solution
B. Build Solution
C. Clean Solution
D. Batch Build
Opcja Clean Solution usuwa wszystkie pliki pośrednie i wyjściowe projektu, pozostawiając czysty kod źródłowy. Jest to przydatne przed ponownym kompilowaniem, aby uniknąć konfliktów i błędów wynikających z nieaktualnych plików.

Pytanie 31

Jakie z wymienionych czynności można zrealizować przy pomocy składnika statycznego danej klasy?

A. Wywołanie destruktora klasy bez jej usuwania
B. Tworzenie prywatnych kopii pól dla każdej instancji
C. Umożliwienie dzielenia pól klasy pomiędzy zaprzyjaźnione klasy
D. Zachowanie wartości wspólnych dla wszystkich instancji klasy
Składnik statyczny klasy przechowuje wartości wspólne dla wszystkich instancji danej klasy. Oznacza to, że niezależnie od liczby utworzonych obiektów, istnieje tylko jedna kopia składowej statycznej, która jest współdzielona przez wszystkie instancje. Składowe statyczne są często wykorzystywane do przechowywania liczników, stałych wartości lub danych konfiguracyjnych. Metody statyczne mogą być wywoływane bezpośrednio na klasie, bez konieczności tworzenia obiektu, co czyni je niezwykle użytecznymi w przypadku funkcji narzędziowych.

Pytanie 32

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

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

Pytanie 33

Metodyka zwinna (ang. agile) opiera się na

A. zaplanowaniu całej aplikacji na początku projektu i jej tworzeniu na przemian z testowaniem
B. przygotowaniu testów dla całego projektu, a następnie wprowadzaniu kolejnych jego fragmentów
C. podzieleniu projektu na kolejne etapy: planowanie, programowanie, testowanie, z ciągłym oszacowaniem ryzyka projektu
D. dekompozycji przedsięwzięcia na elementy, które są niezależnie projektowane, wytwarzane i testowane w krótkich iteracjach
Podejście kaskadowe (waterfall) zakłada podział projektu na kolejne etapy (projekt, programowanie, testy), ale nie dopuszcza powrotu do wcześniejszych faz, co czyni je mniej elastycznym niż agile. Projektowanie całej aplikacji na początku jest charakterystyczne dla tradycyjnych metodyk, takich jak V-model, ale nie odzwierciedla idei iteracyjnego rozwoju stosowanego w agile. Implementowanie testów po zakończeniu całości projektu ogranicza możliwość szybkiego reagowania na błędy i jest sprzeczne z filozofią agile, gdzie testy są integralną częścią każdego etapu iteracji.

Pytanie 34

Który framework jest powszechnie wykorzystywany do tworzenia aplikacji internetowych w języku Python?

A. React.js
B. Angular
C. ASP.NET Core
D. Django
Django to framework stworzony specjalnie do budowy aplikacji webowych w języku Python. Jest jednym z najbardziej popularnych i zaawansowanych frameworków typu full-stack, który oferuje szeroki wachlarz narzędzi umożliwiających szybkie i efektywne tworzenie aplikacji internetowych. Django pozwala na tworzenie aplikacji zgodnych z zasadą DRY (Don't Repeat Yourself), co oznacza minimalizację powtarzalnego kodu. Posiada wbudowany panel administracyjny, system ORM (Object-Relational Mapping) oraz zabezpieczenia przed atakami CSRF i XSS. Dzięki Django programiści mogą skupić się na rozwijaniu logiki biznesowej, a nie na konfiguracji podstawowych funkcji aplikacji, co znacznie skraca czas wdrożenia gotowego produktu.

Pytanie 35

Prezentowana metoda jest realizacją algorytmu

Ilustracja do pytania
A. sortującego ciąg od znaku o najniższym kodzie ASCII do znaku o najwyższym kodzie
B. wyszukującego literę w ciągu
C. odwracającego ciąg
D. sprawdzającego, czy dany ciąg jest palindromem
Fajnie, że zajmujesz się algorytmami! W tym przypadku chodzi o odwracanie napisu, czyli taki myk, żeby ostatni znak stał się pierwszym, a pierwszy ostatnim. To jedna z tych podstawowych rzeczy, które są przydatne w programowaniu. Wiesz, takie operacje na tekstach są przydatne w różnych sytuacjach, jak szyfrowanie czy nawet analiza danych. Trochę jak układanie puzzli, tylko z literami!

Pytanie 36

Co to jest choroba związana z wykonywaniem zawodu?

A. Stan zdrowia, który uniemożliwia pracę przez okres krótszy niż tydzień
B. Choroba występująca tylko w sektorze przemysłowym
C. Choroba wynikająca z warunków pracy lub związanych z nimi czynników
D. Każda choroba, która występuje w czasie pracy
Choroba zawodowa to stan zdrowotny spowodowany warunkami pracy lub czynnikami związanymi z wykonywaną profesją. Najczęściej wynika z długotrwałego narażenia na szkodliwe substancje, hałas, promieniowanie, pyły lub wykonywanie powtarzalnych czynności. Przykładem chorób zawodowych są pylica płuc, głuchota zawodowa czy zespół cieśni nadgarstka. Kluczowym elementem w zapobieganiu chorobom zawodowym jest odpowiednia profilaktyka, szkolenia BHP oraz dostosowanie środowiska pracy do zasad ergonomii. Pracodawcy są zobowiązani do monitorowania warunków pracy i wdrażania rozwiązań minimalizujących ryzyko wystąpienia chorób zawodowych.

Pytanie 37

Jakie informacje zawiera zestaw instrukcji (ISA) danego procesora?

A. Typy danych, które są trzymane w pamięci
B. Układ połączeń między procesorem a innymi elementami
C. Instrukcje, które procesor jest w stanie wykonać
D. Metodę obsługi pamięci podręcznej
Rodzaje danych, które są trzymane w pamięci, nie są bezpośrednio powiązane z zestawem instrukcji procesora. ISA skupia się bardziej na tym, co procesor może zrobić, a nie na tym, jak dane są zorganizowane w pamięci. Przechowywanie danych to bardziej kwestia zarządzania pamięcią, a nie samej architektury instrukcji. A jeśli chodzi o pamięć podręczną, to już całkiem inna sprawa, bo to dotyczy tego, jak przechowujemy i uzyskujemy dostęp do danych. W tym przypadku mówi się o algorytmach i strategiach, które działają w architekturze procesora, ale nie są częścią zestawu instrukcji. I jeszcze schemat połączeń między procesorem a innymi częściami komputera też nie wchodzi w skład ISA. To już dotyczy całej architektury systemu i tego, jak różne elementy, jak pamięć czy urządzenia wejścia/wyjścia, współpracują ze sobą. Wszystko to jest istotne dla działania systemu komputerowego, ale nie definiuje zestawu instrukcji, który jest kluczowy, żeby procesor mógł przetwarzać dane i robić obliczenia.

Pytanie 38

Która z metod zarządzania projektami jest najbardziej odpowiednia, gdy w początkowej fazie projektu zakres nie jest w pełni określony, wymagania mogą zmieniać się podczas realizacji, a także mogą wystąpić nowe potrzeby?

A. Agile
B. Model kaskadowy
C. Model V
D. PRINCE2
Metodyka Agile jest najbardziej optymalna w przypadku niejasnych wymagań na początku projektu. Agile pozwala na iteracyjne wprowadzanie zmian, dostosowując się do nowych wymagań w trakcie trwania projektu. Jest to elastyczne podejście, które sprzyja szybkiemu reagowaniu na potrzeby klienta.

Pytanie 39

Które z wymienionych praw autorskich nie wygasa po pewnym czasie?

A. Prawa pokrewne
B. Autorskie prawa majątkowe
C. Autorskie prawa osobiste
D. Licencje wolnego oprogramowania
Autorskie prawa majątkowe wygasają zazwyczaj po 70 latach od śmierci autora, co oznacza, że po tym czasie utwory przechodzą do domeny publicznej. Prawa pokrewne, które dotyczą m.in. artystów wykonawców i producentów fonogramów, mają ograniczony czas trwania (zwykle 50 lat od publikacji). Licencje wolnego oprogramowania, takie jak GNU GPL, również podlegają określonym warunkom czasowym i mogą wygasnąć lub zostać zmienione, jeśli autor zdecyduje się na aktualizację licencji.

Pytanie 40

Jaką nazwę kontrolki powinno się umieścić w początkowej linii kodu, w miejscu <???, aby została ona wyświetlona w podany sposób?

Ilustracja do pytania
A. Switch
B. RatinoBar
C. Spinner
D. SeekBar
Switch to kontrolka używana w Androidzie do stworzenia elementu interfejsu użytkownika, który pozwala użytkownikowi przełączać się między dwoma stanami. Domyślnie stany te są identyfikowane jako włączone i wyłączone, co jest szczególnie przydatne w przypadku funkcji wymagających prostego wyboru binarnego, jak na przykład włączanie lub wyłączanie ustawień. Kod XML użyty w pytaniu zawiera atrybuty android:textOff i android:textOn, które są typowe dla klasy Switch i pozwalają zdefiniować tekst, jaki ma być wyświetlany w stanie wyłączonym i włączonym. W praktyce Switch jest często stosowany w aplikacjach mobilnych do kontroli ustawień użytkownika, co pozwala na łatwą i intuicyjną obsługę. Dobrymi praktykami jest używanie Switch w kontekście jednoznacznego wyboru, aby nie wprowadzać użytkownika w błąd. Warto również zadbać o dostępność i odpowiednie etykietowanie kontrolki, co zapewnia jej zrozumiałość dla wszystkich użytkowników.