Wyniki egzaminu

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

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

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

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

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

Pytanie 2

Jaką rolę odgrywa destruktor w definicji klasy?

A. Realizuje testy jednostkowe klasy
B. Usuwa instancje i zwalnia pamięć
C. Ustawia wartości pól klasy
D. Generuje nowe instancje klasy
Destruktor to specjalna metoda klasy, która jest automatycznie wywoływana w momencie, gdy obiekt przestaje być używany. Jego zadaniem jest zwalnianie zasobów, takich jak pamięć dynamiczna, uchwyty do plików lub połączenia sieciowe. Destruktor ma tę samą nazwę co klasa, poprzedzoną symbolem `~` w C++ (`~Samochod()`). Destruktor zapobiega wyciekom pamięci i zapewnia, że wszystkie zasoby są poprawnie zwalniane po zakończeniu pracy obiektu. Jest to kluczowy element zarządzania cyklem życia obiektu w językach takich jak C++.

Pytanie 3

W przedstawionej ramce znajduje się fragment opisu metody compile języka Java wykorzystywanej w kontekście wyrażeń regularnych. Który symbol powinien być użyty, aby znaleźć dopasowanie na końcu tekstu?

Ilustracja do pytania
A. |
B. $
C. .
D. ^
Znak dolara $ w wyrażeniach regularnych w języku Java jest używany do oznaczenia końca ciągu znaków. Jeśli chcemy sprawdzić, czy konkretny wzorzec występuje na końcu danego tekstu, używamy właśnie tego metaznaku. Przykładowo, wyrażenie regularne World$ dopasuje tekst, w którym słowo World pojawia się na samym końcu. Jest to przydatne w wielu scenariuszach, takich jak walidacja struktury tekstu czy filtrowanie logów, gdzie ważna jest pozycja występowania wzorca. Konwencja ta jest zgodna z ogólnymi standardami regex, co czyni ją intuicyjną i uniwersalną w zastosowaniu. Dolar pełni kluczową rolę w automatyzacji procesów w przetwarzaniu tekstu, umożliwiając efektywne dopasowywanie końcowych wzorców w aplikacjach Java. Użycie $ jest zgodne z dobrymi praktykami kodowania, szczególnie w kontekście walidacji danych wejściowych, gdzie określenie końca ciągu jest często wymagane. Jest to także popularne w analizie danych, gdzie dane muszą spełniać określone kryteria co do ich zakończenia, takie jak rozszerzenia plików czy określone etykiety tekstowe.

Pytanie 4

W zestawieniu przedstawiono doświadczenie zawodowe członków zespołu IT. Osobą odpowiedzialną za stworzenie aplikacji front-end powinna być:

Ilustracja do pytania
A. Patryk
B. Krzysztof
C. Anna
D. Ewa
Do zbudowania aplikacji front-end najlepiej przydzielić Krzysztofa, który posiada największe doświadczenie w tej dziedzinie. Tworzenie interfejsu użytkownika wymaga znajomości technologii front-endowych, takich jak HTML, CSS i JavaScript, a także frameworków takich jak React czy Angular. Wykwalifikowany programista front-endowy zapewnia, że aplikacja będzie responsywna, intuicyjna i dostosowana do różnych urządzeń.

Pytanie 5

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= "0, 0, 0, 0"
Android= "0, 20, 0, 0"
WinPhone= "0, 0, 0, 0"
B. x:TypeArguments="Thickness"
iOS= 20
C. x:TypeArguments="Thickness"
(0, 20, 0, 0)
D. x:TypeArguments="Thickness"
iOS= "0, 20, 0, 0"
Android= "0, 0, 0, 0"
WinPhone= "0, 0, 0, 0"
Odpowiedź czwarta jest prawidłowa, ponieważ prawidłowo wykorzystuje mechanizm OnPlatform w XAML do zastosowania specyficznych ustawień dla różnych platform. W przypadku iOS zastosowano margines górny wynoszący 20 jednostek, co jest konieczne, aby uwzględnić przestrzeń zajmowaną przez status bar systemowy. Takie podejście jest zgodne z dobrymi praktykami projektowania aplikacji wieloplatformowych, gdzie różne platformy mogą wymagać różnych ustawień interfejsu użytkownika. Przykładowo, w aplikacjach tworzonych przy użyciu Xamarin.Forms, korzystanie z OnPlatform pozwala na dynamiczne dostosowywanie interfejsu w zależności od platformy, co zwiększa elastyczność i poprawia doświadczenie użytkownika. Dodatkowo, zastosowanie marginesów tylko dla platformy iOS pozwala na zachowanie spójności i pełną kontrolę nad wyglądem aplikacji na innych platformach takich jak Android czy Windows Phone, gdzie takie dostosowanie nie jest konieczne. Uwzględnienie tych różnic jest kluczowe dla tworzenia aplikacji, które wyglądają i działają dobrze na wszystkich docelowych urządzeniach.

Pytanie 6

Wykorzystując React.js oraz Angular, stworzono funkcjonalnie równoważne kody źródłowe. Aby móc w metodzie handleSubmit pokazać zawartość kontrolki input w miejscu oznaczonym ???, należy odwołać się do atrybutu o nazwie

Ilustracja do pytania
A. nazwa1
B. nazwa3
C. nazwa2
D. nazwa4
Aby wyświetlić zawartość kontrolki input w metodzie handleSubmit, należy odwołać się do atrybutu nazwa1. W React.js przypisanie referencji do elementu za pomocą ref lub state umożliwia dostęp do wartości tego elementu.

Pytanie 7

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

Ilustracja do pytania
A. liczby z przedziału od 0 do 100
B. liczby parzyste z przedziału od 0 do 100
C. suma liczb z przedziału od 0 do 100
D. suma liczb parzystych 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 8

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

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

Pytanie 9

Podana deklaracja zmiennych w języku JAVA zawiera

Ilustracja do pytania
A. dwie zmienne typu tekstowego, dwie całkowite oraz jedną logiczną
B. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
C. jedną zmienną typu tekstowego, dwie całkowite, jedną znakową i jedną logiczną
D. dwie zmienne o typie strukturalnym
Deklaracja dwóch zmiennych typu napisowego lub strukturalnego nie odpowiada analizowanemu kodowi, ponieważ liczba i typy zmiennych są inne. Pominięcie zmiennej logicznej lub znakowej prowadzi do błędnej interpretacji deklaracji zmiennych w kodzie.

Pytanie 10

Który komponent systemu komputerowego zajmuje się transferem danych pomiędzy procesorem a pamięcią RAM?

A. Zasilacz
B. Mostek północny (Northbridge)
C. Karta graficzna
D. Kontroler DMA
Mostek północny, znany również jako Northbridge, jest kluczowym elementem architektury komputerowej, który odpowiada za komunikację pomiędzy procesorem a pamięcią RAM. Jego głównym zadaniem jest koordynowanie przepływu danych w systemie oraz zapewnienie szybkiego dostępu do pamięci, co jest niezbędne dla wydajności całego systemu. Mostek północny jest odpowiedzialny za zarządzanie magistralami danych, a także interfejsami, takimi jak PCI Express, które łączą różne komponenty. Dzięki zastosowaniu standardów, takich jak DDR (Double Data Rate), mostek północny umożliwia efektywne przesyłanie danych w wysokiej prędkości. Praktycznym przykładem działania mostka północnego jest sytuacja, kiedy procesor potrzebuje załadować dane z pamięci RAM do rejestrów – mostek północny zarządza tym procesem, minimalizując opóźnienia i maksymalizując wydajność. W nowoczesnych systemach komputerowych mostek północny jest często zintegrowany z procesorem, co dodatkowo zwiększa efektywność komunikacji oraz zmniejsza czas dostępu do danych.

Pytanie 11

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

A. Zmienna przechowująca wartość logiczną
B. Typ danych do zapisywania tekstów
C. Zmienna przechowująca adres pamięci
D. Funkcja do dynamicznej alokacji pamięci
Zmienne przechowujące wartości logiczne to typ bool (np. true/false) i nie mają związku z wskaźnikami. Funkcje dynamicznie alokujące pamięć, takie jak malloc(), zwracają adresy, ale same nie są wskaźnikami. Typ danych do przechowywania tekstów w C to tablica znaków (char[]) lub wskaźnik do char, ale to nie to samo co wskaźnik w sensie ogólnym, który może wskazywać na dowolny typ danych.

Pytanie 12

Dlaczego w wyniku działania tego kodu w języku C++ na ekranie pojawiła się wartość O zamiast 50?

Ilustracja do pytania
A. Argument funkcji został przekazany przez wartość, a nie przez referencję
B. Funkcja zwraca wartość, chociaż nie powinna jej zwracać
C. Niepoprawnie zdefiniowano działanie wewnątrz funkcji
D. Zmienna x powinna być inicjowana wartością równą 1, a nie O
W C++ funkcje standardowo dostają argumenty przez wartość, co znaczy, że dostają kopię tego, co do nich wysyłamy. W tym kodzie, jak widzisz, zmienna x idzie do funkcji oblicz jako kopia. To sprawia, że jakiekolwiek zmiany w x w tej funkcji nie mają wpływu na x w funkcji main. Dlatego po wywołaniu oblicz(x) wartość x w main zostaje taka sama. Jeśli chcesz, żeby zmiany wewnątrz funkcji były widoczne w funkcji, która ją wywołuje, to musisz użyć przekazywania przez referencję. Robisz to, dodając & w deklaracji parametru funkcji, czyli robisz to tak: void oblicz(int &x). Przekazywanie przez referencję to dobra praktyka, gdy chcesz, aby funkcja mogła zmieniać wartość argumentu. A dodatkowo jest to efektywniejsze, bo unikasz kopiowania danych, co bywa kosztowne, szczególnie przy dużych strukturach danych.

Pytanie 13

Jakie będzie działanie przedstawionych dwóch równoważnych fragmentów kodu źródłowego?

Ilustracja do pytania
A. nadany tytuł każdego elementu HTML: "Egzamin zawodowy"
B. wyświetlony na stronie tekst w akapicie: "Egzamin zawodowy"
C. wyświetlony na stronie tekst w nagłówku: "Egzamin zawodowy"
D. nadany tytuł strony: "Egzamin zawodowy"
Twój kod rzeczywiście sprawia, że w nagłówku strony pojawia się tekst 'Egzamin zawodowy' (tak jak w

). To ważne, bo nagłówki HTML są kluczowe dla struktury strony i pomagają w lepszym pozycjonowaniu treści w wyszukiwarkach. Z mojego doświadczenia, dobrze zrobiony nagłówek może znacznie poprawić czytelność strony.


Pytanie 14

Który z języków programowania jest powszechnie wykorzystywany do tworzenia aplikacji na komputery stacjonarne?

A. JavaScript
B. PHP
C. C++
D. HTML
HTML to język znaczników używany do tworzenia stron internetowych, a nie aplikacji desktopowych. Choć HTML może być wykorzystany do budowy interfejsów w aplikacjach webowych, nie oferuje bezpośredniego wsparcia dla budowy natywnych aplikacji desktopowych. PHP jest językiem skryptowym, który działa po stronie serwera i jest głównie stosowany w aplikacjach webowych – jego zastosowanie w aplikacjach desktopowych jest ograniczone. JavaScript jest językiem programowania używanym głównie w przeglądarkach internetowych i rzadko stosowanym w budowie tradycyjnych aplikacji desktopowych, z wyjątkiem technologii takich jak Electron, które pozwalają na tworzenie aplikacji wieloplatformowych w oparciu o webowe technologie.

Pytanie 15

Który z wymienionych elementów jest fundamentalny w architekturze klient-serwer?

A. Brak podziału na funkcje klienta i serwera
B. Zdalne wykonywanie aplikacji na urządzeniu klienta
C. Scentralizowane przechowywanie danych
D. Wyłącznie komunikacja synchroniczna
Zdalne wykonywanie aplikacji na urządzeniu klienta oznacza model przetwarzania lokalnego, co nie jest główną cechą architektury klient-serwer. Brak podziału na funkcje klienta i serwera narusza podstawową ideę tego modelu, który zakłada rozdzielenie ról pomiędzy te dwie jednostki. Wyłącznie komunikacja synchroniczna ogranicza elastyczność aplikacji i może prowadzić do opóźnień w przetwarzaniu danych.

Pytanie 16

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 całkowite
B. liczby rzeczywiste
C. elementy o nieokreślonym typie
D. elementy typu List
Elementy typu float lub obiekty (List) są możliwe, ale w tym przypadku wyraźnie wskazano typ int. Listy o niezdefiniowanym typie nie są możliwe, ponieważ w C# typ danych musi być określony w momencie deklaracji listy.

Pytanie 17

Która z wymienionych metod najlepiej chroni komputer przed złośliwym oprogramowaniem?

A. Właściwie zaktualizowany program antywirusowy
B. Unikanie używania publicznych sieci Wi-Fi
C. Stosowanie mocnych haseł
D. Cykliczne wykonywanie kopii zapasowych
Program antywirusowy to naprawdę istotna rzecz, jeśli chodzi o ochronę komputerów przed złośliwym oprogramowaniem. On w zasadzie non stop monitoruje nasz system i ma za zadanie wyłapywać różne wirusy, trojany, a nawet ransomware, co jest bardzo ważne. Pamiętaj, żeby regularnie aktualizować bazy wirusów, bo dzięki temu będziesz miał zabezpieczenie przed najnowszymi zagrożeniami. Warto też zauważyć, że wiele programów antywirusowych ma dodatkowe opcje, jak na przykład monitorowanie stron www, czy skanowanie e-maili i plików, które pobierasz. To wszystko razem daje lepszą ochronę.

Pytanie 18

Jakie oznaczenie posiada norma krajowa w Polsce?

A. EN
B. PN
C. IEC
D. ISO
ISO to coś międzynarodowego, a nie krajowego. EN to jakieś standardy, które obowiązują w całej Unii Europejskiej. Jeszcze IEC, to międzynarodowe normy dotyczące elektrotechniki i nie są to normy, które znajdziesz w Polsce. Polska Norma, czyli PN, to coś, co mamy tylko w naszym kraju i odnosi się tylko do polskiego systemu normalizacyjnego.

Pytanie 19

Zamieszczony kawałek kodu w języku C# tworzy hasło. Wskaż prawdziwe stwierdzenie dotyczące cech tego hasła?

Ilustracja do pytania
A. Może zawierać małe oraz wielkie litery, cyfry i znaki specjalne
B. Może zawierał małe i wielkie litery oraz cyfry
C. Ma 8 znaków lub więcej i zawiera małe oraz wielkie litery, a także cyfry
D. Ma maksymalną długość 7 znaków, co ustala zmienna i
Fragment programu w języku C# generuje hasło, które zawiera małe i wielkie litery oraz cyfry. W kodzie widzimy, że zmienna pulaZnakow zawiera wszystkie małe litery alfabetu, wszystkie wielkie litery oraz cyfry od 0 do 9. Zmienna dlPuli przechowuje długość ciągu znaków, co umożliwia losowe wybieranie znaków z pełnego zakresu dostępnych znaków. W pętli for odbywa się iteracja 8 razy, co oznacza, że każde generowane hasło ma długość 8 znaków. Każdy znak jest losowo wybierany z puli, co zapewnia różnorodność i brak uprzedzeń w doborze znaków. Warto również zwrócić uwagę na praktyczne użycie klasy Random, która jest standardem w przypadkowej generacji danych w C#. Takie podejście jest zgodne z najlepszymi praktykami, gdzie hasła powinny mieć różnorodne znaki, co zwiększa ich siłę i trudność złamania. Dobrym pomysłem jest również dodanie symboli specjalnych dla jeszcze większego bezpieczeństwa, co można łatwo zaimplementować modyfikując pule dostępnych znaków.

Pytanie 20

Które z wymienionych opcji wspiera osoby niewidome w korzystaniu z witryn internetowych?

A. Zmiana rozdzielczości ekranu
B. Ograniczenie liczby grafik na stronie
C. Implementacja czytnika ekranu (screen reader)
D. Umożliwienie modyfikacji czcionki
Dodanie czytnika ekranu (screen reader) jest kluczowym rozwiązaniem, które znacząco ułatwia osobom niewidomym i słabowidzącym korzystanie z serwisów internetowych. Czytniki ekranu to oprogramowanie przekształcające tekst na stronie internetowej na mowę, co pozwala użytkownikom na interakcję z treścią dostępną w internecie. Technologia ta opiera się na standardach dostępności, takich jak WCAG (Web Content Accessibility Guidelines), które zalecają projektowanie stron przyjaznych dla osób z różnymi niepełnosprawnościami. Przykładem działania czytnika ekranu może być program JAWS, który umożliwia użytkownikom nawigację po stronach internetowych poprzez komendy klawiaturowe oraz odczytywanie treści na głos. Dzięki czytnikom ekranu, osoby niewidome mają możliwość dostępu do informacji, komunikacji oraz interakcji w sieci, co wpisuje się w ideę cyfrowej inkluzji i równości szans. Wprowadzenie czytnika ekranu na stronie internetowej to nie tylko techniczne wsparcie, ale również wyraz odpowiedzialności społecznej, mający na celu zapewnienie, że wszyscy użytkownicy mają równe prawo do korzystania z zasobów w sieci.

Pytanie 21

Jaki typ testów ocenia funkcjonalność aplikacji z punktu widzenia użytkownika końcowego?

A. Testy funkcjonalne
B. Testy obciążeniowe
C. Testy użyteczności
D. Testy zgodności
Testy obciążeniowe skupiają się na sprawdzaniu, jak aplikacja działa pod dużym ruchem lub obciążeniem, co pozwala ocenić jej wydajność, ale nie dotyczy to bezpośrednio doświadczeń użytkownika. Testy funkcjonalne mają na celu sprawdzenie, czy poszczególne funkcje aplikacji działają zgodnie z założeniami, ale nie badają wygody użytkowania. Testy zgodności natomiast weryfikują, czy aplikacja spełnia określone normy i standardy, co ma niewiele wspólnego z oceną użyteczności aplikacji przez użytkownika końcowego.

Pytanie 22

Z analizy złożoności obliczeniowej algorytmów sortowania dla dużych zbiorów danych (powyżej 100 elementów) wynika, że najefektywniejszą metodą jest algorytm sortowania:

Ilustracja do pytania
A. bąbelkowego
B. przez zliczanie
C. przez scalanie
D. kubełkowego
Sortowanie przez zliczanie (Counting Sort) to jeden z najszybszych algorytmów sortowania dla dużych zbiorów danych, jeśli zakres wartości jest ograniczony. Algorytm działa w czasie O(n+k), gdzie n to liczba elementów, a k to zakres wartości. Jest to algorytm stabilny, co oznacza, że zachowuje kolejność elementów o tej samej wartości. Counting Sort jest szczególnie efektywny w przypadku danych numerycznych o ograniczonym przedziale wartości, co czyni go idealnym rozwiązaniem do sortowania dużych zbiorów danych w krótkim czasie.

Pytanie 23

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

A. interfejsy
B. pola
C. metody
D. funkcje
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 24

Jak nazywa się wzorzec projektowy, do którego odnosi się ta definicja?

Ilustracja do pytania
A. Kompozyt
B. Prototyp
C. Dekorator
D. Fasada
Wzorzec projektowy Fasada jest jednym z kluczowych wzorców strukturalnych używanych w inżynierii oprogramowania. Jego głównym celem jest uproszczenie i ujednolicenie interakcji z złożonym systemem poprzez wystawienie uproszczonego i uporządkowanego interfejsu programistycznego. Fasada ukrywa złożoność systemu, zapewniając jednolity punkt dostępu do zestawu funkcji lub klas. W praktyce fasada jest używana do tworzenia prostych interfejsów dla bardziej złożonych bibliotek lub systemów, co ułatwia ich użycie przez programistów. Na przykład w systemie bankowym fasada może zintegrować różne usługi jak autoryzacja płatności, zarządzanie kontami i generowanie wyciągów, oferując jeden interfejs do ich obsługi. Fasada wspiera dobre praktyki poprzez promowanie niskiej zależności i wysokiej spójności. Zmiany w wewnętrznym działaniu systemu są mniej widoczne na zewnątrz, co zwiększa elastyczność systemu. Fasada jest zgodna z zasadą projektowania SOLID, zwłaszcza z zasadą pojedynczej odpowiedzialności, umożliwiając lepsze zarządzanie kodem i jego utrzymanie. Jej użycie jest powszechne w systemach złożonych, gdzie upraszczanie interfejsów jest kluczowe dla efektywności programistycznej i skalowalności systemu.

Pytanie 25

Programem służącym do monitorowania błędów oraz organizacji projektów jest:

A. Jira
B. Git
C. Bugzilla
D. Jasmine
Jira to świetne narzędzie, które pomaga w śledzeniu błędów i zarządzaniu projektami. Dzięki niemu można łatwo prowadzić dokumentację i organizować zadania w zespole. Dlatego wiele zespołów IT wybiera właśnie to rozwiązanie, bo ułatwia pracę i poprawia komunikację.

Pytanie 26

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:8000 (React) lub localhost:49887 (Angular)
B. localhost:8080 (React) lub localhost:8000 (Angular)
C. localhost:3000 (React) lub localhost:4200 (Angular)
D. localhost:5001 (React) lub localhost:8080 (Angular)
Domyślne porty dla aplikacji tworzonych w React to localhost:3000, a dla Angular to localhost:4200. Te ustawienia pozwalają na szybkie uruchomienie aplikacji na lokalnym serwerze podczas fazy deweloperskiej. React i Angular to popularne technologie do budowy nowoczesnych aplikacji webowych, a korzystanie z domyślnych portów upraszcza proces testowania i wdrażania.

Pytanie 27

Ile kilobajtów (KB) znajduje się w jednym megabajcie (MB)?

A. 1000
B. 10
C. 100
D. 1024
W informatyce jednostki pamięci są często używane do określenia pojemności danych. 1 megabajt (MB) równa się 1024 kilobajtom (KB) w systemie binarnym, który jest podstawowym systemem liczbowym używanym w komputerach. Wynika to z faktu, że komputery operują w systemie binarnym, gdzie wartości są potęgami liczby 2. Z definicji, 1 MB to 2 do potęgi 20 bajtów, co daje 1048576 bajtów. Kiedy dzielimy tę wartość przez 1024, otrzymujemy 1024 kilobajty. W praktyce, ta konwersja jest niezwykle istotna w kontekście zarządzania pamięcią oraz określania rozmiarów plików. Na przykład, przy pobieraniu plików z internetu, znając tę konwersję, można lepiej oszacować czas pobierania oraz zarządzanie przestrzenią dyskową. Warto również zauważyć, że niektóre systemy operacyjne i producenci sprzętu używają systemu dziesiętnego, w którym 1 MB to 1000 KB, co prowadzi do nieporozumień. Dlatego znajomość różnic między systemami binarnym i dziesiętnym jest kluczowa dla zrozumienia pojemności pamięci komputerowej i odpowiednich jednostek.

Pytanie 28

Który z wymienionych typów stanowi przykład typu znakowego?

A. float
B. char
C. boolean
D. string
Typ 'char' to przykład typu znakowego, który przechowuje pojedynczy znak (litera, cyfra, symbol). W językach takich jak C++, Java czy C, typ 'char' zajmuje jeden bajt pamięci i jest podstawą do obsługi operacji tekstowych oraz przetwarzania danych wejściowych. Typy znakowe są często wykorzystywane do manipulacji łańcuchami tekstowymi, przechowywania kodów ASCII i pracy z danymi wejściowymi. Znaki są podstawowym elementem budowy tekstów i mogą być łączone w tablice (ciągi znaków) lub przetwarzane indywidualnie.

Pytanie 29

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

A. Zarządzanie ruchem sieciowym i blokowanie nieautoryzowanego dostępu
B. Ochrona danych na poziomie aplikacji internetowych
C. Zapobieganie wyciekom informacji na skutek awarii systemu
D. Szyfrowanie danych przesyłanych w sieci
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 30

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

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

Pytanie 31

Które z wymienionych stanowi przykład struktury dziedziczenia?

A. Klasa Samochód ma dziedziczenie od klasy Pojazd
B. Klasa Pojazd nie dziedziczy z żadnej klasy
C. Klasa Pojazd ma dziedziczenie od klasy Samochód
D. Klasa Samochód i Pojazd nie są ze sobą powiązane
Hierarchia dziedziczenia to struktura klas, w której klasa pochodna dziedziczy właściwości i metody klasy bazowej. Klasa 'Samochód' dziedzicząca po klasie 'Pojazd' jest przykładem prawidłowej hierarchii dziedziczenia – klasa 'Samochód' rozszerza klasę 'Pojazd', dziedzicząc ogólne właściwości pojazdu, takie jak prędkość czy typ silnika. Dziedziczenie umożliwia rozszerzanie istniejącej funkcjonalności bez konieczności przepisywania tego samego kodu, co jest jednym z fundamentów programowania obiektowego.

Pytanie 32

W standardzie dokumentacji testów oprogramowania IEEE 829-1998 opisany jest dokument, który zawiera dane o tym, jakie przypadki testowe były wykorzystane, przez kogo i czy zakończyły się sukcesem. Co to jest?

A. Plan Testów
B. Specyfikacja Procedury Testowej
C. Raport Podsumowujący Testy
D. Dziennik Testów
Test Log to dokument, który rejestruje wszystkie przeprowadzone przypadki testowe, informacje o ich wykonaniu oraz wyniki. Umożliwia śledzenie przebiegu testów i analizę ich efektywności. Jest to kluczowy element dokumentacji testowej, który pozwala zidentyfikować powtarzające się błędy oraz ocenę jakości kodu na podstawie przeszłych wyników.

Pytanie 33

W programie desktopowym stworzono rozwijaną listę oraz przypisano cztery funkcje do obsługi zdarzeń tej kontrolki. Jaki komunikat pojawi się po dokonaniu wyboru w tej liście?

Ilustracja do pytania
A. Zdarzenie 3
B. Zdarzenie 1
C. Zdarzenie 2
D. Zdarzenie 4
W momencie wyboru elementu z listy rozwijanej zostanie wyświetlone 'Zdarzenie 1', co wskazuje na przypisanie odpowiedniej funkcji obsługującej interakcję użytkownika z kontrolką.

Pytanie 34

Jakie są różnice między kompilatorem a interpretem?

A. Kompilator przekształca kod źródłowy na język maszynowy przed uruchomieniem aplikacji
B. Interpreter tworzy plik wykonywalny, który funkcjonuje niezależnie od otoczenia
C. Interpreter konwertuje kod źródłowy na język maszynowy przed jego kompilacją
D. Kompilator przetwarza kod na język maszynowy w momencie jego wykonywania
Kompilator zamienia kod źródłowy na język maszynowy zanim program się uruchomi. W efekcie dostajemy plik wykonywalny, taki jak .exe w Windowsie. To fajne, bo po skompilowaniu aplikacja działa samodzielnie i nie potrzeba jej tłumaczyć od nowa. Dzięki temu programy, które są skompilowane, są zazwyczaj dużo szybsze i lepiej zoptymalizowane niż te, które są interpretowane. Warto wiedzieć, że kompilatory są wykorzystywane w językach takich jak C, C++ czy Java. Kompilacja ma też tę zaletę, że można wykrywać błędy jeszcze przed uruchomieniem programu, co jest naprawdę przydatne.

Pytanie 35

Początkowym celem środowisk IDE takich jak: lntellij IDEA, Eclipse, NetBeans jest programowanie w języku

A. Python
B. Java
C. C++
D. C#
Środowiska IDE, takie jak IntelliJ IDEA, Eclipse oraz NetBeans, zostały zaprojektowane z myślą o programowaniu w języku Java, który jest jednym z najpopularniejszych języków programowania na świecie. Te zintegrowane środowiska deweloperskie oferują szereg narzędzi i funkcji, które znacznie ułatwiają proces tworzenia aplikacji w Java. Przykładowo, IntelliJ IDEA, stworzony przez firmę JetBrains, dostarcza wsparcie dla automatycznego uzupełniania kodu, refaktoryzacji oraz analizy statycznej, co przyspiesza cykl rozwoju oprogramowania. Eclipse, będący otwartym oprogramowaniem, umożliwia rozszerzanie swoich funkcji poprzez wtyczki, co czyni go elastycznym narzędziem dla programistów. NetBeans, z kolei, zapewnia łatwe w użyciu interfejsy oraz wsparcie dla wielu technologii związanych z Java, takich jak JavaFX czy Java EE, co czyni go idealnym wyborem dla rozwoju aplikacji webowych i desktopowych. Zgodnie z przyjętymi standardami w branży, Java jest językiem obiektowym, który charakteryzuje się wysoką przenośnością oraz bezpieczeństwem, co czyni go atrakcyjnym wyborem dla wielu projektów komercyjnych oraz edukacyjnych.

Pytanie 36

Gdzie są przechowywane informacje w sytuacji korzystania z chmury obliczeniowej?

A. Na zdalnych serwerach dostawcy usług
B. Na lokalnym serwerze użytkownika
C. Na nośnikach optycznych użytkownika
D. Na dysku twardym użytkownika
Dane w chmurze obliczeniowej są przechowywane przede wszystkim na zdalnych serwerach dostawcy usług chmurowych. Tego rodzaju przechowywanie danych ma na celu zapewnienie wysokiej dostępności, skalowalności oraz bezpieczeństwa. Dostawcy usług chmurowych, tacy jak Amazon Web Services, Microsoft Azure czy Google Cloud Platform, inwestują w infrastrukturę, która obejmuje centra danych rozmieszczone na całym świecie. Te centra danych są wyposażone w zaawansowane systemy zabezpieczeń, takie jak firewall'e, szyfrowanie danych i systemy detekcji intruzów. Dzięki temu użytkownicy mogą mieć pewność, że ich dane są bezpieczne. Dodatkowo, zdalne serwery oferują elastyczność w zakresie przydzielania zasobów obliczeniowych, co pozwala na dynamiczne reagowanie na zmieniające się potrzeby biznesowe. Warto również wspomnieć o standardach bezpieczeństwa, takich jak ISO 27001 czy SOC 2, które regulują sposób przechowywania i zarządzania danymi w chmurze, zapewniając zgodność z najlepszymi praktykami branżowymi.

Pytanie 37

Który z poniższych procesów jest wyłącznie związany z kompilowaniem kodu?

A. Real-time translation of instructions
B. Detection of logical errors during program execution
C. Generating an executable file
D. Executing code step by step
Tłumaczenie instrukcji w czasie rzeczywistym to coś, co robi interpreter, a nie kompilator. Jeśli chodzi o błędy logiczne, to są one wykrywane podczas debugowania albo testów – nie podczas samego wykonywania kodu. Debugger zajmuje się wykonywaniem kodu krok po kroku, a kompilacja to coś zupełnie innego, bo nie dzieje się na żywo. Kompilacja przetwarza kod przed jego uruchomieniem, co różni ją od interpretacji. Takie podejście ma swoje plusy i minusy, ale na pewno warto je znać.

Pytanie 38

Zaprezentowany diagram ilustruje wyniki przeprowadzonych testów:

Ilustracja do pytania
A. funkcjonalności
B. wydajnościowych
C. użyteczności
D. ochrony
Wykres obrazuje wyniki testów wydajnościowych, które pokazują, jak system lub aplikacja radzi sobie pod dużym obciążeniem. Testy te pomagają zidentyfikować wąskie gardła i umożliwiają optymalizację wydajności.

Pytanie 39

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

A. kifoza
B. dyskopatia
C. zespół suchego oka
D. zespół cieśni kanału nadgarstka
Zespół cieśni kanału nadgarstka to schorzenie występujące często u programistów i innych osób pracujących przy komputerze. Objawia się bólem, mrowieniem i drętwieniem palców, co wynika z ucisku nerwu pośrodkowego w nadgarstku. Długotrwałe korzystanie z klawiatury i myszy bez ergonomicznych przerw może prowadzić do tego schorzenia. Profilaktyka obejmuje ćwiczenia rozciągające, stosowanie ergonomicznych urządzeń oraz regularne przerwy w pracy.

Pytanie 40

Które z wymienionych oznaczeń wskazuje na liniową złożoność algorytmu?

A. O(n2)
B. O(log n)
C. O(1)
D. O(n)
O(1) oznacza stałą złożoność czasową, co oznacza, że algorytm wykonuje tę samą liczbę operacji niezależnie od rozmiaru danych wejściowych – jest to typowe dla operacji na haszmapach lub tablicach asocjacyjnych. O(n²) oznacza kwadratową złożoność algorytmu, gdzie liczba operacji rośnie proporcjonalnie do kwadratu liczby elementów – jest to charakterystyczne dla algorytmów takich jak Bubble Sort czy Insertion Sort. O(log n) wskazuje na logarytmiczną złożoność i jest typowe dla algorytmów wyszukiwania binarnego (Binary Search) i niektórych algorytmów operujących na drzewach.