Wyniki egzaminu

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

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

Jakie z wymienionych działań jest fundamentalne w modelu kaskadowym?

A. Równoległe prowadzenie wielu etapów projektu
B. Iteracyjne wprowadzanie modyfikacji na każdym poziomie
C. Zakończenie jednej fazy przed rozpoczęciem następnej
D. Przeprowadzanie testów systemu po zakończeniu każdej fazy
Kończenie jednej fazy przed rozpoczęciem kolejnej to kluczowa cecha modelu kaskadowego (Waterfall). W tym podejściu projekt jest realizowany etapami – analiza, projektowanie, implementacja, testowanie i wdrożenie – bez możliwości powrotu do poprzednich faz. Dzięki temu model Waterfall jest przejrzysty i łatwy do zarządzania, szczególnie w projektach o stabilnych wymaganiach. Jednak jego ograniczeniem jest brak elastyczności, co może prowadzić do problemów, jeśli wymagania zmienią się w trakcie trwania projektu.

Pytanie 2

Podana deklaracja zmiennych w języku JAVA zawiera

Ilustracja do pytania
A. jedną zmienną typu tekstowego, jedną rzeczywistą, jedną całkowitą, jedną znakową oraz jedną logiczną
B. dwie zmienne typu tekstowego, dwie całkowite oraz jedną logiczną
C. jedną zmienną typu tekstowego, dwie całkowite, jedną znakową i 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 3

Która z metod zarządzania projektami stawia na przejrzystość oraz wizualizację bieżących zadań?

A. Kanban
B. Agile
C. Scrum
D. Waterfall
Scrum to metoda iteracyjna, która koncentruje się na sprintach i dostarczaniu działającego produktu w krótkich cyklach, ale nie skupia się na wizualizacji pracy na poziomie takim jak Kanban. Agile to ogólna filozofia zarządzania projektami, która obejmuje różne metodyki (w tym Scrum i Kanban), ale nie koncentruje się wyłącznie na wizualizacji. Waterfall to model sekwencyjny, gdzie prace realizowane są etapami, a transparentność nie jest kluczowym elementem tego podejścia, ponieważ każda faza musi zostać zakończona przed rozpoczęciem kolejnej.

Pytanie 4

Który z wymienionych programów jest przeznaczony do zarządzania projektami przy pomocy tablic kanban?

A. Jira
B. Photoshop
C. Word
D. Trello
Trello to narzędzie do zarządzania projektami, które wykorzystuje tablice kanban do organizacji i monitorowania zadań. Użytkownicy mogą tworzyć karty reprezentujące poszczególne zadania, które następnie są przenoszone między kolumnami odzwierciedlającymi etapy realizacji. Dzięki swojej prostocie i intuicyjności Trello jest szeroko stosowane zarówno w małych zespołach, jak i dużych organizacjach. Umożliwia efektywne zarządzanie projektami, planowanie sprintów oraz monitorowanie bieżącego statusu prac. Tablice kanban pomagają wizualizować przepływ pracy, co ułatwia identyfikację wąskich gardeł i zarządzanie priorytetami.

Pytanie 5

Wskaż poprawny pod względem składniowym kod dla formatu JSON, który jest używany do wymiany danych między backendem a frontendem aplikacji.

Ilustracja do pytania
A. Kod3
B. Kod4
C. Kod1
D. Kod2
Kod2 jest spoko, bo składnia jest w porządku dla JSON. Używasz odpowiednich znaków i struktur, więc wszystko gra. JSON to taki format do wymiany danych, który często wykorzystuje się w komunikacji między frontendem a backendem. Zgadza się ze standardem ECMA-404. Pamiętaj, że klucze i wartości tekstowe powinny być w podwójnych cudzysłowach, co widać w Kod2. Twój przykładowy kod pokazuje tablicę obiektów, gdzie każdy obiekt ma pary klucz-wartość, a przecinki i nawiasy klamrowe są na swoim miejscu. To naprawdę dobry sposób, bo ułatwia współpracę między różnymi elementami aplikacji. JSON ma ważne zastosowanie w AJAX, bo dzięki niemu możemy dynamicznie aktualizować treści na stronie bez jej przeładowania. To jest mega przydatne w nowoczesnych aplikacjach typu SPA, gdzie JSON odgrywa kluczową rolę w zarządzaniu stanem aplikacji i komunikacji.

Pytanie 6

Zestaw operatorów, który został przedstawiony, należy do kategorii operatorów

Ilustracja do pytania
A. arytmetycznych
B. porównawczymi
C. przypisania
D. logicznymi
Przedstawiony zbiór operatorów należy do grupy operatorów arytmetycznych, które wykonują podstawowe operacje matematyczne, takie jak dodawanie, odejmowanie, mnożenie i dzielenie. Są one podstawą obliczeń w większości języków programowania.

Pytanie 7

Jakie są różnice między testami funkcjonalnymi a niefunkcjonalnymi?

A. Testy funkcjonalne oceniają zgodność działania aplikacji z założeniami, a niefunkcjonalne analizują aspekty wydajności, bezpieczeństwa i użyteczności
B. Testy funkcjonalne koncentrują się na interfejsie, a niefunkcjonalne na backendzie aplikacji
C. Testy funkcjonalne oceniają wydajność aplikacji, podczas gdy niefunkcjonalne weryfikują poprawność kodu
D. Testy funkcjonalne są realizowane tylko przez końcowych użytkowników, natomiast niefunkcjonalne przez programistów
Testy funkcjonalne sprawdzają, czy aplikacja działa zgodnie z założeniami i spełnia określone wymagania użytkownika. Obejmują one testowanie interfejsu, przepływu pracy oraz funkcji kluczowych dla działania oprogramowania. Testy niefunkcjonalne koncentrują się na aspektach takich jak wydajność, skalowalność, bezpieczeństwo i użyteczność. Różnica polega na tym, że testy funkcjonalne oceniają 'co' robi aplikacja, podczas gdy testy niefunkcjonalne oceniają 'jak dobrze' aplikacja działa w różnych warunkach. Testy niefunkcjonalne obejmują testy obciążeniowe (load testing), testy penetracyjne oraz analizy UX. Oba typy testów są niezbędne dla zapewnienia wysokiej jakości oprogramowania i jego niezawodności w środowisku produkcyjnym.

Pytanie 8

Jaki jest zasadniczy cel ataku phishingowego?

A. Uniemożliwienie dostępu do usług internetowych
B. Kradzież haseł z pamięci operacyjnej urządzenia
C. Zbieranie danych osobowych za pomocą podszywających się stron lub wiadomości
D. Zakłócanie pracy sieci przez nadmiarowe zapytania
Głównym celem ataku phishingowego jest przejęcie danych osobowych ofiary, co realizowane jest poprzez wykorzystanie fałszywych stron internetowych lub wiadomości. Atakujący tworzą atrakcyjne i wiarygodne kopie legalnych stron, często podszywając się pod znane instytucje bankowe, portale społecznościowe czy serwisy e-commerce. Użytkownik, nieświadomy zagrożenia, wprowadza swoje dane logowania, numery kart kredytowych lub inne wrażliwe informacje, które trafiają w ręce cyberprzestępców. Aby ułatwić ten proces, phisherzy często wykorzystują techniki inżynierii społecznej, takie jak fałszywe powiadomienia o konieczności weryfikacji konta. Przykłady skutecznych ataków phishingowych obejmują kampanie wysyłania e-maili, które informują użytkowników o rzekomych problemach z kontem, kierując ich na podszyte strony. Standardy bezpieczeństwa, takie jak DMARC, SPF i DKIM, są kluczowe dla ochrony przed tego rodzaju atakami, jednak ich brak lub niewłaściwe wdrożenie zwiększa podatność na phishing.

Pytanie 9

Aby wykorzystać framework Django, należy pisać w języku

A. JavaScript
B. C#
C. Java
D. Python
Framework Django jest napisany w języku Python. Jest to jeden z najpopularniejszych frameworków do tworzenia aplikacji webowych, oferujący bogatą funkcjonalność, elastyczność i szybki czas realizacji projektów.

Pytanie 10

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

A. Opracowanie dedykowanego kodu dla każdej platformy
B. Pełne dopasowanie aplikacji do systemu Windows
C. Wykorzystanie technik responsywnego projektowania interfejsu
D. Koncentrowanie się wyłącznie na estetyce aplikacji
Tworzenie dedykowanego kodu dla każdej platformy jest czasochłonne i kosztowne, co znacznie wydłuża proces deweloperski. Skupienie się wyłącznie na Windows ogranicza zasięg aplikacji i wyklucza użytkowników innych systemów operacyjnych. Koncentracja tylko na wyglądzie aplikacji pomija kluczowe aspekty funkcjonalne i kompatybilność z różnymi urządzeniami, co może prowadzić do słabej użyteczności.

Pytanie 11

Zaprezentowany wykres ilustruje wyniki przeprowadzonych testów

Ilustracja do pytania
A. ochrony
B. wydajności
C. użyteczności
D. funkcjonalności
Wykres przedstawia czasy odpowiedzi strony internetowej co jest kluczowe w kontekście testów wydajnościowych. Testy wydajnościowe mają na celu zmierzenie jak system radzi sobie pod określonym obciążeniem i jak szybko potrafi odpowiedzieć na zapytania użytkowników. Tego typu analiza pomaga zidentyfikować potencjalne wąskie gardła w infrastrukturze IT. Przykładowo jeżeli czasy odpowiedzi DNS lub połączenia są zbyt długie może to wskazywać na potrzebę optymalizacji serwerów DNS lub infrastruktury sieciowej. Testy te są nieodłącznym elementem zapewnienia jakości oprogramowania a ich prawidłowe wykonanie wpływa na doświadczenia użytkowników końcowych. Dobra praktyka w branży IT zakłada regularne przeprowadzanie testów wydajnościowych w celu monitorowania stabilności systemu w warunkach zbliżonych do rzeczywistych. Warto również zauważyć że narzędzia takie jak JMeter czy LoadRunner są powszechnie używane do przeprowadzania takich testów co umożliwia symulację różnorodnych scenariuszy obciążenia i analizę wyników w czasie rzeczywistym.

Pytanie 12

Która z poniższych deklaracji w języku C++ poprawnie opisuje tablicę dwuwymiarową?

A. int matrix[3];
B. int matrix[];
C. int matrix[3][3][3];
D. int matrix[3][3];
Deklaracja 'int matrix[3][3];' poprawnie definiuje tablicę dwuwymiarową w języku C++. Tablice dwuwymiarowe to kluczowe narzędzie do przechowywania macierzy i danych tabelarycznych. Każdy element macierzy jest dostępny poprzez dwa indeksy, co umożliwia łatwe odwzorowanie układów współrzędnych lub plansz w grach. Tablice tego rodzaju są wykorzystywane w algorytmach obliczeniowych, grafice komputerowej oraz analizie danych. Struktura 'matrix[3][3]' tworzy siatkę 3x3, która może przechowywać 9 elementów, co czyni ją efektywnym rozwiązaniem dla problemów wymagających przestrzennych danych.

Pytanie 13

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

A. 257
B. 6890
C. 26
D. 431
Słuchaj, liczba szesnastkowa 1AF to w systemie dziesiętnym 431. Przeliczenie robimy tak: (1 * 16^2) + (10 * 16^1) + (15 * 16^0). To jest jedna z podstawowych rzeczy, które musisz znać przy konwersji liczb. Szczególnie przydaje się to w programowaniu i ogólnie w informatyce, gdzie często mamy do czynienia z różnymi systemami liczbowymi.

Pytanie 14

Jaki jest kluczowy zamysł wzorca "Kompozyt" (Composite)?

A. Określenie interfejsu komunikacji pomiędzy składnikami systemu
B. Stworzenie jednej klasy do zarządzania wieloma obiektami tego samego rodzaju
C. Danie możliwości dynamicznej zmiany zachowania obiektu
D. Umożliwienie klientom obsługi obiektów oraz ich zbiorów w spójny sposób
Zarządzanie wieloma obiektami tego samego typu to cecha wzorca Fabryka (Factory) lub Builder, a nie Kompozyt. Definiowanie interfejsu komunikacji między komponentami systemu to rola wzorca Mediator, który organizuje interakcje między różnymi obiektami. Umożliwienie dynamicznej zmiany zachowania obiektu jest domeną wzorca Strategia (Strategy) lub Dekorator (Decorator), które oferują elastyczność w zakresie modyfikacji zachowania podczas działania programu.

Pytanie 15

Jakie jest przeznaczenie komentarzy w kodzie źródłowym programu?

A. Do definiowania zmiennych globalnych
B. Do dokumentowania działania kodu i ułatwienia jego zrozumienia
C. Do uruchamiania kodu w trybie debugowania
D. Do optymalizacji wydajności kodu
Komentarze w kodzie źródłowym programu pełnią kluczową rolę w dokumentowaniu działania aplikacji. Dzięki nim programiści mogą opisywać, co robią poszczególne fragmenty kodu, jakie funkcje realizują oraz jakie są zależności między modułami. Komentarze nie wpływają na działanie programu, ale znacząco ułatwiają pracę nad nim w przyszłości, zwłaszcza gdy projekt jest rozwijany przez wielu programistów lub po dłuższej przerwie. Komentarze poprawiają czytelność kodu, minimalizując ryzyko błędów wynikających z niejasności lub złej interpretacji działania aplikacji. W dobrze napisanym kodzie komentarze są używane strategicznie – opisują kluczowe algorytmy, niestandardowe rozwiązania oraz obszary wymagające szczególnej uwagi. Przejrzysty i dobrze udokumentowany kod to fundament skalowalnych i łatwych w utrzymaniu aplikacji.

Pytanie 16

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

A. C++
B. PHP
C. HTML
D. JavaScript
C++ jest jednym z najczęściej wykorzystywanych języków programowania do tworzenia aplikacji desktopowych. Jego wysoka wydajność, niskopoziomowy dostęp do pamięci i możliwość zarządzania zasobami sprawiają, że jest idealnym wyborem do tworzenia aplikacji wymagających dużej mocy obliczeniowej, takich jak gry, oprogramowanie do obróbki grafiki czy aplikacje systemowe. Frameworki takie jak Qt i biblioteki standardowe C++ (STL) umożliwiają budowanie zarówno prostych, jak i zaawansowanych aplikacji z bogatym interfejsem użytkownika. C++ jest wykorzystywany na szeroką skalę w przemyśle, co czyni go jednym z kluczowych języków w ekosystemie programistycznym.

Pytanie 17

Jakie informacje zawiera zestaw instrukcji (ISA) danego procesora?

A. Instrukcje, które procesor jest w stanie wykonać
B. Metodę obsługi pamięci podręcznej
C. Układ połączeń między procesorem a innymi elementami
D. Typy danych, które są trzymane w pamięci
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 18

Jakie narzędzie wspiera tworzenie aplikacji desktopowych?

A. WPF
B. Angular
C. Xamarin
D. Symfony
WPF (Windows Presentation Foundation) to framework umożliwiający tworzenie aplikacji desktopowych na platformie Windows. Umożliwia projektowanie interfejsów użytkownika przy użyciu XAML.

Pytanie 19

Jaką kategorię reprezentuje typ danych "array"?

A. Typ danych prosty
B. Typ logiczny
C. Typ danych złożony
D. Typ wskaźników
Prosty typ danych odnosi się do typów takich jak 'int', 'char' czy 'bool', które przechowują pojedyncze wartości, a nie zestawy danych. Typ wskaźnikowy przechowuje adresy pamięci, a nie kolekcje wartości, jak to ma miejsce w przypadku tablic. Typ logiczny (boolean) przechowuje wartości 'true' lub 'false', ale nie jest przeznaczony do przechowywania wielu elementów. Tablice różnią się od typów prostych tym, że pozwalają na jednoczesne przechowywanie wielu elementów i dostęp do nich za pomocą indeksów.

Pytanie 20

Który z protokołów w modelu TCP/IP odpowiada za pewne przesyłanie danych?

A. TCP
B. UDP
C. HTTP
D. IP
Protokół TCP (Transmission Control Protocol) jest kluczowym elementem modelu TCP/IP, odpowiedzialnym za zapewnienie niezawodnego i uporządkowanego przesyłania danych między urządzeniami w sieci. TCP działa na poziomie transportu i gwarantuje, że dane są dostarczane w odpowiedniej kolejności oraz bez błędów. Protokół ten wykorzystuje mechanizmy takie jak kontrola przepływu, retransmisja utraconych pakietów oraz potwierdzenia odbioru, co czyni go idealnym do aplikacji wymagających wysokiej niezawodności, takich jak przesyłanie plików czy komunikacja w sieciach WWW. Na przykład, gdy przeglądarka internetowa pobiera stronę, TCP segmentuje dane na mniejsze pakiety, które są następnie przesyłane do użytkownika, a każdy z nich jest potwierdzany przez odbiorcę. Jeśli pakiet nie zostanie potwierdzony w określonym czasie, TCP automatycznie go retransmituje. Protokół ten jest zgodny z standardami RFC 793 oraz RFC 1122, które definiują jego działanie oraz zasady dotyczące niezawodnego przesyłania danych w sieciach komputerowych.

Pytanie 21

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

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

A. Szyfrowanie danych przesyłanych w sieci
B. Zarządzanie ruchem sieciowym i blokowanie nieautoryzowanego dostępu
C. Ochrona danych na poziomie aplikacji internetowych
D. Zapobieganie wyciekom informacji na skutek awarii systemu
Szyfrowanie danych chroni prywatność użytkownika, ale nie zabezpiecza przed nieautoryzowanym dostępem do sieci. Zapobieganie wyciekom danych to funkcja systemów DLP (Data Loss Prevention), a nie firewalla. Ochrona na poziomie aplikacji dotyczy technologii WAF (Web Application Firewall), która działa inaczej niż standardowy firewall systemowy, ograniczający ruch sieciowy na poziomie IP.

Pytanie 23

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

A. Zadbać o własne bezpieczeństwo
B. Rozpocząć resuscytację krążeniowo-oddechową
C. Wezwać ambulans
D. Sprawdzić, czy występuje krwawienie
Bezpieczeństwo to naprawdę ważna sprawa, kiedy oceniamy stan kogoś, kto uległ wypadkowi. Jak nie zadbamy o siebie, to możemy się sami narazić i to jeszcze bardziej skomplikować całą akcję ratunkową. Ruch uliczny, prąd, jakieś toksyczne substancje... to wszystko może być niebezpieczne. Dopiero jak mamy pewność, że jest ok w okolicy, możemy zająć się poszkodowanym i myśleć o dalszych krokach ratunkowych.

Pytanie 24

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

A. Klasa Pojazd nie dziedziczy z żadnej klasy
B. Klasa Pojazd ma dziedziczenie od klasy Samochód
C. Klasa Samochód i Pojazd nie są ze sobą powiązane
D. Klasa Samochód ma dziedziczenie od klasy Pojazd
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 25

Jakie środowisko jest natywne do tworzenia aplikacji desktopowych w języku C#?

A. Eclipse
B. PyCharm
C. NetBeans
D. MS Visual Studio
MS Visual Studio to środowisko natywne do programowania aplikacji desktopowych w języku C#. To jedno z najczęściej używanych IDE do programowania w ekosystemie Microsoftu, oferujące wsparcie dla debugowania, projektowania interfejsu użytkownika i integracji z .NET. Visual Studio posiada również zaawansowane narzędzia do refaktoryzacji kodu, analizy oraz tworzenia aplikacji webowych i mobilnych.

Pytanie 26

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

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

Które z wymienionych działań zwiększa bezpieczeństwo transakcji online?

A. Nieaktualizowanie oprogramowania przeglądarki
B. Weryfikowanie certyfikatów SSL na stronach zajmujących się transakcjami
C. Udostępnianie informacji o karcie kredytowej w e-mailach
D. Zastosowanie publicznego Wi-Fi do logowania się na konto bankowe
Sprawdzanie certyfikatów SSL na stronach transakcyjnych to jeden z najważniejszych kroków w zapewnieniu bezpieczeństwa transakcji internetowych. Certyfikat SSL szyfruje dane przesyłane między użytkownikiem a serwerem, chroniąc je przed przechwyceniem przez osoby trzecie. Adresy stron z certyfikatem SSL zaczynają się od 'https', co wskazuje na bezpieczne połączenie. Certyfikaty SSL zapewniają integralność danych i są podstawą dla każdej strony internetowej obsługującej płatności lub przechowującej dane użytkowników. Zignorowanie tej kwestii naraża użytkowników na ataki typu man-in-the-middle i phishing.

Pytanie 28

Jaki framework umożliwia tworzenie interaktywnych interfejsów użytkownika w języku TypeScript?

A. jQuery
B. Angular
C. Django
D. ASP.NET Core
Angular to popularny framework oparty na TypeScript, który umożliwia tworzenie dynamicznych i rozbudowanych interfejsów użytkownika. Jest rozwijany przez Google i używany do budowy aplikacji typu Single Page Applications (SPA), które cechują się płynnością działania i interaktywnością. Angular oferuje bogaty ekosystem narzędzi wspierających programistów, takich jak Angular CLI, który pozwala na szybkie generowanie komponentów, serwisów i modułów. Wsparcie dla TypeScript oznacza, że Angular pozwala na wykorzystywanie typów, interfejsów oraz zaawansowanych narzędzi do refaktoryzacji kodu, co przekłada się na większą czytelność i bezpieczeństwo aplikacji. Dzięki modularnej architekturze Angular wspiera tworzenie aplikacji, które są łatwe w utrzymaniu i skalowaniu. Jego dwukierunkowe wiązanie danych (two-way data binding) oraz możliwość dynamicznej aktualizacji widoków czynią go jednym z liderów na rynku frameworków frontendowych.

Pytanie 29

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

A. Zachowanie wartości wspólnych dla wszystkich instancji klasy
B. Umożliwienie dzielenia pól klasy pomiędzy zaprzyjaźnione klasy
C. Tworzenie prywatnych kopii pól dla każdej instancji
D. Wywołanie destruktora klasy bez jej usuwania
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 30

W jakiej sytuacji należy umieścić poszkodowanego w bezpiecznej pozycji bocznej?

A. gdy wystąpi uszkodzenie kręgosłupa
B. gdy osoba omdleje, ale oddycha
C. w sytuacji omdlenia i braku tętna
D. w przypadku urazu pleców, gdy osoba jest przytomna
Osobę po omdleniu, która oddycha, należy ułożyć w pozycji bocznej bezpiecznej. Taka pozycja zapobiega zadławieniu i zapewnia drożność dróg oddechowych, co jest kluczowe dla bezpieczeństwa poszkodowanego.

Pytanie 31

Która z wymienionych reguł należy do netykiety?

A. Udostępnianie treści bez zgody właścicieli
B. Stosowanie nieformalnego języka w każdej rozmowie
C. Unikanie używania dużych liter w komunikacji
D. Zaniechanie odpowiadania na wiadomości od innych użytkowników
Unikanie pisania wielkimi literami w wiadomościach jest kluczowym elementem netykiety, ponieważ tekst pisany dużymi literami w internecie jest powszechnie interpretowany jako krzyk. To zasada, która ma na celu utrzymanie kultury komunikacji online oraz zapewnienie komfortu odbiorcy. Gdy użytkownik korzysta z wielkich liter, może to być odbierane jako agresywne lub dominujące, co może prowadzić do nieporozumień oraz negatywnych reakcji. Przykładem może być sytuacja, w której osoba, pisząc do grupy na forum internetowym, używa wyłącznie wielkich liter, co może zniechęcić innych do interakcji. Dobrą praktyką jest pisanie w sposób przystępny i zrozumiały, co sprzyja pozytywnej atmosferze w komunikacji. Standardy netykiety, takie jak te przedstawione w dokumentach związanych z etyką w internecie, podkreślają znaczenie szacunku i zrozumienia w interakcjach online, co obejmuje również sposób formułowania wiadomości. Warto także pamiętać o tym, że różne platformy społecznościowe mają swoje zasady, które podkreślają unikanie pisania krzykiem, co potwierdza ogólne podejście do netykiety.

Pytanie 32

Jakie narzędzie jest wykorzystywane do zgłaszania błędów w projektach IT?

A. Git
B. JIRA
C. Photoshop
D. Blender
Photoshop to narzędzie do edycji grafiki rastrowej i nie jest związane z raportowaniem błędów w projektach informatycznych. Blender to zaawansowane narzędzie do modelowania 3D, animacji oraz renderowania, używane głównie w produkcji filmów, gier i wizualizacji, ale nie posiada funkcji zarządzania błędami w kodzie. Git to system kontroli wersji, który umożliwia zarządzanie kodem źródłowym, śledzenie zmian i współpracę programistów nad projektem, ale nie służy bezpośrednio do raportowania błędów w projektach – choć można wykorzystać go pośrednio poprzez integrację z narzędziami do zarządzania błędami, jak np. JIRA.

Pytanie 33

Jaką rolę odgrywa pamięć operacyjna (RAM) w komputerowym systemie?

A. Zarządzanie transferem danych pomiędzy urządzeniami wejścia/wyjścia
B. Tymczasowe magazynowanie danych i instrukcji dla procesora
C. Umożliwienie tworzenia kopii zapasowej danych użytkownika
D. Trwałe przechowywanie systemu operacyjnego
Pamięć operacyjna, znana jako RAM (Random Access Memory), odgrywa kluczową rolę w funkcjonowaniu systemu komputerowego. Jej głównym zadaniem jest tymczasowe przechowywanie danych i instrukcji, które są niezbędne dla procesora w trakcie wykonywania programów. Kiedy uruchamiamy aplikację, jej kod oraz dane są ładowane z pamięci masowej (np. dysku twardego) do pamięci RAM, co umożliwia szybki dostęp do nich przez procesor. Dzięki dużej prędkości działania pamięć operacyjna znacząco przyspiesza procesy obliczeniowe, ponieważ operacje na danych przechowywanych w RAM są wielokrotnie szybsze niż na danych znajdujących się na dysku twardym. Współczesne komputery często wyposażone są w kilka gigabajtów pamięci RAM, co pozwala na efektywne zarządzanie wieloma uruchomionymi aplikacjami jednocześnie. Standardy takie jak DDR4 i DDR5 określają nie tylko wydajność, ale również szybkość przesyłania danych, co ma kluczowe znaczenie w kontekście wydajności systemu komputerowego. W efekcie, pamięć operacyjna jest niezbędna do płynnego działania systemu operacyjnego oraz aplikacji, a jej pojemność i szybkość mają bezpośredni wpływ na ogólną wydajność komputera.

Pytanie 34

Jakie wartości jest w stanie przechować zmienna o typie logicznym?

A. Jedną z dwóch opcji: true lub false
B. Tylko ciąg znaków
C. Dowolną liczbę rzeczywistą
D. Wartość w reprezentacji binarnej
Zmienna typu logicznego (boolean) może przechowywać jedną z dwóch wartości: 'true' lub 'false'. Są to podstawowe wartości wykorzystywane w operacjach warunkowych i pętlach, które decydują o przepływie sterowania w programach. Wartości logiczne są kluczowe w konstrukcjach takich jak 'if-else', pętlach 'while' oraz w porównaniach. W wielu językach programowania 'true' jest równoznaczne z 1, a 'false' z 0, co pozwala na łatwą integrację z typami całkowitymi. Typ boolean jest niezbędny w programowaniu, umożliwiając implementację decyzji, walidacji danych i automatyzacji procesów.

Pytanie 35

Które z wymienionych stwierdzeń najtrafniej charakteryzuje WPF?

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

Pytanie 36

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. Wdrożenie funkcji dodajZdjecie()
C. Stworzenie dokumentacji kodu aplikacji
D. Przygotowanie i konfiguracja repozytorium dla projektu
Utworzenie dokumentacji kodu aplikacji jest zadaniem zespołowym, gdyż wymaga współpracy kilku osób, które muszą zrozumieć ogólną architekturę projektu oraz zasady, jakie powinny zostać zastosowane w dokumentacji. Dokumentacja kodu jest kluczowa dla przyszłej konserwacji i rozwoju aplikacji, a jej przygotowanie powinno obejmować nie tylko opis funkcji i klas, ale także konwencje nazewnictwa, style kodowania oraz strategie testowania. Przykładem może być zastosowanie standardu JSDoc, który pozwala na generowanie dokumentacji z komentarzy w kodzie, co ułatwia zrozumienie struktury i funkcjonowania aplikacji. Dobra dokumentacja zapewnia, że nowi członkowie zespołu będą mogli szybko odnaleźć się w projekcie. Zespołowa praca nad dokumentacją gwarantuje, że wszystkie aspekty projektu zostaną uwzględnione i odpowiednio udokumentowane, co jest niezbędne dla efektywności projektu.

Pytanie 37

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

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

Pytanie 38

Po uruchomieniu podanego kodu w języku C++ na konsoli zobaczymy następujący tekst:

Ilustracja do pytania
A. "%s dodawania: %d + %.2f = %f", "Wynik", 5, 5.12345, 10.123450
B. dodawania: 5+5.12345=10.123450 Wynik
C. Wynik dodawania: 5+5.12=10.123450
D. "%s dodawania: %d + %.2f=%f", "Wynik", a, b, w
Kod w C++ wyświetla 'Wynik dodawania: 5+5.12=10.123450'. Formatowanie tekstu i liczb zmiennoprzecinkowych jest kluczowe dla poprawnego wyświetlania danych w konsoli.

Pytanie 39

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ą biblioteki <string> i 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 40

Zaproponowany fragment kodu w języku Java wypełnia tablicę elementami:

Ilustracja do pytania
A. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B. 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
C. 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Kod w języku Java wypełnia tablicę liczbami parzystymi od 2 do 20. W pętli inkrementacja wynosi 2, co skutkuje dodawaniem kolejnych parzystych liczb. To popularne rozwiązanie przy iteracji po wartościach, które mają spełniać określone warunki, np. podzielność przez 2.