Wyniki egzaminu

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

Egzamin zdany!

Wynik: 36/40 punktów (90,0%)

Wymagane minimum: 20 punktów (50%)

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

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

A. Nie ma możliwości dodawania nowych metod
B. Nie może być zastosowana w strukturze dziedziczenia
C. Dziedziczy atrybuty i metody z klasy bazowej
D. Jest automatycznie usuwana po zakończeniu działania programu
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 2

Który z warunków logicznych weryfikuje, czy zmienna całkowita x jest dodatnią liczbą składającą się z dwóch cyfr i jest podzielna przez 4?

A. (x > 0 && x < 100) || (x / 4 == 0)
B. (x > 9 && x < 100) && (x % 4 == 0)
C. (x > 9 || x < 100) && (x / 4 == 0)
D. (x > 9 && x < 100) || (x % 4 == 0)
Warunek z operatorem || (lub) nie zapewnia dokładnej kontroli zakresu i podzielności, co prowadzi do nieprawidłowych wyników. Operacje dzielenia, np. (x / 4 == 0), zamiast operatora modulo, są błędne, ponieważ wynik dzielenia całkowitego nie wykrywa reszty. Sprawdzenie wyłącznie zakresu, bez uwzględnienia podzielności, nie spełnia warunku zadania.

Pytanie 3

Zaprezentowany diagram Gantta odnosi się do projektu IT. Przy założeniu, że każdy członek zespołu dysponuje wystarczającymi umiejętnościami do realizacji każdego z zadań oraz że do każdego zadania można przypisać jedynie jedną osobę, która poświęci na zadanie pełny dzień pracy, to minimalna liczba członków zespołu powinna wynosić:

Ilustracja do pytania
A. 1 osobę
B. 5 osób
C. 2 osoby
D. 4 osoby
Diagram Gantta przedstawia harmonogram projektu, gdzie poszczególne zadania są przypisane do konkretnych dni. W sytuacji, gdy każdy członek zespołu jest w stanie wykonać dowolne zadanie, minimalna liczba osób potrzebna do realizacji projektu to liczba równoczesnych zadań w najbardziej wymagającym momencie. Kluczowe jest tu równomierne rozłożenie pracy i unikanie przestojów, co zapewnia efektywne wykorzystanie zasobów.

Pytanie 4

Cytat przedstawia charakterystykę metodyki RAD. Pełne znaczenie tego skrótu można przetłumaczyć na język polski jako:

Ilustracja do pytania
A. prototypowanie wsparte testami jednostkowymi
B. zintegrowane środowisko programistyczne
C. środowisko refaktoryzacji aplikacji
D. środowisko szybkiego rozwoju aplikacji
Refaktoryzacja aplikacji to proces poprawy struktury kodu bez zmiany jego funkcjonalności. Zintegrowane środowiska programistyczne (IDE) to narzędzia do tworzenia kodu, ale nie są tożsamy z metodologią RAD. Prototypowanie wsparte testami jednostkowymi to podejście pokrewne, ale nie oddaje istoty RAD, który stawia na szybkie iteracje.

Pytanie 5

Które urządzenie komputerowe jest najbardziej odpowiednie do graficznego projektowania w aplikacjach CAD?

A. Serwer dysponujący dużą ilością pamięci RAM
B. Laptop z zintegrowanym układem graficznym
C. Komputer stacjonarny z kartą graficzną NVIDIA Quadro
D. Laptop z interfejsem dotykowym
W kontekście projektowania graficznego w programach typu CAD, kluczowym elementem jest wybór odpowiedniego sprzętu, który zapewni nie tylko stabilność, ale także wydajność. Komputer stacjonarny wyposażony w kartę graficzną NVIDIA Quadro jest najlepszym rozwiązaniem, ponieważ te karty są specjalnie zaprojektowane do obsługi złożonych obliczeń i renderowania grafiki 3D. Dzięki zaawansowanej architekturze oraz optymalizacji pod kątem aplikacji inżynieryjnych i projektowych, karty NVIDIA Quadro oferują znacznie wyższą wydajność w porównaniu do standardowych kart graficznych. Dodatkowo, stacjonarne komputery pozwalają na łatwiejszą rozbudowę, co może być kluczowe w przypadku rosnących wymagań projektowych. W praktyce, użytkownicy CAD często muszą radzić sobie z dużymi i złożonymi modelami, które wymagają nie tylko odpowiedniej mocy obliczeniowej, ale także dużej ilości pamięci wideo, co zapewnia NVIDIA Quadro. Warto dodać, że standardy branżowe, takie jak OpenGL i DirectX, są w pełni wspierane przez te karty, co przekłada się na ich niezawodność i efektywność w profesjonalnym środowisku projektowym.

Pytanie 6

Która z poniższych struktur danych jest najbardziej odpowiednia do przechowywania unikalnych elementów?

A. Sekwencja
B. Zbiór (Set)
C. Kolejka priorytetowa
D. Tablica
Zbiór, czyli Set, to taki specjalny rodzaj struktury danych, który trzyma tylko unikalne elementy. To znaczy, że nie znajdziesz tam powtórzeń – jak masz listę użytkowników czy tagów, to świetnie, bo zbiór to idealnie rozwiązuje. Jest przy tym bardzo szybki w operacjach jak dodawanie, usuwanie czy wyszukiwanie. To dlatego zbory są używane w różnych algorytmach, zwłaszcza gdy chodzi o przetwarzanie dużych ilości danych i zarządzanie unikalnymi zasobami. Fajna sprawa, nie?

Pytanie 7

W systemie RGB kolor Pale Green przedstawia się jako RGB(152, 251, 152). Jaki jest szesnastkowy kod tego koloru?

A. AO FB AO
B. 98 FE98
C. AO FE AO
D. 98FB98
Kolor Pale Green w systemie RGB jest reprezentowany przez wartości RGB(152, 251, 152). Aby przekształcić te wartości na format szesnastkowy, należy każdy z komponentów koloru (czerwony, zielony, niebieski) przekształcić na format heksadecymalny. Wartość 152 w systemie dziesiętnym odpowiada 98 w systemie szesnastkowym, a 251 w systemie dziesiętnym odpowiada FE w systemie szesnastkowym. Dlatego, łącząc te wartości w kolejności od komponentu czerwonego, zielonego, do niebieskiego, uzyskujemy kod szesnastkowy 98FE98. Kod ten może być używany w projektach graficznych oraz w CSS do definiowania kolorów tła, tekstów i innych elementów. Użycie formatu szesnastkowego w projektowaniu stron internetowych oraz w aplikacjach jest zgodne z zasadami standardu W3C dotyczącego kolorów w HTML i CSS, co zapewnia spójność wizualną i ułatwia pracę z kolorami.

Pytanie 8

Wskaż kod, który jest funkcjonalnie równy zaprezentowanemu

Ilustracja do pytania
A. Kod 4
B. Kod 2
C. Kod 1
D. Kod 3
Kod 2 jest funkcjonalnie równorzędny do przedstawionego. Zawiera te same operacje i instrukcje, co zapewnia identyczne wyniki dla tych samych danych wejściowych.

Pytanie 9

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

A. SSD SATA III, prędkość odczytu do 550 MB/s
B. HDD 5400 RPM, SATA II, 32 MB Cache
C. SSD NVMe PCIe 3.0, prędkość odczytu do 3500 MB/s
D. HDD 7200 RPM, SATA III, 64 MB Cache
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 10

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

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

Pytanie 11

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

A. O(n)
B. O(n2)
C. O(log n)
D. O(1)
Złożoność O(n) oznacza liniową zależność czasu wykonania algorytmu od rozmiaru danych wejściowych. Oznacza to, że dla każdego dodatkowego elementu algorytm wykonuje jedną dodatkową operację. Algorytmy liniowe są jednymi z najczęściej stosowanych w praktyce, ponieważ oferują dobrą równowagę między szybkością a złożonością implementacji. Przykłady algorytmów o złożoności O(n) to przeszukiwanie liniowe (Linear Search), sumowanie elementów tablicy oraz niektóre algorytmy sortowania, takie jak Counting Sort dla określonych warunków. Liniowa złożoność czyni te algorytmy bardzo efektywnymi przy przetwarzaniu dużych zbiorów danych.

Pytanie 12

Który z wymienionych elementów stanowi przykład zbiorowej ochrony?

A. Zatyczki do uszu
B. Ekran akustyczny
C. Okulary ochronne
D. Kask ochronny
Ekran akustyczny to przykład środka ochrony zbiorowej, który redukuje poziom hałasu w miejscu pracy, chroniąc większą grupę pracowników jednocześnie. Środki ochrony zbiorowej mają na celu eliminowanie zagrożeń u źródła i zabezpieczanie całego środowiska pracy, a nie pojedynczych osób. Ekrany akustyczne są często stosowane w zakładach produkcyjnych, gdzie hałas maszyn może przekraczać dopuszczalne normy. Dzięki nim można zmniejszyć poziom hałasu i poprawić komfort pracy, bez konieczności wyposażania każdego pracownika w ochronniki słuchu. Środki ochrony zbiorowej są bardziej efektywne w długoterminowej perspektywie, ponieważ zmniejszają ryzyko dla wszystkich pracowników na danym stanowisku.

Pytanie 13

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

Pytanie 14

W jakiej topologii sieciowe wszystkie urządzenia są bezpośrednio powiązane z każdym innym?

A. Topologia gwiazdy
B. Topologia pierścienia
C. Topologia magistrali
D. Topologia siatki
Topologia magistrali charakteryzuje się tym, że wszystkie urządzenia są podłączone do pojedynczego kabla, zwanym magistralą. Komunikacja w tej topologii odbywa się przez przekazywanie sygnałów wzdłuż tego kabla, co może prowadzić do kolizji, gdy wiele urządzeń próbuje jednocześnie przesyłać dane. Ograniczeniem tej topologii jest to, że awaria magistrali skutkuje brakiem komunikacji w całej sieci, co czyni ją mniej niezawodną i efektywną w porównaniu do topologii siatki. Topologia gwiazdy polega na tym, że wszystkie urządzenia są połączone z centralnym punktem, zwanym koncentratorem lub przełącznikiem. Chociaż ta topologia zapewnia łatwość w dodawaniu nowych urządzeń i umożliwia izolację awarii, nie gwarantuje pełnej redundantności, ponieważ awaria centralnego urządzenia prowadzi do przerwania komunikacji w całej sieci. Z kolei topologia pierścienia, w której każde urządzenie jest połączone z dwoma innymi, tworząc zamknięty krąg, również nie jest odpowiednia, ponieważ awaria jednego połączenia uniemożliwia komunikację w całym pierścieniu, co czyni ją mniej odporną na błędy. W porównaniu do topologii siatki, wszystkie te struktury mają swoje ograniczenia, które wpływają na ich zastosowanie w bardziej złożonych i wymagających środowiskach sieciowych.

Pytanie 15

W zaprezentowanym fragmencie kodu występuje błąd logiczny. Na czym on polega?

Ilustracja do pytania
A. niewłaściwym warunku pętli, co powoduje, że pętla nigdy się nie wykona
B. niepoprawnym użyciu funkcji cout, co skutkuje tym, że zmienna jest wczytywana w pętli
C. braku zainicjowania zmiennej x, co powoduje, że zmienna nie ma wartości początkowej
D. nieprawidłowym warunku pętli, który sprawia, że pętla jest nieskończona
Nieprawidłowy warunek pętli powoduje, że staje się ona nieskończona, co jest częstym problemem w programowaniu. W tym przypadku warunek while(x != 0 || x != 5) jest zawsze prawdziwy, ponieważ dla każdej wartości x, która nie jest jednocześnie równa 0 i 5, pętla nigdy się nie zakończy. To logiczny błąd, ponieważ zmienna x nigdy nie osiągnie stanu, w którym oba warunki będą jednocześnie fałszywe. W praktyce powinno się stosować warunki logiczne, które mogą stać się fałszywe dla jakiegoś stanu zmiennych, co pozwala pętli zakończyć działanie. Częstym wzorcem jest użycie operatora && zamiast ||, aby sprawdzić, czy zmienna osiągnęła konkretny zakres wartości. W ten sposób można zagwarantować, że program nie wejdzie w nieskończoną pętlę. Tego typu błędy są często wykrywane podczas testowania i debugowania kodu, a ich unikanie jest kluczowe w zapewnieniu poprawnego działania aplikacji. Dobre praktyki obejmują dokładne przemyślenie warunków pętli i testowanie ich w różnych scenariuszach.

Pytanie 16

Jakie korzyści płyną z użycia pseudokodu przy tworzeniu algorytmu?

A. Łatwość w zmianie kodu maszynowego
B. Zrozumiałość dla osób nieznających się na programowaniu
C. Generowanie dynamicznych struktur danych
D. Możliwość szybkie zrealizowania algorytmu w którymkolwiek języku
Szybkie wykonanie algorytmu w dowolnym języku wymaga faktycznego napisania kodu, a pseudokod jest jedynie opisem logicznym. Modyfikacja kodu maszynowego jest operacją niskopoziomową i nie ma bezpośredniego związku z pseudokodem. Tworzenie dynamicznych struktur danych to proces realizowany w językach programowania i nie jest celem samego pseudokodu – pseudokod jedynie opisuje sposób implementacji takich struktur na poziomie logicznym.

Pytanie 17

Który z wymienionych algorytmów pracujących na tablicy jednowymiarowej ma złożoność obliczeniową O(n2)?

A. Sortowanie bąbelkowe
B. Wyświetlenie elementów
C. Sortowanie szybkie
D. Wyszukiwanie metodą binarną
Sortowanie bąbelkowe to taki klasyczny algorytm, który ma złożoność O(n^2). Chociaż jest dość prosty w zrozumieniu, to nie za bardzo sprawdza się w większych zbiorach danych. Działa tak, że porównuje sąsiadujące ze sobą elementy i zamienia je miejscami, jeśli są w złej kolejności. Trochę to czasochłonne, ale warto znać ten algorytm, bo pokazuje podstawy sortowania.

Pytanie 18

Jakie znaczenie ma poziom dostępności AAA w WCAG 2.0?

A. Najnizszy poziom dostępności
B. Dostosowanie tylko do użytkowników mobilnych
C. Średni standard dostępności
D. Najwyższy poziom dostępności
Poziom dostępności AAA w WCAG 2.0 oznacza najwyższy standard dostępności, który ma na celu zapewnienie, że treści internetowe są dostępne dla wszystkich użytkowników, w tym osób z różnymi rodzajami niepełnosprawności. WCAG, czyli Wytyczne dotyczące dostępności treści internetowych, są międzynarodowym standardem, który definiuje, jak tworzyć dostępne treści. Poziom AAA obejmuje wszystkie wytyczne z poziomów A i AA oraz dodatkowe wymagania, które są bardziej rygorystyczne. Przykładem może być konieczność zapewnienia alternatywnych opisów dla wszystkich mediów, w tym dla materiałów wideo i audio, a także użycie odpowiednich kontrastów kolorystycznych. W praktyce oznacza to, że strony internetowe muszą być projektowane z myślą o właściwej nawigacji, dostępnym oprogramowaniu czytającym oraz dostosowanych formatach tekstowych, które są łatwe do przetwarzania przez osoby z różnymi ograniczeniami. Wdrożenie poziomu AAA jest wyzwaniem, ale przyczynia się do bardziej inkluzywnego środowiska online.

Pytanie 19

W jaki sposób można ograniczyć problemy społeczne wynikające z nadmiernego używania internetu?

A. Zwiększać czas spędzany przy ekranie
B. Zachować równowagę pomiędzy relacjami w sieci a tymi w rzeczywistości
C. Całkowicie wycofać się z aktywności wirtualnych
D. Unikać spotkań z ludźmi w realnym świecie
Utrzymywanie równowagi między relacjami online i offline to kluczowy element zapobiegania problemom społecznym wynikającym z nadmiernego korzystania z internetu. Przeplatanie kontaktów wirtualnych z interakcjami twarzą w twarz wzmacnia więzi społeczne i poprawia umiejętności komunikacyjne. Równowaga między życiem cyfrowym a rzeczywistym pozwala unikać izolacji społecznej i wspiera rozwój empatii oraz zdolności interpersonalnych. Jest to szczególnie ważne w kontekście młodzieży, która może być bardziej podatna na negatywne skutki nadmiernej ekspozycji na treści online.

Pytanie 20

Jakie wyrażenie logiczne powinno być użyte, aby zweryfikować, czy zmienna x zawiera wartości ujemne lub znajduje się w zakresie (10, 100)?

A. x > 10 || x < 100 || x < 0
B. (x > 10 || x < 100) && x < 0
C. (x > 10 && x < 100) || x < 0
D. x > 10 || x < 100 || x < 0
Poprawnym wyrażeniem logicznym sprawdzającym, czy zmienna x przechowuje wartości ujemne lub z przedziału (10, 100) jest (x > 10 && x < 100) || x < 0. Logika ta gwarantuje, że wartość x spełnia jeden z dwóch warunków: mieści się w przedziale lub jest ujemna.

Pytanie 21

Co należy zrobić w sytuacji silnego krwawienia z rany?

A. Przepłukać ranę wodą utlenioną i zostawić do wyschnięcia
B. Nałożyć elastyczny bandaż bez ucisku
C. Poczekać, aż krwawienie ustanie samoistnie
D. Założyć opatrunek uciskowy oraz unieść kończynę powyżej poziomu serca
Założenie opatrunku uciskowego i uniesienie kończyny powyżej poziomu serca to najskuteczniejszy sposób na zatrzymanie silnego krwotoku z rany. Opatrunek uciskowy powoduje mechaniczne zamknięcie naczyń krwionośnych, co spowalnia lub całkowicie zatrzymuje wypływ krwi. Podniesienie kończyny dodatkowo zmniejsza ciśnienie krwi w obszarze rany, co ogranicza krwawienie. Ważne jest, aby nie zdejmować opatrunku, nawet jeśli przesiąknie krwią – należy dołożyć kolejną warstwę materiału. W sytuacjach ekstremalnych, gdy opatrunek uciskowy nie zatrzymuje krwawienia, można zastosować opaskę uciskową (tzw. stazę), ale tylko w ostateczności, gdy inne metody zawiodą. Takie działania mogą zapobiec wstrząsowi krwotocznemu i uratować życie poszkodowanego.

Pytanie 22

Zamieszczony fragment kodu w Android Studio wdraża metodę nasłuchującą dla obsługi zdarzenia:

Ilustracja do pytania
A. wybierania daty
B. zmiany stanu kontrolki Switch
C. zmiany w polu tekstowym
D. naciśnięcia przycisku
Kod implementuje nasłuchiwanie zdarzenia naciśnięcia przycisku (ang. Button Click). W środowisku Android Studio jest to jedna z podstawowych metod obsługi interakcji użytkownika. Kiedy użytkownik naciśnie przycisk, wywoływana jest określona metoda, co umożliwia np. uruchomienie nowej aktywności, walidację danych lub wywołanie zapytania do bazy danych. Obsługa zdarzeń tego typu jest kluczowa w budowie responsywnych aplikacji mobilnych, zapewniając użytkownikowi płynne i intuicyjne działanie.

Pytanie 23

Który z języków programowania jest najczęściej wykorzystywany do budowania aplikacji internetowych po stronie serwera?

A. CSS
B. HTML
C. PHP
D. JavaScript
PHP to jeden z najczęściej używanych języków programowania do tworzenia aplikacji webowych po stronie serwera. Jest to język skryptowy, który umożliwia dynamiczne generowanie treści stron internetowych, zarządzanie sesjami użytkowników, obsługę formularzy oraz integrację z bazami danych. PHP napędza popularne systemy zarządzania treścią (CMS), takie jak WordPress, Joomla czy Drupal. Dzięki swojej prostocie, szerokiemu wsparciu społeczności oraz dużej liczbie gotowych bibliotek i frameworków (np. Laravel), PHP pozostaje jednym z czołowych języków backendowych. PHP pozwala również na szybkie wdrażanie aplikacji i jest kompatybilny z wieloma serwerami WWW, co czyni go uniwersalnym wyborem w budowie aplikacji webowych.

Pytanie 24

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

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

Pytanie 25

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, dwie całkowite, jedną znakową i jedną logiczną
C. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
D. dwie zmienne o typie strukturalnym
Deklaracja obejmuje jedną zmienną typu napisowego (String), dwie typu całkowitego (int), jedną znakowego (char) oraz jedną logiczną (boolean). Takie zróżnicowanie pozwala na przechowywanie różnych rodzajów danych w jednej klasie lub metodzie.

Pytanie 26

Zapisany fragment w Pythonie ilustruje:

Ilustracja do pytania
A. strukturę danych
B. tablicę asocjacyjną (słownik)
C. kolejkę (LIFO)
D. stos
Przedstawiony kod w Pythonie opisuje słownik (tablicę asocjacyjną), czyli strukturę danych przechowującą pary klucz-wartość. Słowniki są niezwykle elastyczne i efektywne, pozwalają na szybki dostęp do wartości na podstawie unikalnego klucza. Są szeroko wykorzystywane w analizie danych, przechowywaniu konfiguracji i implementacji różnorodnych algorytmów.

Pytanie 27

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

Ilustracja do pytania
A. inicjacja obiektu została błędnie zapisana
B. argumenty konstruktora powinny być przekazane podczas inicjacji obiektu
C. pole autor jest niedostępne z tego poziomu
D. brak konstruktora w definicji klasy
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 28

Którego nagłówka używamy w C++ do obsługi plików?

A.
B.
C.
D.
Nagłówek '' w języku C++ jest używany do pracy z plikami, umożliwiając odczyt i zapis danych na dysku. Biblioteka fstream udostępnia klasy 'ifstream', 'ofstream' i 'fstream', które pozwalają na operacje wejścia i wyjścia plików. 'ifstream' służy do odczytu plików, 'ofstream' do zapisu, a 'fstream' umożliwia zarówno odczyt, jak i zapis. Praca z plikami jest kluczowa w wielu aplikacjach, od prostych narzędzi do przetwarzania danych po złożone systemy zarządzania plikami i bazami danych. Dzięki 'fstream' programiści mogą efektywnie zarządzać danymi na różnych poziomach aplikacji.

Pytanie 29

Jakie jest zastosowanie języka XAML przy tworzeniu aplikacji desktopowych?

A. Do optymalizacji działania aplikacji
B. Do projektowania graficznego interfejsu użytkownika
C. Do obsługi zdarzeń klawiatury
D. Do zarządzania bazami danych
XAML (Extensible Application Markup Language) to język znaczników wykorzystywany w technologii WPF (Windows Presentation Foundation) oraz UWP (Universal Windows Platform) do projektowania graficznego interfejsu użytkownika (GUI). XAML pozwala na definiowanie układów, przycisków, etykiet oraz innych elementów interaktywnych w aplikacjach desktopowych. Dzięki XAML, projektowanie interfejsu jest intuicyjne, a kod interfejsu jest oddzielony od logiki aplikacji, co sprzyja przejrzystości projektu. XAML wspiera animacje, style i szablony, co umożliwia budowę nowoczesnych, dynamicznych aplikacji. Jego elastyczność i możliwość współpracy z C# sprawiają, że XAML jest niezastąpiony w środowisku Windows.

Pytanie 30

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

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

Pytanie 31

Z podanej definicji pola licznik można wywnioskować, iż

Ilustracja do pytania
A. pole jest związane z określoną instancją klasy i jego wartość jest unikalna tylko dla tej instancji
B. pole nie może być zmieniane w kodzie klasy
C. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy i nie może być zmieniana
D. bieżąca wartość pola jest wspólna dla wszystkich instancji klasy
Aktualna wartość pola licznik jest wspólna dla wszystkich instancji klasy, co oznacza, że jest to pole statyczne (static). Wartość takiego pola zmienia się globalnie dla całej klasy, a nie dla poszczególnych obiektów.

Pytanie 32

W C++ mechanizm programowania obiektowego, który wykorzystuje funkcje wirtualne (ang. Virtual) i umożliwia programiście pominięcie kontroli klasy pochodnej podczas wywoływania metod, nazywa się

A. dziedziczeniem
B. hermetyzacją
C. polimorfizmem
D. przeciążeniem
Polimorfizm to mechanizm w programowaniu obiektowym, który pozwala na wywoływanie metod na obiektach różnych klas przez wspólny interfejs lub klasę bazową. Dzięki temu programista może pisać bardziej elastyczny i modułowy kod, w którym konkretna implementacja metody jest wybierana w czasie działania programu. Kluczową rolę w polimorfizmie odgrywają funkcje wirtualne (virtual), które umożliwiają nadpisanie metod w klasach dziedziczących. Polimorfizm upraszcza rozbudowę aplikacji i minimalizuje potrzebę wielokrotnego pisania tego samego kodu, co jest istotne w dużych projektach programistycznych. Przykładem jest klasa Figura, która może mieć metody obliczania pola powierzchni, a klasy dziedziczące, takie jak Kolo i Kwadrat, implementują te metody w sposób specyficzny dla swojej geometrii.

Pytanie 33

Jaką instrukcję należy wykorzystać do poprawnej deklaracji zmiennej typu string w C++?

A. bool name = "Jan"
B. string name = "Jan"
C. float name = "Jan"
D. int name = "Jan"
Ta deklaracja 'string name = "Jan"' to naprawdę dobry sposób na zdefiniowanie zmiennej łańcuchowej w C++. Wiesz, 'string' to typ danych, 'name' to nazwa tej zmiennej, a 'Jan' to wartość, która jest jej przypisana. Typ 'string' jest częścią bibliotekii daje nam wiele możliwości, gdy pracujemy z tekstem. Możemy łączyć, porównywać i modyfikować różne łańcuchy znaków bez większego problemu. To jest mega ważne w aplikacjach, które mają do czynienia z danymi tekstowymi, interfejsami użytkownika czy analizą danych, które wprowadzamy.

Pytanie 34

Który z wymienionych poniżej przykładów ilustruje użycie systemu informatycznego w działalności gospodarczej?

A. System sterowania ruchem miejskim
B. System nawigacji GPS
C. System wentylacji
D. E-sklep
E-sklep, jako przykład zastosowania systemu informatycznego w działalności biznesowej, reprezentuje złożony ekosystem technologiczny, który umożliwia przedsiębiorstwom sprzedaż produktów i usług w Internecie. E-sklepy wykorzystują różnorodne technologie, takie jak systemy zarządzania treścią (CMS), bazy danych oraz systemy płatności, co pozwala na efektywne zarządzanie ofertą, realizację zamówień oraz obsługę klienta. Przykładem może być platforma Shopify, która oferuje funkcjonalności umożliwiające łatwe tworzenie i zarządzanie sklepem online. E-sklepy są zgodne z różnymi standardami, takimi jak PCI DSS, które zapewniają bezpieczeństwo transakcji płatniczych. Dzięki integracji z systemami analitycznymi, właściciele e-sklepów mogą śledzić zachowania użytkowników, co pozwala na optymalizację oferty oraz strategii marketingowej. Tego rodzaju rozwiązania informatyczne fundamentalnie zmieniają sposób, w jaki przedsiębiorstwa prowadzą działalność i komunikują się z klientami, czyniąc procesy bardziej wydajnymi i zautomatyzowanymi.

Pytanie 35

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

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

Pytanie 36

Który z frameworków bazuje na budowaniu komponentów przy użyciu języka JavaScript?

A. Django
B. ASP.NET Core
C. React.js
D. Node.js
React.js to popularna biblioteka JavaScript, która opiera się na komponencie jako podstawowym elemencie budowy interfejsu użytkownika. Framework ten umożliwia tworzenie dynamicznych i interaktywnych aplikacji webowych, które cechują się wysoką wydajnością. Dzięki wykorzystaniu komponentów, programiści mogą wielokrotnie wykorzystywać te same elementy interfejsu, co znacznie upraszcza zarządzanie kodem i poprawia jego czytelność. React jest szeroko stosowany w budowie Single Page Applications (SPA) i wspiera technologię Virtual DOM, co minimalizuje liczbę operacji na rzeczywistym DOM i zwiększa szybkość renderowania stron. React jest szczególnie polecany do tworzenia nowoczesnych aplikacji webowych o dynamicznych interfejsach, co czyni go jednym z liderów na rynku frontendowym.

Pytanie 37

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

A. Gwarantuje optymalne korzystanie z aplikacji na każdym urządzeniu
B. Umożliwia skoncentrowanie się wyłącznie na funkcjonalności aplikacji
C. Usuwa konieczność testowania na różnych platformach
D. Pozwala na unifikację kodu niezależnie od używanej platformy
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 38

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

A. bezpieczeństwa aplikacji
B. poprawności wyświetlanych elementów aplikacji
C. wydajności aplikacji
D. poziomu optymalizacji kodu 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

Programista może wykorzystać framework Angular do realizacji aplikacji:

A. mobilnej
B. na komputerze
C. rodzaju back-end
D. rodzaju front-end
Angular to świetne narzędzie do tworzenia aplikacji front-endowych. Chodzi o to, że odpowiada za to, co widzi użytkownik i jak może z tym interagować. Dzięki Angular możemy budować dynamiczne i responsywne aplikacje webowe. Z tego co widzę, używamy tam komponentów, modułów i rzeczy typu dwukierunkowe wiązanie danych, co naprawdę ułatwia życie. Bez wątpienia, Angular jest jednym z najpopularniejszych frameworków do robienia interfejsów użytkownika, co tylko potwierdza jego efektywność.

Pytanie 40

Który z wymienionych składników wchodzi w skład podstawowego wyposażenia środowiska IDE?

A. Kompilator, edytor kodu, debugger
B. Kompilator, serwer webowy, system kontroli wersji
C. Edytor tekstowy, przeglądarka internetowa, translator
D. Edytor graficzny, przeglądarka kodu, narzędzia analityczne
Kompilator, edytor kodu i debugger to podstawowe narzędzia, które stanowią fundament każdego środowiska IDE (Integrated Development Environment). Kompilator tłumaczy kod źródłowy na pliki wykonywalne, edytor kodu umożliwia tworzenie i modyfikowanie kodu, a debugger pomaga w analizowaniu i eliminowaniu błędów. Współdziałanie tych narzędzi pozwala programiście na pełny cykl tworzenia aplikacji – od pisania kodu, przez testowanie, aż po finalne wdrożenie. Dzięki integracji tych narzędzi w jednym środowisku, praca staje się bardziej efektywna i intuicyjna.