Wyniki egzaminu

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

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

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

Która z wymienionych sytuacji stanowi naruszenie praw autorskich?

A. Nabycie licencji na oprogramowanie
B. Używanie programu typu open-source zgodnie z warunkami licencji
C. Tworzenie kopii zapasowej legalnie zakupionego programu
D. Udostępnianie filmu objętego prawami autorskimi bez zgody właściciela
Publikowanie filmu chronionego prawami autorskimi bez zgody właściciela jest naruszeniem praw autorskich. Prawa autorskie chronią twórców przed nieuprawnionym kopiowaniem, dystrybucją i rozpowszechnianiem ich dzieł. W przypadku filmów, muzyki czy oprogramowania, każde użycie bez odpowiednich licencji lub zgody właściciela jest niezgodne z prawem. Twórcy mają prawo do wynagrodzenia za swoją pracę, a naruszenia mogą skutkować wysokimi grzywnami, a nawet postępowaniem sądowym. Przestrzeganie praw autorskich wspiera rozwój kultury i technologii, chroniąc interesy twórców.

Pytanie 2

Jaki z wymienionych komponentów jest kluczowy do inicjalizacji pola klasy podczas tworzenia instancji obiektu?

A. Konstruktor
B. Funkcja zaprzyjaźniona
C. Instrukcja warunkowa
D. Metoda statyczna
Metoda statyczna działa na poziomie klasy, a nie obiektu, i nie jest używana do inicjalizacji pól instancji. Funkcja zaprzyjaźniona może mieć dostęp do prywatnych pól klasy, ale jej głównym celem nie jest inicjalizacja obiektu – służy do wykonywania operacji na istniejących obiektach. Instrukcja warunkowa kontroluje przepływ programu, ale nie jest odpowiedzialna za inicjalizację pól klasy – jest to zadanie konstruktora, który działa automatycznie przy tworzeniu obiektu.

Pytanie 3

Jakie funkcje realizuje polecenie "git clone"?

A. Usuwa zdalne repozytorium
B. Łączy dwa branche w repozytorium
C. Tworzy lokalną kopię już istniejącego repozytorium
D. Rejestruje zmiany w historii repozytorium
Polecenie 'git clone' tworzy kopię lokalną istniejącego repozytorium, co pozwala programistom na szybkie rozpoczęcie pracy z projektem. Proces ten pobiera całą historię commitów oraz wszystkie gałęzie repozytorium, dzięki czemu użytkownik posiada pełną wersję projektu na swoim komputerze. Jest to podstawowe polecenie podczas rozpoczynania pracy nad nowym projektem, który znajduje się na platformach takich jak GitHub, GitLab czy Bitbucket. 'git clone' umożliwia również sklonowanie repozytoriów prywatnych, pod warunkiem posiadania odpowiednich uprawnień dostępu.

Pytanie 4

Zaprezentowane oznaczenie praw Creative Commons umożliwia bezpłatne wykorzystywanie utworu

Ilustracja do pytania
A. w celu dokonywania zmian lub remiksowania
B. pod warunkiem udostępnienia go na takiej samej licencji
C. pod warunkiem zachowania go w pierwotnej formie
D. w celach komercyjnych
Odpowiedź dotycząca możliwości zmiany lub remiksowania utworu jest prawidłowa w kontekście oznaczeń Creative Commons takich jak CC BY lub CC BY-NC. Licencje te umożliwiają korzystanie z utworu w sposób zmieniony czy remiksowany pod warunkiem spełnienia określonych wymogów. CC BY wymaga jedynie przypisania autorstwa, co daje twórcom dużą elastyczność w adaptacji i modyfikacji dzieła, co znajduje zastosowanie w projektach edukacyjnych, artystycznych czy badawczych. Działania takie mogą obejmować tworzenie adaptacji, tłumaczeń, mashupów czy nowych kreatywnych form bazujących na oryginale. CC BY-NC natomiast ogranicza użycie komercyjne, ale nadal zezwala na modyfikacje w niekomercyjnych kontekstach. Remiksowanie muzyki, tworzenie nowych wersji wideo czy projektów graficznych są popularnymi praktykami w społeczności twórców, co promuje innowacje i rozwój kultury open source. Ważne jest, aby użytkownicy byli świadomi warunków licencji i poprawnie przypisywali autorstwo, co nie tylko spełnia wymogi prawne, ale również wspiera etos współpracy i uczciwości w społeczności twórczej. Zaangażowanie w twórczość w oparciu o licencje Creative Commons przyczynia się do propagowania wiedzy i kultury oraz wspiera zrównoważony rozwój społeczności twórczych.

Pytanie 5

Który z wymienionych typów danych należy do typu logicznego?

A. char
B. int
C. float
D. bool
Typ danych 'bool' (boolean) jest typem logicznym, który przechowuje jedną z dwóch wartości: 'true' lub 'false'. Typy logiczne są nieodłącznym elementem programowania, ponieważ umożliwiają implementację warunków i pętli sterujących przepływem programu. Typ 'bool' znajduje zastosowanie w praktycznie każdym języku programowania, w tym C++, Java, Python i C#. Operacje logiczne, takie jak 'AND', 'OR' i 'NOT', opierają się na wartościach typu 'bool', co czyni je podstawą dla algorytmów decyzyjnych i strukturalnych. Zastosowanie typów logicznych zwiększa czytelność kodu i pozwala na efektywne zarządzanie warunkami logicznymi.

Pytanie 6

Zapisany kod w języku Python ilustruje

Ilustracja do pytania
A. kolejkę (LIFO)
B. tablicę asocjacyjną (słownik)
C. strukturę
D. stos
W tym zadaniu mamy do czynienia z tablicą asocjacyjną, która w Pythonie nazywa się słownikiem. Słownik to taki fajny sposób na przechowywanie par klucz-wartość, co jest naprawdę przydatne. W naszym przypadku kluczami są symbole chemiczne, jak N czy O, a wartościami ich pełne nazwy, czyli Azot oraz Tlen. Dzięki tej strukturze można szybko sięgnąć po konkretne dane, co jest bardzo pomocne w różnych sytuacjach. Na przykład, można używać ich do przechowywania konfiguracji albo do prostych baz danych. Warto też dodać, że słowniki świetnie pasują do obiektów JSON, co jest ważne w tworzeniu aplikacji webowych. Dają nam dużą elastyczność i robią to w bardzo efektywny sposób, dlatego są jednym z kluczowych elementów Pythona. Ułatwiają pisanie kodu, który jest zarówno czytelny, jak i funkcjonalny.

Pytanie 7

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

Ilustracja do pytania
A. polimorfizm
B. abstrakcja
C. hermetyzacja
D. dziedziczenie
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 8

Jakie jest podstawowe zadanie funkcji zaprzyjaźnionej w danej klasie?

A. Umożliwienie funkcji dostępu do prywatnych atrybutów klasy
B. Dodawanie nowych instancji do klasy
C. Generowanie kopii pól obiektu w innej klasie
D. Ograniczenie widoczności atrybutów klasy
Funkcja zaprzyjaźniona umożliwia dostęp do prywatnych i chronionych składowych klasy, z którą jest zaprzyjaźniona. To mechanizm, który pozwala na utrzymanie hermetyzacji, jednocześnie umożliwiając wybranym funkcjom lub klasom bezpośredni dostęp do wewnętrznych danych innej klasy. Funkcje zaprzyjaźnione często są stosowane do operacji, które wymagają dostępu do wewnętrznych danych klasy, ale nie powinny być jej metodami, np. operacje arytmetyczne lub porównawcze na obiektach tej klasy.

Pytanie 9

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

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

Pytanie 10

Metodyka zwinna (ang. agile) opiera się na

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

Pytanie 11

Jakie jest podstawowe użycie metod wirtualnych?

A. Umożliwienie dynamicznego wiązania metod w czasie wykonania
B. Zapewnienie, że metoda działa wyłącznie na danych statycznych
C. Umożliwienie wielokrotnego dziedziczenia
D. Umożliwienie korzystania z metod bezpośrednio z klasy bazowej
Umożliwienie korzystania z metod bezpośrednio z klasy bazowej nie jest funkcją metod wirtualnych – to raczej standardowa cecha metod publicznych. Metody działające wyłącznie na danych statycznych nie mogą być wirtualne, ponieważ ich działanie nie jest zależne od instancji klasy. Umożliwienie wielokrotnego dziedziczenia jest funkcją konstrukcji dziedziczenia w językach takich jak C++, ale samo w sobie nie wymaga metod wirtualnych, chociaż mogą one być używane w kontekście wielokrotnego dziedziczenia.

Pytanie 12

Termin ryzyko zawodowe odnosi się do

A. prawdopodobieństwa, że zdarzenia niepożądane związane z pracą spowodują straty, w szczególności negatywne skutki zdrowotne dla pracowników
B. efektów zagrożeń wypadkowych, jakie występują w miejscu zatrudnienia
C. ciężkości skutków niepożądanych zdarzeń związanych z pracą
D. zagrożenia wypadkowego, które może wystąpić w miejscu pracy
Zagrożenie wypadkowe – Odnosi się do specyficznych niebezpieczeństw, a nie prawdopodobieństwa ich wystąpienia. Skutki zagrożeń – Dotyczą konsekwencji, ale nie są definicją ryzyka. Ciężkość następstw – Określa konsekwencje, ale ryzyko odnosi się do prawdopodobieństwa.

Pytanie 13

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

A. Rozpocząć resuscytację krążeniowo-oddechową
B. Sprawdzić, czy występuje krwawienie
C. Wezwać ambulans
D. Zadbać o własne bezpieczeństwo
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 14

Która z wymienionych kart graficznych oferuje lepszą wydajność w grach komputerowych?

A. NVIDIA GeForce GTX 1050 Ti - 4GB GDDR5, 128-bit
B. AMD Radeon R7 240 - 2GB GDDR5, 64-bit
C. AMD Radeon RX 580 - 8GB GDDR5, 256-bit
D. Intel UHD Graphics 630 - zintegrowana
AMD Radeon RX 580 to karta graficzna, która zapewnia wyższą wydajność w grach komputerowych w porównaniu do innych wymienionych opcji. Wyposażona w 8GB pamięci GDDR5 oraz 256-bitową szynę danych, karta ta jest w stanie obsługiwać bardziej złożone tekstury oraz większe rozdzielczości. Jej architektura Polaris pozwala na lepsze zarządzanie energią oraz wydajność w grach, co czyni ją idealnym wyborem dla graczy. Dzięki obsłudze technologii DirectX 12 i Vulkan, RX 580 jest w stanie wykorzystać najnowsze osiągnięcia w dziedzinie grafiki, co przekłada się na wyższą jakość obrazu oraz płynność animacji. Przykłady gier, w których RX 580 sprawdza się najlepiej to 'Far Cry 5' czy 'Shadow of the Tomb Raider', gdzie karta umożliwia granie w wysokich ustawieniach graficznych z zachowaniem wysokiej liczby klatek na sekundę. Standardy, takie jak PCIe 3.0, zapewniają pełną kompatybilność z nowoczesnymi płytami głównymi, co czyni tę kartę doskonałym wyborem dla entuzjastów gier komputerowych.

Pytanie 15

Jaką rolę pełni element statyczny w klasie?

A. Automatycznie likwiduje obiekty klasy po zakończeniu działania programu
B. Zachowuje wspólną wartość dla wszystkich instancji tej klasy
C. Ogranicza dostęp do metod publicznych w klasie
D. Pozwala na dynamiczne dodawanie nowych metod
Dynamiczne tworzenie nowych metod to zadanie metaprogramowania lub refleksji, a nie funkcjonalność składników statycznych. Ograniczenie dostępu do metod publicznych jest realizowane za pomocą modyfikatorów dostępu, takich jak 'private' czy 'protected', a nie przez składniki statyczne. Automatyczne usuwanie obiektów klasy jest zadaniem destruktora i mechanizmu garbage collection (GC), a nie cechą składnika statycznego.

Pytanie 16

Która z wymienionych metod jest najodpowiedniejsza do wizualizacji procesu podejmowania decyzji?

A. Drzewo decyzyjne
B. Schemat blokowy
C. Lista kroków
D. Pseudokod
Pseudokod to tekstowy zapis algorytmu, który ułatwia zrozumienie logiki, ale nie zapewnia wizualnego odwzorowania procesu. Drzewo decyzyjne to struktura, która lepiej nadaje się do przedstawiania skomplikowanych decyzji wieloetapowych, ale nie odzwierciedla ogólnego przepływu operacji. Lista kroków to forma sekwencyjnego opisu operacji, lecz brakuje jej wizualizacji, co utrudnia szybkie rozpoznawanie błędów i optymalizację procesu decyzyjnego.

Pytanie 17

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

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

Pytanie 18

Która grupa typów zawiera wyłącznie typy złożone?

A. class, struct, float
B. unsigned, struct, float
C. class, struct, union
D. char, struct, union
Class, struct i union to typy złożone, które mogą przechowywać wiele różnych wartości i struktur danych. Klasy i struktury są podstawą programowania obiektowego, a unie (union) pozwalają na efektywne zarządzanie pamięcią poprzez współdzielenie miejsca w pamięci dla różnych typów danych.

Pytanie 19

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

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

Jakie jest poprawne określenie interfejsu (szablonu klasy) w języku Java?

Ilustracja do pytania
A. Definicja 4
B. Definicja 1
C. Definicja 3
D. Definicja 2
W języku Java interfejs określa zbiór abstrakcyjnych metod, które klasa implementująca musi zaimplementować. Poprawna definicja interfejsu nie zawiera zmiennych instancji ani konstruktorów, co jest błędem w pierwszej definicji. Interfejsy służą do deklarowania metod, które są automatycznie publiczne i abstrakcyjne. W czwartej definicji, interfejs IMyInterface zawiera dwie metody mth1 i mth2 bez implementacji, co jest zgodne z zasadami Javy. Metody w interfejsie nie mają ciał, co wskazuje, że są przeznaczone do implementacji w klasie, która zadeklaruje się jako implementująca ten interfejs. Interfejsy są kluczowe dla polimorfizmu w Javie, pozwalając na tworzenie kodu, który może pracować z obiektami różnych klas w jednolity sposób, o ile klasy te implementują wspólny interfejs. Zastosowanie interfejsów zwiększa spójność i elastyczność kodu, umożliwiając łatwe dodawanie nowych funkcjonalności bez ingerencji w istniejącą strukturę kodu. Interfejsy są także wykorzystywane do tworzenia klasycznych wzorców projektowych jak Adapter, Strategia czy Obserwator, co jest dobrą praktyką w programowaniu obiektowym.

Pytanie 21

Jakie jest wymagane minimalne natężenie światła w biurze na stanowisku pracy?

A. 200 lx
B. 100 lx
C. 500 lx
D. 800 lx
Minimalne natężenie oświetlenia, jakie powinno być w biurze, to 500 lx (luksów). To taki standard, który ustalono w normach BHP i ergonomii. Dzięki temu lepiej się pracuje przy komputerze i łatwiej robić zadania, które wymagają dobrego wzroku. Odpowiednie oświetlenie zdecydowanie zmniejsza zmęczenie oczu i poprawia koncentrację, co jest istotne, żeby uniknąć bólów głowy i być bardziej efektywnym w pracy. Ważne, żeby światło było równomierne i nie odbijało się na monitorze, bo to może rozpraszać. Warto dbać o takie warunki, bo to zmniejsza ryzyko problemów ze wzrokiem, a komfort pracy jest mega ważny, zwłaszcza gdy ktoś spędza dużo czasu przed komputerem.

Pytanie 22

Na schemacie widoczny jest fragment diagramu blokowego pewnego algorytmu. Ile razy zostanie zweryfikowany warunek n<7?

Ilustracja do pytania
A. 5
B. 6
C. 8
D. 7
Warunek 'n < 7' będzie sprawdzany dokładnie 6 razy. To dlatego, że w klasycznej pętli for czy while liczba powtórzeń jest zawsze o jeden mniejsza niż wartość graniczna. Jak widzisz, w takich schematach liczba porównań idzie w parze z liczbą iteracji, a pętla zatrzymuje się, jak tylko warunek zostanie spełniony.

Pytanie 23

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

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

Pytanie 24

W jakiej fazie cyklu życia projektu informatycznego następuje integracja oraz testowanie wszystkich modułów systemu?

A. Etap implementacji
B. Faza wdrożenia
C. Etap planowania
D. Faza analizy
Planowanie to faza początkowa, w której określane są cele projektu, harmonogram i zasoby, ale nie jest to etap integracji systemu. Analiza skupia się na zbieraniu wymagań i definiowaniu specyfikacji technicznej, ale nie obejmuje łączenia modułów ani testowania gotowego produktu. Wdrożenie to końcowy etap cyklu życia projektu, który następuje po pełnej integracji i testowaniu – polega na uruchomieniu systemu w środowisku produkcyjnym i udostępnieniu go użytkownikom końcowym.

Pytanie 25

Zaprezentowany diagram ilustruje wyniki przeprowadzonych testów:

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

Pytanie 26

Który z frameworków pozwala na tworzenie aplikacji z graficznym interfejsem użytkownika oraz obsługą wydarzeń?

A. Django
B. TensorFlow
C. Express.js
D. Qt
Qt to framework umożliwiający projektowanie aplikacji z graficznym interfejsem użytkownika (GUI) oraz obsługą zdarzeń. Qt oferuje narzędzia takie jak Qt Designer, które umożliwiają tworzenie interfejsów metodą 'przeciągnij i upuść'. Jest to jedno z najbardziej wszechstronnych narzędzi do budowy aplikacji wieloplatformowych, umożliwiające tworzenie oprogramowania dla Windows, macOS, Linux oraz urządzeń mobilnych. Qt obsługuje zdarzenia użytkownika, animacje, grafikę 3D i inne zaawansowane funkcjonalności, co czyni go idealnym narzędziem do budowy nowoczesnych aplikacji desktopowych i mobilnych.

Pytanie 27

Który z wymienionych frameworków służy do budowy aplikacji webowych w C#?

A. Django
B. Angular
C. ASP.NET Core
D. React.js
ASP.NET Core to nowoczesny, wydajny i skalowalny framework opracowany przez Microsoft, który jest przeznaczony do budowy aplikacji webowych w języku C#. ASP.NET Core umożliwia tworzenie dynamicznych stron internetowych, API oraz aplikacji mikroserwisowych. Jego modularność i wsparcie dla kontenerów (Docker) oraz chmury sprawiają, że jest to jeden z najczęściej wybieranych frameworków w środowiskach enterprise. ASP.NET Core obsługuje zarówno aplikacje serwerowe, jak i aplikacje klient-serwer, a dzięki technologii Razor Pages i Blazor pozwala na budowanie aplikacji, w których logika biznesowa jest ściśle zintegrowana z warstwą prezentacji. Dodatkowo ASP.NET Core oferuje wbudowane mechanizmy do zarządzania tożsamością użytkowników, autoryzacji i autentykacji, co czyni go doskonałym wyborem do tworzenia aplikacji biznesowych oraz korporacyjnych.

Pytanie 28

Aplikacje webowe stworzone z użyciem frameworka Angular lub biblioteki React, działające na standardowych portach, można uruchomić na lokalnym serwerze, wpisując w przeglądarkę

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

Pytanie 29

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

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

Pytanie 30

Jaki język programowania został stworzony z myślą o tworzeniu aplikacji na system Android?

A. Java
B. Swift
C. Python
D. Objective-C
Swift? To język, który Apple wymyśliło dla swoich aplikacji na iOS i macOS, więc nie ma go w Androidzie. Objective-C też jest używany do aplikacji Apple, ale na Androida nie zadziała. Python jest super i bardzo uniwersalny, ale nie jest językiem, który na Androidzie działa natywnie – są co prawda frameworki, jak Kivy, które pozwalają na pisanie aplikacji w Pythonie, ale to nie jest standard dla Androida.

Pytanie 31

Który z wymienionych elementów NIE stanowi części instrukcji dla użytkownika programu?

A. Rozwiązywanie problemów związanych z użytkowaniem aplikacji
B. Opis metody instalacji aplikacji
C. Opis testów jednostkowych
D. Instrukcje dotyczące obsługi poszczególnych funkcji aplikacji
Instrukcja użytkownika programu zawiera opisy dotyczące sposobu instalacji aplikacji, konfiguracji oraz obsługi poszczególnych funkcji. Jest to kluczowy dokument pomagający użytkownikom w szybkim wdrożeniu się w pracę z oprogramowaniem. Zawiera również sekcje dotyczące rozwiązywania typowych problemów oraz wskazówki, jak efektywnie korzystać z narzędzi i funkcji aplikacji. Instrukcja użytkownika może być dostępna w formie elektronicznej (PDF, strony WWW) lub papierowej, a jej celem jest uproszczenie procesu wdrażania oraz ograniczenie liczby zgłoszeń do działu wsparcia technicznego. Dokumentacja tego typu stanowi również ważny element budowania pozytywnego doświadczenia użytkownika (UX).

Pytanie 32

Celem mechanizmu obietnic (ang. promises) w języku JavaScript jest

A. ulepszenie czytelności kodu synchronicznego
B. zarządzanie przechwytywaniem błędów aplikacji
C. zastąpienie mechanizmu dziedziczenia w programowaniu obiektowym
D. zarządzanie funkcjonalnością związaną z kodem asynchronicznym
Mechanizm obietnic (Promises) w JavaScript umożliwia obsługę kodu asynchronicznego. Pozwala na efektywne zarządzanie operacjami, które mogą się zakończyć sukcesem lub błędem w przyszłości, np. pobieranie danych z API. Promisy umożliwiają unikanie tzw. 'callback hell' i poprawiają czytelność kodu.

Pytanie 33

Wynik dodawania liczb binarnych 1101 i 1001 to

A. 1001
B. 10111
C. 1110
D. 10110
Sumą liczb binarnych 1101 i 1001 jest 10110. Dodawanie binarne odbywa się analogicznie do dodawania dziesiętnego, z przeniesieniem jedności na kolejny bit, co prowadzi do poprawnego wyniku.

Pytanie 34

Do form komunikacji werbalnej zalicza się

A. pozycja ciała
B. wyraz twarzy
C. gestykulacja
D. mówienie
Mówienie jest formą komunikacji werbalnej, która obejmuje przekazywanie informacji za pomocą słów. Jest to podstawowy sposób wyrażania myśli, instrukcji i emocji w bezpośredniej interakcji z innymi osobami.

Pytanie 35

Jaką funkcję pełnią okna dialogowe niemodalne?

A. zarządzania ustawieniami aplikacji, jako okno, które pozostaje widoczne na ekranie przez cały czas trwania aplikacji
B. wstrzymywania działania aplikacji w czasie wprowadzania oraz zatwierdzania danych
C. prezentowania komunikatów, które wymagają potwierdzenia, aby kontynuować działanie aplikacji
D. zarządzania stanem aplikacji za pomocą systemów menu
Okna dialogowe niemodalne umożliwiają interakcję z innymi elementami aplikacji nawet wtedy, gdy są otwarte. Są często wykorzystywane w ustawieniach aplikacji, pozwalając użytkownikowi na wprowadzanie zmian i jednoczesne korzystanie z innych funkcji programu.

Pytanie 36

Jakie jest podstawowe założenie normalizacji krajowej?

A. Zwiększenie ilości regulacji prawnych
B. Ujednolicenie wymagań technicznych i poprawa bezpieczeństwa
C. Wzrost kosztów produkcji
D. Utrudnienie handlu międzynarodowego
Ujednolicenie wymagań technicznych i poprawa bezpieczeństwa to główne cele normalizacji krajowej. Normalizacja polega na opracowywaniu standardów, które są stosowane w różnych branżach w celu zapewnienia jakości, bezpieczeństwa i kompatybilności produktów oraz usług. Dzięki normalizacji producenci tworzą wyroby zgodne z określonymi normami, co zwiększa ich konkurencyjność na rynku krajowym i międzynarodowym. Wdrożenie jednolitych standardów wpływa także na bezpieczeństwo użytkowników, minimalizując ryzyko awarii lub niezgodności produktów.

Pytanie 37

Który z wymienionych dokumentów jest najczęściej stosowany w zarządzaniu pracą zespołu Scrum?

A. Specyfikacja techniczna
B. Diagram Gantta
C. Product backlog
D. Lista zasobów ludzkich
Product backlog to taki ważny dokument w Scrumie, właściwie to serce całego projektu. Zawiera listę funkcji, które chcemy mieć w produkcie, a wszystko to jest poukładane według tego, co jest najważniejsze. Fajnie, że ten dokument jest żywy – zmienia się w miarę jak rozwija się projekt i dostajemy nowe info od klienta. Dzięki temu zespół może się skupić na tym, co naprawdę ma znaczenie, a to sprawia, że dostarczamy wartość w rytm iteracji. Ta elastyczność backlogu to mega atut, bo pozwala na szybkie reagowanie na zmiany w wymaganiach, a to w dzisiejszym świecie projektowym jest kluczowe.

Pytanie 38

W metodach klasy GoldCustomer dostępne są tylko pola

Ilustracja do pytania
A. GoldPoints, Name, Id, Age
B. GoldPoints, Name
C. GoldPoints, Name, Id
D. GoldPoints
Pole Age nie jest dostępne w tej implementacji, ponieważ nie jest zdefiniowane lub odziedziczone. Widoczność wyłącznie GoldPoints oznacza, że pozostałe pola są prywatne lub nieistniejące. Tylko GoldPoints bez Id i Name to niepełny zestaw pól wymaganych do prawidłowej funkcjonalności klasy.

Pytanie 39

Jakie cechy powinien posiadać skuteczny negocjator?

A. asertywność, pesymizm, buta
B. intuicja, cierpliwość, asertywność
C. dobra reputacja, przekora, porywczość
D. lojalność, nieśmiałość, uczciwość
Cechy dobrego negocjatora to intuicja, cierpliwość i asertywność. Negocjator powinien umieć ocenić sytuację, przewidzieć reakcje drugiej strony i stanowczo, lecz spokojnie dążyć do celu. Te cechy pomagają budować relacje, znajdować kompromisy i skutecznie rozwiązywać konflikty, co jest kluczowe w biznesie i codziennych interakcjach.

Pytanie 40

W jaki sposób określa się wypadek związany z pracą?

A. Każde zdarzenie, które wymaga interwencji technicznej w miejscu zatrudnienia
B. Każdy incydent wynikający z działania osób trzecich
C. Nagłe zdarzenie związane z pracą, powodujące uraz lub śmierć
D. Każde zdarzenie, które prowadzi do opóźnienia w wykonaniu obowiązków
Wypadek przy pracy to nagłe zdarzenie związane z wykonywaną pracą, które powoduje uraz lub śmierć pracownika. Wypadki te mogą być wynikiem zaniedbań, nieprzestrzegania zasad BHP lub nieodpowiedniego zabezpieczenia stanowiska pracy. Przykładami wypadków przy pracy są upadki z wysokości, porażenia prądem, oparzenia chemiczne lub uszkodzenia ciała przez maszyny. Pracodawca jest zobowiązany do zgłaszania każdego wypadku przy pracy, prowadzenia dochodzenia w celu ustalenia przyczyn i wdrażania działań zapobiegających powtórzeniu się podobnych sytuacji. Wypadki przy pracy są jedną z głównych przyczyn absencji oraz roszczeń pracowniczych, dlatego prewencja i edukacja w zakresie BHP są niezwykle istotne.