Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 15 kwietnia 2025 18:06
  • Data zakończenia: 15 kwietnia 2025 18:24

Egzamin zdany!

Wynik: 25/40 punktów (62,5%)

Wymagane minimum: 20 punktów (50%)

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

Która z wymienionych właściwości najlepiej charakteryzuje biblioteki dynamiczne?

A. Są ładowane podczas kompilacji
B. Zawierają kod źródłowy aplikacji
C. Są ładowane w trakcie działania aplikacji
D. Są statycznie dołączane do pliku wykonywalnego
Jak mówimy o ładowaniu bibliotek w czasie kompilacji, to mamy na myśli biblioteki statyczne. One są wplecione w plik wykonywalny. Z kolei biblioteki dynamiczne, to jakby zewnętrzne funkcje, które nie są częścią źródłowego kodu programu. Przy statycznym dołączaniu wszelkie potrzebne zasoby są w jednym pliku, a to odróżnia je od tych dynamicznych, które wchodzą w grę dopiero, gdy program działa.

Pytanie 2

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

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

Pytanie 3

Jaki będzie rezultat operacji logicznej AND dla wartości binarnych 1010 oraz 1100?

A. 1010
B. 1000
C. 1110
D. 1100
Wynik logicznej operacji AND dla liczb binarnych 1010 i 1100 uzyskuje się poprzez porównywanie odpowiadających sobie bitów obu liczb. W systemie binarnym, operacja AND zwraca 1 tylko wtedy, gdy oba bity są równe 1. W przypadku liczb 1010 (co w systemie dziesiętnym odpowiada 10) oraz 1100 (co w systemie dziesiętnym odpowiada 12), analizujemy każdy bit od prawej do lewej. Pierwszy bit: 0 AND 0 = 0, drugi bit: 1 AND 0 = 0, trzeci bit: 0 AND 1 = 0, czwarty bit: 1 AND 1 = 1. Zatem wynik operacji AND to 1000 (co w systemie dziesiętnym odpowiada 8). Takie operacje logiczne są podstawą działania systemów cyfrowych i stosowane są w programowaniu oraz w projektowaniu układów cyfrowych, gdzie logika binarna jest niezbędna. Operacje AND są również używane w bazach danych oraz w językach programowania, gdzie umożliwiają filtrowanie danych na podstawie logicznych warunków. W kontekście standardów, operacje logiczne są definiowane przez różne normy, takie jak IEEE 754 dla arytmetyki zmiennoprzecinkowej, co podkreśla ich fundamentalne znaczenie w informatyce.

Pytanie 4

Jaką funkcję pełnią mechanizmy ciasteczek w aplikacjach internetowych?

A. Do przechowywania informacji w bazie danych
B. Do zapisywania danych użytkownika na serwerze
C. Do generowania dynamicznych interfejsów dla użytkowników
D. Do zapisywania danych użytkownika w przeglądarce
Mechanizm ciasteczek (cookies) w aplikacjach webowych służy do przechowywania danych użytkownika bezpośrednio w przeglądarce. Ciasteczka mogą przechowywać różnego rodzaju informacje, takie jak preferencje językowe, identyfikatory sesji czy dane logowania, co pozwala na personalizację doświadczenia użytkownika oraz śledzenie jego aktywności na stronie. Dzięki ciasteczkom aplikacje webowe mogą zapamiętać użytkownika i dostosować treści do jego potrzeb przy kolejnych wizytach. Cookies są nieodłącznym elementem zarządzania stanem w aplikacjach stateless, takich jak te oparte na protokole HTTP. Mogą być one również wykorzystywane w systemach reklamowych i analitycznych do monitorowania zachowań użytkowników. Prawidłowe zarządzanie ciasteczkami i stosowanie odpowiednich polityk prywatności są kluczowe dla zgodności z przepisami RODO oraz regulacjami dotyczącymi ochrony danych osobowych.

Pytanie 5

Jakie są różnice pomiędzy środowiskiem RAD a klasycznym IDE w kontekście aplikacji webowych?

A. RAD funkcjonuje tylko w systemach Windows
B. RAD koncentruje się wyłącznie na budowie frontendu aplikacji
C. RAD umożliwia szybsze prototypowanie i rozwój aplikacji dzięki narzędziom wizualnym
D. RAD nie wspiera żadnych języków backendowych
Rapid Application Development (RAD) to metodologia, która koncentruje się na szybkim prototypowaniu i iteracyjnym tworzeniu aplikacji. Dzięki narzędziom wizualnym RAD umożliwia programistom i projektantom szybkie budowanie interfejsów użytkownika oraz testowanie funkcjonalności aplikacji na wczesnym etapie rozwoju. RAD skraca czas potrzebny na dostarczenie gotowego produktu, co czyni go idealnym rozwiązaniem w dynamicznie zmieniających się projektach webowych. Narzędzia RAD umożliwiają także automatyczne generowanie kodu, co znacznie przyspiesza proces programowania.

Pytanie 6

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

A. Word
B. Jira
C. Photoshop
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 7

Która metoda w obrębie klasy jest uruchamiana automatycznie podczas tworzenia kopii obiektu?

A. Konstruktor kopiujący
B. Metoda statyczna
C. Destruktor
D. Metoda zaprzyjaźniona
Metoda statyczna jest związana z klasą, a nie z jej obiektami, więc nie wywołuje się automatycznie, gdy kopiujemy obiekt. Destruktor to kolejna metoda, która odpowiada za usuwanie obiektu i zwalnianie zasobów, ale jego rola pojawia się dopiero na końcu życia obiektu, a nie podczas samego kopiowania. Co do metody zaprzyjaźnionej, to ona ma dostęp do prywatnych i chronionych elementów klasy, ale też nie jest wywoływana automatycznie w procesie kopiowania. Tylko konstruktor kopiujący robi to właściwie, tworząc kopie obiektów.

Pytanie 8

Polecenia wydane w kontekście repozytorium Git, przy założeniu, że folder projektu jest aktualnie wybrany, mają na celu

Ilustracja do pytania
A. zamknięcie projektu, co spowoduje zarchiwizowanie wszystkich rewizji do lokalnego archiwum pod nazwą first commit
B. utworzenie kopii istniejącego repozytorium z jedynie tą rewizją, która zostanie zapisana pod nazwą first commit
C. rozpoczęcie sesji z już istniejącym repozytorium oraz pobranie kodu projektu do lokalnego folderu
D. rozpoczęcie pracy z nowym repozytorium, dodanie oraz zatwierdzenie kodu projektu jako first commit
Rozpoczęcie pracy z repozytorium Git jest kluczowe dla efektywnego zarządzania wersjami kodu jednak błędne zrozumienie procesu może prowadzić do nieprawidłowych wniosków. Git nie oferuje funkcji zamknięcia projektu przez zarchiwizowanie wszystkich rewizji do lokalnego archiwum pod nazwą first commit. Takie podejście jest sprzeczne z modelem działania Gita który bazuje na ciągłym rozwoju i wersjonowaniu. Git nie tworzy kopii repozytorium jedynie z rewizją nazwaną first commit. Zamiast tego w każdym commicie zapisuje stan wszystkich dodanych plików co pozwala na pełną rekonstrukcję stanu projektu w każdej wersji. Utworzenie kopii repozytorium jest wykonywane przez klonowanie za pomocą git clone które jednak zachowuje całą historię wersji. Ponadto rozpoczęcie sesji z istniejącym repozytorium i pobranie kodu do lokalnego folderu odbywa się przez polecenia takie jak git clone lub git pull a nie poprzez inicjalizację nowego repozytorium. Użycie poleceń inicjalizujących git init i pierwszego commitu jest typowe dla rozpoczęcia od zera a ich zastosowanie w innych kontekstach może prowadzić do błędów.

Pytanie 9

Który z wymienionych elementów interfejsu użytkownika jest charakterystyczny dla aplikacji działającej na komputerze?

A. Przycisk (Button)
B. Strona HTML
C. API REST
D. Routing
Przycisk, czyli ten mały element, co go klikamy w aplikacjach, to naprawdę ważna część interfejsu. Używamy go, żeby coś zainicjować, na przykład zapisać dane czy wywołać jakąś funkcję. Fajnie, że można go dowolnie ustawiać – zmieniać wygląd, rozmiar, a nawet to, jak się zachowuje. Dzięki temu pasuje do każdej aplikacji. W dzisiejszych programach, jak WPF, te przyciski mogą mieć różne kolorowe ikony albo nawet animacje, co sprawia, że aplikacja wygląda super. Generalnie, bez przycisków użytkownik by się w aplikacji nie połapał, bo to dzięki nim możemy nawigować, zatwierdzać formularze czy otwierać nowe okna dialogowe.

Pytanie 10

Która z funkcji powinna zostać zrealizowana w warstwie back-end aplikacji webowej?

A. wyświetlanie danych z formularza w przeglądarce
B. zarządzanie bazą danych
C. zarządzanie zdarzeniami elementów
D. sprawdzanie formularzy w czasie rzeczywistym
Obsługa bazy danych jest fundamentalną częścią warstwy back-end w aplikacjach internetowych. Backend odpowiada za przetwarzanie logiki biznesowej, przechowywanie i zarządzanie danymi, a także komunikację z bazą danych. Dane przesyłane z front-endu (interfejsu użytkownika) są walidowane i przetwarzane po stronie serwera, zanim trafią do bazy danych lub zostaną zwrócone użytkownikowi. W przypadku aplikacji dynamicznych, serwer pobiera informacje z bazy danych, przekształca je zgodnie z wymogami aplikacji i przesyła z powrotem na front-end. Właściwe zarządzanie danymi i bezpieczeństwo operacji na bazie danych to kluczowe zadania back-endu. Równie ważne jest zapobieganie wstrzykiwaniu SQL (SQL Injection) i zapewnienie integralności danych, co stanowi podstawę skalowalnych i bezpiecznych aplikacji.

Pytanie 11

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. pole autor jest niedostępne z tego poziomu
C. inicjacja obiektu została błędnie zapisana
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 12

Jakie narzędzie wspiera tworzenie aplikacji desktopowych?

A. Angular
B. Symfony
C. Xamarin
D. WPF
Symfony to framework PHP do tworzenia aplikacji webowych, a nie desktopowych. Xamarin służy do tworzenia aplikacji mobilnych na platformy iOS i Android. Angular to framework JavaScript do tworzenia aplikacji front-endowych, głównie webowych, a nie desktopowych.

Pytanie 13

Jaką cechą odznacza się framework w porównaniu do biblioteki?

A. Framework oferuje funkcje użyteczne w konkretnej dziedzinie problemu
B. Framework określa strukturę aplikacji i zapewnia jej fundament
C. Framework stanowi zbiór funkcji, które programista ma możliwość wykorzystania
D. Framework zapewnia API do szerszego zestawu funkcji
Framework dostarcza gotowy szkielet aplikacji i narzuca architekturę, zgodnie z którą programista musi budować swoją aplikację. Oferuje zestaw narzędzi i komponentów, które upraszczają rozwój oprogramowania, przy jednoczesnym ograniczeniu swobody działania. Dzięki frameworkowi, programista nie musi tworzyć aplikacji od podstaw – dostaje narzędzia, które integrują się ze sobą, co przyspiesza proces developmentu i zapewnia spójność aplikacji.

Pytanie 14

W jakim przypadku należy umieścić poszkodowanego w pozycji bocznej bezpiecznej?

A. gdy wystąpi omdlenie i brak tętna
B. w sytuacji urazu pleców, gdy osoba jest świadoma
C. w przypadku urazu kręgosłupa
D. w przypadku omdlenia, gdy osoba jest przytomna
Ułożenie poszkodowanego w pozycji bocznej bezpiecznej jest kluczowym krokiem w sytuacjach medycznych, zwłaszcza w przypadku omdlenia, gdy osoba jest przytomna i oddycha. Ta pozycja ma na celu zapewnienie drożności dróg oddechowych, co jest niezbędne, aby uniknąć zadławienia się własnymi wymiotami lub śliną. W sytuacji, gdy osoba traci przytomność, lecz nadal oddycha, ułożenie jej na boku minimalizuje ryzyko aspiracji i wspiera naturalne funkcje oddechowe. Ważne jest, aby przyjąć tę pozycję, ale również monitorować stan poszkodowanego, sprawdzając jego oddech i reakcje. Zgodnie z wytycznymi Europejskiej Rady Resuscytacji, w takich sytuacjach kluczowe jest, aby osoba była w pełni zabezpieczona i nie mogła się przewrócić. Przykłady zastosowania tej techniki obejmują sytuacje, gdzie osoba straciła przytomność na skutek omdlenia związanego z nagłym spadkiem ciśnienia krwi lub innymi czynnikami. Wykorzystanie pozycji bocznej bezpiecznej jest standardem w pierwszej pomocy i jest szkolone w ramach kursów dla ratowników oraz medyków.

Pytanie 15

W zaprezentowanym kodzie zostało ukazane jedno z fundamentalnych założeń programowania obiektowego. Czym ono jest?

Ilustracja do pytania
A. hermetyzacja
B. abstrakcja
C. dziedziczenie
D. polimorfizm
Polimorfizm to taka bardziej skomplikowana sprawa, chodzi o to, że metody mogą działać na różne sposoby, ale nie to jest tu w głównym fokusie. Abstrakcja z kolei wiąże się z ukrywaniem detali implementacji, ale nie jest to kluczowy temat w tym kodzie. Hermetyzacja to pojęcie dotyczące ukrywania danych w klasach, ale też nie o tym mówimy w tej konkretnej sytuacji.

Pytanie 16

Jakie narzędzie jest najbardziej odpowiednie do identyfikacji błędów w trakcie działania programu?

A. Kompilator
B. Interpreter
C. Debugger
D. Linker
Debugger to narzędzie przeznaczone do wyszukiwania błędów w czasie wykonywania programu. Pozwala na zatrzymywanie aplikacji w wybranych miejscach, analizowanie wartości zmiennych i śledzenie przepływu sterowania, co umożliwia szybkie wykrywanie błędów logicznych i błędów czasu wykonania. Debugger jest niezbędny w procesie rozwoju oprogramowania, ponieważ pomaga programistom w zrozumieniu, jak ich kod działa w rzeczywistości i jak różne warunki wpływają na jego funkcjonowanie.

Pytanie 17

Jakie jest podstawowe zadanie firewalla w systemie komputerowym?

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

Klasa Mieszkaniec zawiera atrybuty: imie, nazwisko, ulica, nrDomu, rokUrodzenia. W tej klasie umieszczono opisane poniżej konstruktory (zapisano jedynie typy argumentów). Do tworzenia obiektu za pomocą konstruktora kopiującego wykorzystany będzie konstruktor określony w punkcie

Ilustracja do pytania
A. 1
B. 3
C. 2
D. 4
Konstruktor kopiujący to taka fajna metoda, która pozwala nam stworzyć nowy obiekt, będący kopią innego obiektu tej samej klasy. To naprawdę ważny element w programowaniu obiektowym, bo dzięki niemu możemy tworzyć nowe instancje bez konieczności ręcznego wpisywania wartości pól. Taki konstruktor kopiujący dba o to, żeby dane były spójne i integralne, co jest super istotne, zwłaszcza przy obiektach, które mają wskaźniki lub potrzebują dynamicznie przydzielanej pamięci.

Pytanie 19

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

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

Pytanie 20

Które z wymienionych działań stanowi zagrożenie dla emocjonalnego dobrostanu człowieka w sieci?

A. Nadmierne korzystanie z mediów społecznościowych
B. Zła postawa podczas pracy przy komputerze
C. Cyberstalking
D. Przesyłanie niezaszyfrowanych plików
Nadmierne korzystanie z mediów społecznościowych może negatywnie wpływać na samopoczucie i prowadzić do uzależnienia, ale samo w sobie nie stanowi formy prześladowania. Zła postawa podczas pracy przy komputerze prowadzi do problemów zdrowotnych, takich jak bóle pleców i karku, a nie wpływa na sferę emocjonalną. Przesyłanie niezaszyfrowanych plików zwiększa ryzyko naruszenia danych, ale nie oddziałuje na psychikę użytkownika.

Pytanie 21

Który z komponentów interfejsu użytkownika umożliwia użytkownikowi wprowadzanie danych tekstowych?

A. Pole tekstowe
B. Pasek narzędziowy
C. Przycisk
D. Dialog wyboru pliku
Pole tekstowe to element interfejsu użytkownika, który pozwala użytkownikowi na wprowadzanie danych tekstowych. Jest to jeden z najczęściej używanych komponentów UI w aplikacjach desktopowych, mobilnych i webowych. Pole tekstowe umożliwia wprowadzanie haseł, adresów e-mail, wiadomości i innych danych. W nowoczesnych aplikacjach często zawiera walidację, która sprawdza poprawność wpisywanych danych w czasie rzeczywistym. Dzięki swojej elastyczności, pola tekstowe mogą być wykorzystywane w różnorodnych formularzach, ankietach i systemach rejestracji użytkowników, co czyni je nieodzownym elementem aplikacji o dowolnym przeznaczeniu.

Pytanie 22

Czym jest ochrona własności intelektualnej?

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

Pytanie 23

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

Ilustracja do pytania
A. zintegrowane środowisko programistyczne
B. środowisko szybkiego rozwoju aplikacji
C. prototypowanie wsparte testami jednostkowymi
D. środowisko refaktoryzacji 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 24

Które z wymienionych stwierdzeń najtrafniej charakteryzuje WPF?

A. Framework umożliwiający zarządzanie urządzeniami IoT
B. Framework przeznaczony do budowy aplikacji stacjonarnych w systemie Windows
C. Framework przeznaczony do budowy aplikacji internetowych
D. Biblioteka do obróbki danych w Pythonie
No i tutaj jest mały błąd. Frameworki do aplikacji webowych, to na przykład Angular czy React, a WPF służy do aplikacji desktopowych. Jak mówimy o przetwarzaniu danych w Pythonie, to raczej wspominamy np. o NumPy czy Pandas, ale one nie mają nic wspólnego z interfejsami. Jeśli chodzi o IoT, to nie używamy WPF, bo on jest bardziej związany z Windows, a do sprzętu raczej sięga się po Arduino IDE czy PlatformIO.

Pytanie 25

Zaprezentowany symbol odnosi się do

Ilustracja do pytania
A. Creative Commons
B. domeny publicznej
C. prawa cytatu
D. praw autorskich
Przedstawiony symbol reprezentuje domenę publiczną, co oznacza, że utwór nie jest objęty prawami autorskimi i może być swobodnie używany przez każdego. Takie oznaczenie jest często stosowane do dzieł, które przeszły do domeny publicznej po wygaśnięciu ochrony prawnej.

Pytanie 26

Zademonstrowana pętla wykorzystuje obiekt random do

Ilustracja do pytania
A. wielokrotnego generowania liczby, aby stworzyć ciąg z liczb pseudolosowych
B. jednorazowego wylosowania znaku z określonego zestawu znaków
C. uzupełnienia tablicy danymi w postaci liczb pseudolosowych
D. stworzenia losowego napisu o długości 8 znaków składającego się z liter
Wielokrotne losowanie – Dotyczy sytuacji, gdy generowane jest wiele liczb, co nie jest zgodne z kodem. Wypełnienie tablicy – Kod dotyczy jednego znaku, a nie tablicy. Generowanie napisu – Pętla mogłaby generować ciąg znaków, ale pytanie dotyczy pojedynczego znaku.

Pytanie 27

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 28

Kod przedstawiony w języku XML/XAML określa

Ilustracja do pytania
A. stepper
B. listę rozwijaną
C. przełącznik
D. suwak
Kod XML/XAML definiuje przełącznik (Switch), który jest standardową kontrolką używaną do reprezentowania dwustanowego wyboru (włącz/wyłącz). Jest to często stosowane w aplikacjach mobilnych i desktopowych do aktywowania i dezaktywowania funkcji. W XAML przełącznik jest łatwy do skonfigurowania za pomocą atrybutu 'IsToggled', co umożliwia programistom szybkie zarządzanie stanem kontrolki.

Pytanie 29

Który z wymienionych parametrów określa prędkość procesora?

A. Częstotliwość taktowania
B. Liczba rdzeni
C. Rodzaj złącza
D. Wielkość pamięci podręcznej
Ilość rdzeni w procesorze odnosi się do liczby jednostek obliczeniowych w jego architekturze. Choć większa liczba rdzeni może przyczynić się do zwiększenia multitaskingu i wydajności w aplikacjach obsługujących równoległe przetwarzanie, sama ilość rdzeni nie definiuje szybkości procesora w kontekście jego podstawowych cykli zegara. Pojemność pamięci podręcznej, z kolei, dotyczy ilości pamięci dostępnej bezpośrednio w procesorze, co wpływa na szybkość dostępu do często używanych danych. Większa pamięć podręczna może przyspieszyć operacje, ale znowu, nie jest to bezpośredni wskaźnik szybkości działania procesora. Typ złącza jest parametrem technicznym, który określa, w jaki sposób procesor łączy się z płytą główną. Różne rodzaje złączy, jak LGA czy PGA, wpływają na kompatybilność, ale nie mają bezpośredniego wpływu na samą szybkość obliczeniową procesora. W kontekście oceny wydajności procesora, istotne jest zrozumienie, że chociaż ilość rdzeni, pamięć podręczna i typ złącza są ważnymi parametrami, to jednak to częstotliwość taktowania jest kluczowym wskaźnikiem wskazującym na szybkość jego działania.

Pytanie 30

Jakie są kluczowe różnice pomiędzy strukturą (struct) a unią (union) w języku C?

A. Struktura przechowuje wiele wartości równocześnie, unia tylko jedną
B. Struktura wymaga więcej miejsca w pamięci niż unia
C. Unia nie jest obsługiwana przez kompilatory współczesnych języków
D. Unia umożliwia dynamiczne przypisywanie typów danych, struktura natomiast nie
Unia nie pozwala na dynamiczne typowanie danych – typ każdego pola jest zdefiniowany w czasie kompilacji, podobnie jak w strukturze. Struktura nie zajmuje więcej pamięci niż unia – zajmuje dokładnie tyle miejsca, ile potrzeba na przechowywanie wszystkich pól jednocześnie. Twierdzenie, że unia nie jest wspierana przez nowoczesne kompilatory, jest błędne – unie są integralną częścią standardu C i są szeroko wspierane we współczesnych środowiskach programistycznych.

Pytanie 31

Wzorzec projektowy "Metoda szablonowa" (Template method) stosuje się do:

A. gromadzenia obiektów w jednorodnej kolekcji
B. określenia szkieletu algorytmu i pozostawienia szczegółów implementacji dla podklas
C. centralizacji zarządzania wieloma instancjami obiektów
D. organizowania obiektów w hierarchiczne struktury drzewiaste
Wzorzec Metoda Szablonowa (Template Method) umożliwia zdefiniowanie szkieletu algorytmu w klasie bazowej, natomiast szczegółowa implementacja poszczególnych kroków jest pozostawiona podklasom. Dzięki temu wzorzec promuje zasadę ponownego użycia kodu i zapewnia spójność w strukturze algorytmów. Template Method jest często stosowany w przypadku procesów, które mają stałą strukturę, ale mogą wymagać różnej implementacji w zależności od specyficznych potrzeb. Przykładem może być klasa obsługująca różne formaty dokumentów, gdzie metody parsowania lub walidacji są różne, ale ogólny proces ich przetwarzania pozostaje taki sam.

Pytanie 32

Jaką cechą charakteryzuje się sieć asynchroniczna?

A. Jest bardziej niezawodna od sieci synchronicznej
B. Wymaga synchronizacji zegarów
C. Dane są przesyłane jedynie w określonych przedziałach czasowych
D. Dane są przesyłane w sposób nieciągły, bez synchronizacji zegarów
Sieci asynchroniczne to rodzaj systemów komunikacyjnych, w których dane są przesyłane w sposób nieciągły, co oznacza, że nie wymagają one synchronizacji zegarów pomiędzy urządzeniami. W takich sieciach, każda jednostka przesyła dane w dowolnym momencie, co zwiększa elastyczność i efektywność komunikacji. Przykładem zastosowania sieci asynchronicznych są systemy oparte na protokołach, takich jak UART (Universal Asynchronous Receiver-Transmitter), które są powszechnie używane w mikrokomputerach oraz różnych urządzeniach elektronicznych. W kontekście standardów, sieci asynchroniczne są często stosowane w komunikacji szeregowej, gdzie dane są przesyłane bez ustalonych ram czasowych, co pozwala na redukcję opóźnień i zwiększenie przepustowości. W praktyce, taki model komunikacji jest idealny w sytuacjach, gdzie ciągłość przesyłu danych nie jest kluczowa, jak w przypadku transmisji danych z czujników czy urządzeń IoT, gdzie urządzenia mogą nadawać dane, gdy są gotowe, a nie w ustalonych interwałach czasowych.

Pytanie 33

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

A. ASP.NET Core
B. Node.js
C. React.js
D. Django
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 34

Z jakiej kolekcji powinno się korzystać, aby przechowywać informacje związane z elementem interfejsu użytkownika w taki sposób, aby ten element był informowany przez kolekcję o dodaniu, usunięciu lub zmianie jej zawartości?

A. ObservableCollection
B. Collection
C. KeyedCollection
D. ReadOnlyCollection
ObservableCollection to taka fajna kolekcja, która potrafi na bieżąco informować interfejs użytkownika, kiedy coś się zmienia, na przykład jak dodasz, usuniesz albo zmienisz element. Dzięki temu wszystko w aplikacji, jak lista czy inne komponenty, od razu się aktualizuje, co naprawdę poprawia synchronizację i wydajność, zwłaszcza w projektach MVVM.

Pytanie 35

Który z wymienionych przykładów ilustruje projektowanie interfejsu zgodnego z zasadami user experience (UX)?

A. Przycisk umieszczony w przypadkowym miejscu aplikacji
B. Brak opcji cofnięcia już wykonanej akcji
C. Zastosowanie jedynie jednego koloru w całym interfejsie
D. Użycie czytelnych czcionek i intuicyjnego układu elementów
Użycie czytelnych czcionek i intuicyjnego układu elementów to kluczowe zasady projektowania zgodne z user experience (UX). Przejrzystość i estetyka interfejsu zwiększają komfort użytkownika i ułatwiają korzystanie z aplikacji. Intuicyjny układ elementów pozwala na szybkie odnalezienie potrzebnych funkcji, co redukuje frustrację użytkownika i skraca czas potrzebny na realizację zadania. UX opiera się na badaniach dotyczących zachowań użytkowników i dostosowywaniu projektu do ich potrzeb.

Pytanie 36

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

A. Prędkość obrotowa talerzy (RPM)
B. Pojemność dysku
C. Rodzaj złącza (SATA/PCIe)
D. Ilość pamięci podręcznej (Cache)
Pojemność dysku jest istotnym parametrem, ale nie wpływa bezpośrednio na jego szybkość działania. Większa pojemność oznacza, że na dysku można przechowywać więcej danych, jednak nie przyspiesza to operacji odczytu i zapisu. Wydajność jest bardziej związana z tym, jak szybko dane mogą być przesyłane do i z dysku, co nie jest bezpośrednio związane z jego pojemnością. Rodzaj złącza, takiego jak SATA czy PCIe, również ma swoje znaczenie, ale w przypadku dysków HDD to prędkość obrotowa jest kluczowa dla szybkości pracy. Złącza PCIe, które są znacznie szybsze od SATA, są bardziej relevantne w kontekście dysków SSD, gdzie czas dostępu i szybkość transferu są znacznie wyższe niż w przypadku talerzowych dysków HDD. Na koniec, ilość pamięci podręcznej (Cache) dysku, choć ma znaczenie w usprawnieniu operacji odczytu i zapisu, to jej wpływ jest marginalny w porównaniu do prędkości obrotowej. Cache działa jako bufor, ale nie zastąpi wyższej prędkości obrotowej talerzy, która decyduje o tym, jak быстро można uzyskać dostęp do danych przechowywanych na dysku.

Pytanie 37

W jaki sposób procesor nawiązuje komunikację z pamięcią podręczną (cache)?

A. Bezpośrednio, omijając mostki systemowe
B. Za pomocą systemu przerwań
C. Poprzez linie danych w magistrali systemowej
D. Używając wyłącznie pamięci RAM
Komunikacja między procesorem a pamięcią podręczną nie odbywa się poprzez system przerwań, ponieważ przerwania są mechanizmem umożliwiającym procesorowi reagowanie na zdarzenia zewnętrzne, a nie transfer danych między pamięcią a procesorem. Przerwania są używane głównie do komunikacji z urządzeniami peryferyjnymi, które informują procesor o konieczności przetworzenia danych, a nie do bezpośredniej interakcji z pamięcią podręczną. Ponadto stwierdzenie, że procesor komunikuje się z pamięcią podręczną, wykorzystując jedynie pamięć RAM, jest błędne, ponieważ pamięć RAM i pamięć podręczna to różne typy pamięci, o różnych szybkościach i funkcjach. Pamięć podręczna jest znacznie szybsza i działa jako pośrednik między procesorem a wolniejszą pamięcią RAM, co oznacza, że procesor nie korzysta z pamięci RAM do komunikacji z pamięcią podręczną. Warto również zaznaczyć, że komunikacja bezpośrednia z pominięciem mostków systemowych jest niepraktyczna i technicznie niemożliwa. Mostki systemowe są niezbędne do zarządzania ruchem danych między różnymi komponentami w architekturze komputerowej, a ich pominięcie mogłoby prowadzić do chaosu w komunikacji oraz znacznie obniżyć wydajność systemu.

Pytanie 38

Jakie informacje można uzyskać na temat metod w klasie Point?

Ilustracja do pytania
A. Zawierają błąd, ponieważ nazwy metod powinny być różne.
B. Służą jako konstruktory w zależności od liczby argumentów.
C. Zawierają przeciążenie operatora.
D. Są przeciążone.
Metody klasy Point są przeciążone, co oznacza, że mogą mieć tę samą nazwę, ale różnią się liczbą lub typem parametrów. Przeciążenie metod to jedna z podstawowych technik programowania obiektowego, która pozwala na bardziej elastyczne projektowanie kodu. Dzięki temu programista może tworzyć metody dostosowane do różnych sytuacji, zachowując spójność nazw i intuicyjność użycia. To zwiększa czytelność i utrzymanie kodu, ponieważ wywołania metod o tej samej nazwie, ale różnych parametrach, są łatwe do zrozumienia i odnalezienia.

Pytanie 39

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

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

Pytanie 40

Jaką wydajność posiada sieć, która przesyła 500 MB danych w czasie 10 sekund?

A. 40 Mbps
B. 400 Mbps
C. 500 Mbps
D. 50 Mbps
Pierwsza odpowiedź, czyli 50 Mbps, jest znacznie za niska. Przy obliczeniach 500 MB w ciągu 10 sekund, ta wartość sugeruje, że tylko niewielka część danych zostałaby przesłana, co nie ma sensu w kontekście technicznym. Z tak małą przepustowością sieć byłaby totalnie nieefektywna, a transfer zająłby o wiele więcej czasu. Z kolei odpowiedź 400 Mbps jest wprawdzie blisko, ale też nie do końca poprawna, bo prawidłowy wynik to 500 Mbps. Chodzi o to, że nie liczy to całkowitej ilości danych w megabitach oraz czasu przesyłu. A na końcu, odpowiedź 40 Mbps to już totalna pomyłka, bo sugeruje ekstremalnie wolny transfer, co na pewno nie wystarczyłoby do przesłania 500 MB w takim krótkim czasie. Taka przepustowość nie spełnia wymagań nowoczesnych aplikacji jak strumieniowe przesyłanie wideo czy komunikacja na żywo, gdzie transfery na poziomie setek megabitów na sekundę to standard.