Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
  • Data rozpoczęcia: 10 stycznia 2025 09:41
  • Data zakończenia: 10 stycznia 2025 09:51

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

Wymagane minimum: 20 punktów (50%)

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

Do zadań widoku w architekturze MVVM (Model_View-Viewmodel) należy

A. przechowywanie ściągniętych i przetworzonych informacji
B. zarządzanie logiką aplikacji - obejmuje wdrażanie algorytmów
C. przekazywanie danych do widoku oraz wymiana informacji z modelem
D. obsługa interakcji użytkownika, stworzenie UI
Wzorzec MVVM (Model-View-ViewModel) zakłada, że widok (View) odpowiada za interakcję użytkownika i prezentację interfejsu. Rozdzielenie logiki aplikacji i interfejsu ułatwia zarządzanie kodem i jego testowanie.

Pytanie 2

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

A. Są statycznie dołączane do pliku wykonywalnego
B. Są ładowane w trakcie działania aplikacji
C. Zawierają kod źródłowy aplikacji
D. Są ładowane podczas kompilacji
Biblioteki dynamiczne, znane też jako DLL w Windows czy SO w Unix/Linux, ładują się do pamięci, gdy program działa. To super, bo dzięki temu aplikacja nie marnuje zasobów, a jak zajdzie potrzeba, to może z nich korzystać. Można też aktualizować te biblioteki bez potrzeby rekompilacji całego programu – to duża wygoda. Dzięki dynamicznemu ładowaniu kod może być współdzielony przez różne aplikacje, a to zmniejsza rozmiar plików i sprawia, że łatwiej się tym wszystkim zarządza.

Pytanie 3

Jak wygląda kod uzupełnienia do dwóch dla liczby -5 w formacie binarnym przy użyciu 8 bitów?

A. 10000101
B. 11111101
C. 00000101
D. 11111011
Pierwsza z niepoprawnych odpowiedzi, która przedstawia wartość 00000101, jest błędna, ponieważ jest to binarna reprezentacja liczby 5, a nie -5. Kod uzupełnieniowy do dwóch wymaga przedstawienia liczby ujemnej poprzez inwersję bitów i dodanie jedynki. Ta odpowiedź nie ma zastosowania przy obliczaniu liczb ujemnych, stąd jest niewłaściwa. Kolejna odpowiedź, 11111101, również jest nieprawidłowa. W przypadku tej liczby, zainwersowanie bitów liczby 5 dawałoby 11111010, a dodanie 1 do tej wartości prowadziłoby do 11111011, co wskazuje, że ta odpowiedź nie jest zgodna z zasadą uzupełnienia do dwóch. Ostatnia z niepoprawnych odpowiedzi, 10000101, jest również błędna, ponieważ nie odpowiada żadnej z reprezentacji liczby -5. Gdybyśmy spróbowali konwertować ją z powrotem na wartość dziesiętną, otrzymalibyśmy 133, co jest zdecydowanie niepoprawne. Warto zauważyć, że każda z tych niepoprawnych odpowiedzi wskazuje na brak zrozumienia zasad konwersji liczb ujemnych w systemie binarnym, co jest kluczowe w informatyce i programowaniu, a ich użycie w praktycznych aplikacjach mogłoby prowadzić do poważnych błędów w obliczeniach.

Pytanie 4

Który z języków programowania jest powszechnie stosowany do tworzenia interfejsów użytkownika przy użyciu XAML?

A. C++
B. Objective-C
C. C#
D. Java
C# to język programowania szeroko stosowany w tworzeniu aplikacji desktopowych, w tym do budowy interfejsów użytkownika przy użyciu XAML. XAML (Extensible Application Markup Language) to język znaczników wykorzystywany w środowisku WPF (Windows Presentation Foundation) oraz UWP (Universal Windows Platform) do projektowania graficznych interfejsów użytkownika. C# i XAML doskonale się uzupełniają, pozwalając na tworzenie nowoczesnych, interaktywnych aplikacji desktopowych, w których logika (C#) jest oddzielona od warstwy wizualnej (XAML). Dzięki tej separacji możliwe jest szybkie prototypowanie i łatwa rozbudowa aplikacji, co czyni je preferowanym wyborem dla deweloperów pracujących w ekosystemie Microsoftu.

Pytanie 5

Jakie są kluczowe różnice między typami stałoprzecinkowymi a zmiennoprzecinkowymi?

A. Typy stałoprzecinkowe obsługują liczby ujemne, natomiast typy zmiennoprzecinkowe tylko dodatnie
B. Typy zmiennoprzecinkowe przechowują wyłącznie liczby ujemne
C. Typy stałoprzecinkowe wymagają większej ilości pamięci niż typy zmiennoprzecinkowe
D. Typy stałoprzecinkowe przechowują liczby całkowite, a typy zmiennoprzecinkowe przechowują liczby z ułamkami dziesiętnymi
Główna różnica między typami stałoprzecinkowymi a zmiennoprzecinkowymi polega na tym, że stałoprzecinkowe przechowują liczby całkowite, podczas gdy zmiennoprzecinkowe przechowują liczby z częściami dziesiętnymi. Stałoprzecinkowe typy, takie jak 'int', są bardziej efektywne pod względem wydajności i zajmują mniej pamięci, co czyni je idealnym rozwiązaniem w przypadkach, gdzie precyzja dziesiętna nie jest wymagana. Z kolei typy zmiennoprzecinkowe, takie jak 'float' i 'double', umożliwiają dokładne reprezentowanie wartości niecałkowitych, co jest niezbędne w aplikacjach matematycznych i graficznych. Każdy z tych typów ma swoje zastosowanie w zależności od wymagań projektu.

Pytanie 6

Jakie narzędzie wspiera tworzenie aplikacji desktopowych?

A. Angular
B. Xamarin
C. WPF
D. Symfony
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 7

Jakie cechy posiada model prototypowy w zakresie zarządzania projektami?

A. Szczegółowym planowaniem każdego etapu projektu przed jego realizacją
B. Przygotowaniem wersji systemu w ograniczonym zakresie w celu uzyskania opinii od użytkownika
C. Realizowaniem pełnej wersji produktu przed przeprowadzeniem testów
D. Rozwojem produktu w sposób iteracyjny w krótkich cyklach
Robienie pełnej wersji produktu przed testowaniem to cecha modelu kaskadowego (Waterfall), co sprawia, że ryzyko błędów jest większe, bo wszystko dostajemy na sam koniec. Z kolei w metodach Agile rozwijamy produkt w krótkich cyklach, co jest zupełnie innym podejściem, bo regularnie dodajemy nowe funkcjonalności. Planowanie wszystkiego z góry to raczej klasyczne modele sekwencyjne, ale zapominają o takim ważnym elemencie jak prototypowanie i iteracje.

Pytanie 8

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

A. zastąpienie mechanizmu dziedziczenia w programowaniu obiektowym
B. zarządzanie przechwytywaniem błędów aplikacji
C. zarządzanie funkcjonalnością związaną z kodem asynchronicznym
D. ulepszenie czytelności kodu synchronicznego
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 9

Modyfikator dostępu znajdujący się przed definicją metody Dodaj() w klasie Kalkulator sprawia, że:

Ilustracja do pytania
A. jest ona dostępna zarówno w samej klasie, jak i w klasach dziedziczących po klasie Kalkulator
B. nie jest ona osiągalna w klasach, które dziedziczą po klasie Kalkulator
C. nie jest ona dostępna z poziomu klas, które są zaprzyjaźnione z klasą Kalkulator
D. jest ona możliwa do wykorzystania w programie głównym i można ją wywołać na instancji klasy Kalkulator
Modyfikator dostępu w C# to taki fajny element, który pozwala, żeby metoda Dodaj() była dostępna nie tylko w klasie Kalkulator, ale też w klasach, które dziedziczą po niej. To naprawdę ważne w programowaniu obiektowym, bo dzięki temu możesz rozbudowywać funkcje klasy bazowej, nie grzebiąc w jej kodzie. To w sumie daje większą elastyczność i ułatwia ponowne wykorzystywanie fragmentów kodu w różnych częściach aplikacji.

Pytanie 10

Pierwszym krokiem w procesie tworzenia aplikacji jest

A. opracowanie architektury systemu
B. wybór zestawu typów i zmiennych dla aplikacji
C. stworzenie przypadków testowych
D. analiza wymagań klienta
Analiza wymagań klienta to kluczowy, pierwszy etap tworzenia aplikacji. Pozwala na określenie potrzeb, funkcjonalności i założeń systemu, co jest podstawą do dalszego projektowania architektury oraz implementacji.

Pytanie 11

Który z algorytmów ma złożoność O(n<sup>2</sup>)?

A. Dijkstra
B. Binary Search
C. Bubble Sort
D. Merge Sort
Bubble Sort to algorytm o złożoności O(n²), co oznacza, że jego czas wykonania rośnie kwadratowo wraz ze wzrostem liczby elementów wejściowych. Algorytm porównuje sąsiadujące elementy i zamienia je miejscami, jeśli są w złej kolejności. Proces ten powtarza się wielokrotnie, aż do uzyskania pełnego posortowania tablicy. Ze względu na swoją prostotę, Bubble Sort jest często wykorzystywany do nauki podstaw algorytmiki, ale w praktyce rzadko stosuje się go do sortowania dużych zbiorów danych, ponieważ jest nieefektywny w porównaniu do bardziej zaawansowanych algorytmów, takich jak QuickSort czy Merge Sort.

Pytanie 12

Kiedy w programie występuje problem z działaniem, a programista musi zweryfikować wartości znajdujące się w zmiennych w momencie działania aplikacji, to w tym celu należy zastosować

A. debugger
B. interpreter
C. wirtualną maszynę
D. analizator składni
Debugger to narzędzie, które pozwala na śledzenie wartości zmiennych i wykonywanie kodu linia po linii w czasie rzeczywistym. Jest nieoceniony w procesie wykrywania błędów logicznych i analizy działania aplikacji. Programista może ustawiać punkty przerwań (breakpoints), by zatrzymać wykonywanie programu w określonym miejscu i przeanalizować stan aplikacji.

Pytanie 13

Jakie narzędzie programowe jest odpowiedzialne za konwersję kodu źródłowego na formę zrozumiałą dla maszyny, weryfikuje wszystkie polecenia pod kątem ewentualnych błędów, a następnie generuje moduł do wykonania?

A. kompilator
B. debugger
C. dekompilator
D. interpreter
Interpreter tłumaczy kod linia po linii, co oznacza, że nie tworzy pliku wykonywalnego i nie wykrywa wszystkich błędów przed uruchomieniem programu. Debugger jest narzędziem służącym do testowania i wykrywania błędów w kodzie podczas jego wykonywania. Dekompilator przekształca kod binarny na kod źródłowy, co jest procesem odwrotnym do kompilacji, lecz nie tworzy plików wykonywalnych.

Pytanie 14

W wyniku realizacji zaprezentowanego kodu na ekranie pojawią się

Ilustracja do pytania
A. wszystkie elementy tablicy, które są wielokrotnością 3
B. elementy tablicy o indeksach: 1, 2, 4, 5, 7, 8
C. wszystkie elementy tablicy, które mają wartość nieparzystą
D. elementy z indeksów tablicy, które są podzielne przez 3
Co do podzielnych przez 3 – Kod skupia się na indeksach, nie na wartościach. Jeśli chodzi o elementy podzielne przez 3, to to dotyczy wartości, a nie indeksów. Natomiast wszystkie nieparzyste elementy – to znów ogranicza się tylko do wartości, a pytanie dotyczy indeksów tablicy, co może wprowadzać w błąd.

Pytanie 15

Która z wymienionych zasad odnosi się do zachowania prywatności w sieci?

A. Publikowanie danych osobowych na otwartych platformach
B. Stosowanie pseudonimów zamiast rzeczywistych imion na mediach społecznościowych
C. Przechowywanie haseł w wiadomościach e-mail
D. Umieszczanie wszystkich zdjęć na platformach społecznościowych
Używanie pseudonimów zamiast prawdziwych imion na portalach społecznościowych jest jedną z podstawowych zasad ochrony prywatności w internecie. Dzięki temu ograniczasz możliwość identyfikacji i śledzenia Twojej aktywności przez osoby trzecie. Pseudonimy minimalizują ryzyko kradzieży tożsamości i redukują ilość danych osobowych dostępnych publicznie. To działanie jest szczególnie ważne dla dzieci i młodzieży, chroniąc ich przed cyberprzemocą i innymi zagrożeniami. W wielu serwisach można także dostosować ustawienia prywatności, ukrywając profil przed osobami spoza listy znajomych.

Pytanie 16

Jakie kwestie związane z percepcją są uwzględnione w rekomendacjach standardu WCAG 2.0?

A. zapewnienia odpowiedniego czasu na zapoznanie się i przetworzenie informacji
B. jasności i dokładności w dostarczonych treściach na stronie
C. umożliwienia interakcji między elementami użytkownika za pomocą klawiatury
D. prezentacji elementów interfejsu użytkownika
Rekomendacje WCAG 2.0 dotyczące percepcji koncentrują się na zapewnieniu dostępności treści dla wszystkich użytkowników, niezależnie od ich zdolności percepcyjnych. Obejmuje to m.in. dostarczanie tekstów alternatywnych dla obrazów, odpowiednie kontrasty i możliwość odczytu treści przez czytniki ekranowe. Percepcja jest jednym z kluczowych filarów dostępności i jej odpowiednie wdrożenie znacząco zwiększa użyteczność aplikacji i stron internetowych.

Pytanie 17

Wskaż poprawny komentarz jednoliniowy, który można dodać w linii 3 w miejscu znaków zapytania, aby był zgodny ze składnią i opisywał operację przeprowadzoną w tej linii?

Ilustracja do pytania
A. // wyswietlenie elementu tablicy
B. # wypełnienie elementu tablicy
C. # wyswietlenie elementu tablicy
D. // wypełnienie elementu tablicy
W przypadku tego pytania, błędne odpowiedzi wynikają z niezrozumienia zarówno syntaktyki języków programowania, jak i kontekstu operacji wykonywanej w kodzie. Komentarze jednoliniowe w C# zaczynają się od dwóch ukośników (//), co czyni inne formaty, takie jak #, niepoprawnymi w tym kontekście. Stosowanie znaku hash (#) do komentarzy jest cechą charakterystyczną dla języków takich jak Python, a nie C#. Dlatego odpowiedzi zawierające # są syntaktycznie niepoprawne, gdyż nie będą prawidłowo rozpoznane jako komentarz w C#. Ponadto, komentowanie jako // wypełnienie elementu tablicy czy # wypełnienie elementu tablicy byłoby merytorycznie błędne, ponieważ linia Console.WriteLine(i); faktycznie wyświetla element tablicy, zamiast go wypełniać. Pomylenie operacji wyświetlania z wypełnianiem może wynikać z braku dogłębnego zrozumienia funkcji danej linii kodu. Aby uniknąć takich błędów, warto zwrócić uwagę na dokładne zrozumienie, co robi każda linia kodu, i stosować odpowiednie, zgodne ze standardami komentarze, które opisują operację możliwie precyzyjnie i jednoznacznie. To podejście nie tylko wspiera zgodność z dobrymi praktykami programistycznymi, ale również znacznie ułatwia późniejsze prace nad kodem.

Pytanie 18

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

A. Zarządzanie transferem danych pomiędzy urządzeniami wejścia/wyjścia
B. Umożliwienie tworzenia kopii zapasowej danych użytkownika
C. Tymczasowe magazynowanie danych i instrukcji dla procesora
D. Trwałe przechowywanie systemu operacyjnego
Odpowiedzi, które sugerują inne funkcje pamięci operacyjnej, są niepoprawne z kilku powodów. Stałe przechowywanie systemu operacyjnego jest zarezerwowane dla pamięci masowej, takiej jak dyski twarde lub SSD, które zapewniają długoterminowe przechowywanie danych. Pamięć RAM jest ulotna, co oznacza, że wszystkie dane są tracone po wyłączeniu zasilania, podczas gdy system operacyjny musi być zawsze dostępny po restarcie komputera. Kolejną nieścisłością jest sugestia, że RAM zarządza przepływem danych między urządzeniami wejścia/wyjścia. To zadanie leży w gestii kontrolerów i systemu operacyjnego, które koordynują interakcję między różnorodnymi urządzeniami, a nie samej pamięci operacyjnej. Ostatnia odpowiedź dotycząca zapewnienia kopii zapasowej danych użytkownika również jest błędna. Kopie zapasowe są zwykle przechowywane na pamięci masowej, a nie w RAM, która nie ma zdolności do trwałego przechowywania danych. Pamięć operacyjna służy jedynie do tymczasowego przetrzymywania danych potrzebnych do bieżącego działania systemu komputerowego.

Pytanie 19

W jakim celu wykorzystuje się diagram Gantta?

A. do wizualizacji powiązań między elementami systemów
B. do przedstawiania funkcjonalności systemu
C. do dokładnej analizy czasowo-kosztowej projektu
D. do planowania i zarządzania projektem
Obrazowanie funkcjonalności – To domena diagramów UML, nie Gantta. Analiza kosztów – Gantt nie zajmuje się szczegółową analizą kosztów. Wizualizacja zależności – Do tego celu stosuje się diagramy sieciowe, nie Gantta.

Pytanie 20

Jakie składniki powinien mieć plan projektu?

A. Tylko czas wykonania i budżet
B. Terminy i zasoby ludzkie
C. Etapy projektu, ramy czasowe, zasoby i zadania
D. Wyłącznie etapy projektu
Harmonogram projektu powinien zawierać etapy projektu, ramy czasowe, zasoby oraz zadania. Taka kompleksowa struktura umożliwia skuteczne zarządzanie projektem i pozwala na śledzenie postępów. Każdy etap harmonogramu powinien być dokładnie opisany, a zadania powinny być przypisane do odpowiednich członków zespołu. Uwzględnienie zasobów i ram czasowych pozwala na precyzyjne planowanie i minimalizuje ryzyko opóźnień. Harmonogram stanowi nieodłączny element projektów zarządzanych zarówno w modelu Waterfall, jak i Agile, dostarczając przejrzystość na każdym etapie realizacji.

Pytanie 21

Jakie metody umożliwiają przesyłanie danych z serwera do aplikacji front-end?

A. metody POST
B. formatu JSON
C. protokołem SSH
D. biblioteki jQuery
Jest taka sprawa z jQuery – chociaż to super narzędzie do manipulacji DOM i pracy z asynchronicznymi żądaniami HTTP, to jednak nie jest formatem danych. Tak, jQuery świetnie działa z AJAX-em, ale nie definiuje, jak dane powinny być przesyłane. Jak już używasz jQuery do przesyłania danych, to potrzebujesz formatu, na przykład JSON. Dlatego ta odpowiedź jest niepoprawna. Metoda POST umożliwia przesyłanie danych do serwera w protokole HTTP, ale sama w sobie nie mówi, w jakim formacie te dane będą przesyłane. Można używać różnych formatów, w tym JSON, ale sama metoda POST to za mało. A SSH, czyli Secure Shell, to protokół do bezpiecznego logowania i zdalnego zarządzania systemami, a nie do przesyłania danych między aplikacjami webowymi a serwerem. Dlatego tu też mamy błąd. Wszystkie te technologie są ważne, ale nie mówią o przesyłaniu danych w kontekście front-endu tak, jak robi to JSON.

Pytanie 22

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 23

Jakie elementy powinny być uwzględnione w scenariuszu testów aplikacji?

A. Dokumentacja techniczna oprogramowania
B. Strategia wdrożenia aplikacji w środowisku produkcyjnym
C. Dokładne wytyczne dotyczące realizacji kodu
D. Zestaw kroków do testowania, oczekiwanych rezultatów oraz warunków początkowych
Scenariusz testowy aplikacji powinien zawierać szczegółowy opis kroków testowych, oczekiwane wyniki oraz warunki wstępne, które muszą być spełnione przed rozpoczęciem testu. Scenariusz testowy to kluczowy dokument w procesie testowania oprogramowania, który pozwala na systematyczne i dokładne sprawdzenie, czy aplikacja działa zgodnie z oczekiwaniami. Uwzględnienie kroków testowych pozwala na replikację testów, a opis warunków wstępnych zapewnia, że test jest przeprowadzany w odpowiednim środowisku.

Pytanie 24

Cytat zaprezentowany powyżej dotyczy metodyki RAD. Co oznacza ten skrót w języku polskim?

Ilustracja do pytania
A. szybki rozwój aplikacji
B. środowisko błyskawicznego programowania
C. środowisko do tworzenia aplikacji
D. zintegrowane środowisko deweloperskie
Wybór niepoprawnych odpowiedzi wynika z nieporozumienia dotyczącego znaczenia skrótu RAD. Pierwsza błędna odpowiedź środowisko rozwijania aplikacji nie odpowiada sednu metodyki RAD ponieważ odnosi się bardziej do ogólnego pojęcia platformy lub środowiska gdzie aplikacje są tworzone a nie do szybkiego procesu rozwoju. Nie oddaje to istoty metodyki która skupia się na skróceniu czasu cyklu życia aplikacji poprzez szybkie prototypowanie i wprowadzenie iteracyjnych zmian. Następnie środowisko szybkiego programowania również jest mylące ponieważ sugeruje zastosowanie narzędzi lub technologii które jedynie wspierają szybkie pisanie kodu a nie całego procesu projektowania testowania i wprowadzania do użytkowania. Zintegrowane środowisko programistyczne to termin odnoszący się do oprogramowania takiego jak IDE które oferuje narzędzia wspierające programistów w pisaniu testowaniu i debugowaniu kodu ale nie jest bezpośrednio związane z filozofią i technikami RAD. Typowym błędem myślowym jest skupienie się na pojedynczych etapach rozwoju oprogramowania a nie na całym procesie który metoda RAD opisuje jako całość łączącą szybkie tworzenie prototypów elastyczność i intensywną współpracę z klientem. Ważne jest zrozumienie że RAD to podejście systemowe mające na celu przyspieszenie dostarczania wartości klientom co nie jest osiągane przez samo szybkie kodowanie czy używanie zintegrowanych narzędzi programistycznych ale przez całościowe podejście do procesu tworzenia oprogramowania

Pytanie 25

Rozpoczęcie tworzenia procedury składowej o nazwie dodajUsera w MS SQL wymaga użycia poleceń

A. add dodajUsera procedure
B. create dodajUsera procedure
C. create procedure dodajUsera
D. add procedure dodajUsera
W MS SQL procedury składowe tworzy się za pomocą polecenia 'CREATE PROCEDURE'. Jest to standardowa składnia używana do definiowania procedur, które mogą przechowywać złożone operacje SQL i być wielokrotnie wywoływane. Procedury pozwalają na automatyzację zadań, optymalizację kodu oraz zwiększenie wydajności poprzez zmniejszenie liczby zapytań przesyłanych do serwera.

Pytanie 26

Wskaż uproszczoną wersję kodu XAML dla elementów w pokazanym oknie dialogowym?

Ilustracja do pytania
A. Kod 2
B. Kod 4
C. Kod 3
D. Kod 1
Kod 1 i Kod 3 mogą zawierać błędy składniowe, nieprawidłowe klasy lub niepełne definicje kontrolek. Kod 4 może wykorzystywać starsze wersje składni lub nie zawierać wszystkich wymaganych właściwości, co prowadzi do błędów podczas kompilacji interfejsu w XAML.

Pytanie 27

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

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

Pytanie 28

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

A. Word
B. Trello
C. Jira
D. Photoshop
Jira to zaawansowane narzędzie do zarządzania projektami, ale jest bardziej skoncentrowane na metodykach Agile i Scrum, a nie wyłącznie na tablicach kanban. Photoshop to narzędzie do edycji grafiki i tworzenia projektów wizualnych, które nie ma funkcji zarządzania projektami. Word jest edytorem tekstu i służy do tworzenia dokumentów, ale nie jest używany jako narzędzie do zarządzania zadaniami i projektami w sposób, w jaki robi to Trello.

Pytanie 29

Które z poniższych stwierdzeń najlepiej charakteryzuje tablicę asocjacyjną?

A. Tablica przechowująca dane w formie par klucz-wartość
B. Tablica, która przechowuje wyłącznie dane tekstowe
C. Tablica, która przechowuje wartości, do których można uzyskać dostęp tylko za pomocą indeksów numerycznych
D. Tablica, która zmienia swoje wymiary w trakcie działania programu
Tablica asocjacyjna to fajna rzecz, bo przechowuje dane w formie par klucz-wartość. W przeciwieństwie do zwykłych tablic, gdzie używasz numerów do indeksowania, tutaj możesz mieć różne unikalne klucze, na przykład teksty czy liczby. To naprawdę ułatwia wyszukiwanie informacji i organizowanie danych. W Pythonie nazywa się to 'słownikami', a w C++ używa się 'map'. Moim zdaniem, to świetne narzędzie do pracy z większymi zbiorami danych.

Pytanie 30

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

A. Do zapisywania danych użytkownika na serwerze
B. Do zapisywania danych użytkownika w przeglądarce
C. Do generowania dynamicznych interfejsów dla użytkowników
D. Do przechowywania informacji w bazie danych
Przechowywanie danych użytkownika po stronie serwera odbywa się przy użyciu baz danych SQL lub NoSQL, a nie za pomocą ciasteczek, które operują po stronie klienta. Tworzenie dynamicznych interfejsów użytkownika odbywa się przy pomocy technologii frontendowych, takich jak JavaScript, React lub Vue.js, natomiast cookies przechowują dane, a nie generują interfejsów. Bazy danych służą do długoterminowego przechowywania dużych ilości informacji i nie są tożsame z mechanizmem ciasteczek, które przechowują dane tymczasowe po stronie klienta.

Pytanie 31

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

A. float name = "Jan"
B. bool name = "Jan"
C. int name = "Jan"
D. string 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 32

Który z faz cyklu życia projektu wiąże się z identyfikacją wymagań użytkownika?

A. Analiza
B. Wdrażanie
C. Przeprowadzanie testów
D. Etap planowania
Analiza to etap cyklu życia projektu, podczas którego określane są wymagania użytkownika. W tej fazie zespół projektowy przeprowadza badania, konsultacje i warsztaty, aby zrozumieć potrzeby klienta i użytkowników końcowych. Wynikiem analizy jest szczegółowa specyfikacja funkcjonalna i niefunkcjonalna, która stanowi podstawę do projektowania i implementacji. Prawidłowo przeprowadzona analiza minimalizuje ryzyko nieporozumień oraz zapewnia, że finalny produkt będzie odpowiadał na realne potrzeby użytkowników.

Pytanie 33

Jakie są różnice między konstruktorem a zwykłą metodą w klasie?

A. Konstruktor jest uruchamiany jedynie przez destruktor
B. Konstruktor można wywołać bez konieczności tworzenia obiektu
C. Konstruktor powinien zwracać jakąś wartość
D. Konstruktor zawsze nosi tę samą nazwę co klasa i nie zwraca wartości
Konstruktor różni się od zwykłych metod klasy tym, że nosi taką samą nazwę jak klasa i nie zwraca żadnej wartości, nawet `void`. Konstruktor jest wywoływany automatycznie podczas tworzenia obiektu i nie można go wywołać ręcznie jak zwykłą metodę. Jego zadaniem jest inicjalizacja pól obiektu i przygotowanie go do działania. Przykład w C++: `class Samochod { public: Samochod() { marka = "Ford"; } }`. W przeciwieństwie do innych metod konstruktor nie wymaga deklaracji typu zwracanego, co jest jedną z jego najbardziej charakterystycznych cech.

Pytanie 34

W jakich sytuacjach zastosowanie rekurencji może być bardziej korzystne niż użycie iteracji?

A. Kiedy program jest uruchamiany w środowisku wielowątkowym
B. Kiedy liczba iteracji przewyższa maksymalny zakres zmiennej licznikowej
C. Gdy algorytm wymaga naturalnego podziału na mniejsze podproblemy
D. Gdy kod źródłowy ma być zoptymalizowany dla starszych kompilatorów
Przekroczenie zakresu zmiennej licznikowej nie jest powodem, dla którego rekurencja jest bardziej efektywna. Problemy z zakresami zmiennych licznikowych można rozwiązać poprzez odpowiedni dobór typów danych, a nie przez zastosowanie rekurencji. Programowanie wielowątkowe nie jest bezpośrednio związane z rekurencją – chociaż niektóre algorytmy rekurencyjne mogą być implementowane w środowisku wielowątkowym, nie jest to ich główne zastosowanie. Optymalizacja kodu dla starszych kompilatorów nie ma związku z rekurencją, ponieważ starsze kompilatory mogą mieć ograniczoną obsługę rekurencji lub generować mniej efektywny kod rekurencyjny.

Pytanie 35

Jakie jest przeznaczenie dokumentacji wdrożeniowej?

A. Do zarządzania bazą danych aplikacji
B. Do testowania wydajności aplikacji
C. Do tworzenia zadań w systemie kontroli wersji
D. Do opisania procesu instalacji i konfiguracji aplikacji w środowisku produkcyjnym
Dokumentacja wdrożeniowa opisuje proces instalacji i konfiguracji aplikacji w środowisku produkcyjnym. Obejmuje ona szczegółowe instrukcje dotyczące wymaganych komponentów systemowych, zależności oraz kroków niezbędnych do prawidłowego wdrożenia aplikacji. Dzięki dokumentacji wdrożeniowej administratorzy IT oraz zespoły DevOps mogą skutecznie zarządzać procesem implementacji, minimalizując ryzyko błędów i przestojów. Dokument ten zawiera również informacje o kopiach zapasowych, procedurach przywracania systemu oraz testach przeprowadzanych po wdrożeniu, co zapewnia stabilność i bezpieczeństwo aplikacji po przeniesieniu jej na serwery produkcyjne. Kompleksowa dokumentacja wdrożeniowa to kluczowy element zarządzania cyklem życia oprogramowania (SDLC).

Pytanie 36

Jakie jest najważniejsze właściwość algorytmów szyfrowania symetrycznego?

A. Szyfrowanie wyłącznie tekstowych plików
B. Zastosowanie identycznego klucza do szyfrowania oraz deszyfrowania
C. Zastosowanie odmiennych kluczy do szyfrowania i deszyfrowania
D. Funkcjonowanie bez użycia klucza
Algorytmy asymetryczne działają inaczej, bo wykorzystują różne klucze do szyfrowania i deszyfrowania, jak np. RSA. To totalnie różni je od algorytmów symetrycznych. No i są też algorytmy, które nie potrzebują klucza, takie jak hashowanie (MD5, SHA), które robią unikalne skróty danych, ale nie da się ich odwrócić. A jeśli chodzi o szyfrowanie plików tekstowych, to to tylko mały kawałek tego, co algorytmy symetryczne potrafią, bo mogą szyfrować właściwie wszystkie dane, bez względu na to, w jakim formacie są.

Pytanie 37

Jednym z kroków publikacji aplikacji mobilnej w Google Play są testy Beta, które charakteryzują się tym, że są:

A. przeprowadzane przez grupę docelowych użytkowników aplikacji
B. prowadzone w oparciu o dokument zawierający przypadki testowe
C. podzielone na testy dotyczące funkcjonalności, wydajności i skalowalności
D. realizowane przez zespół zatrudnionych testerów z Google
Testy funkcjonalne, wydajnościowe i skalowalności są przeprowadzane przez deweloperów lub profesjonalnych testerów, a nie użytkowników końcowych. Google nie zatrudnia bezpośrednio testerów do każdej aplikacji – odpowiedzialność za testy spoczywa na twórcach aplikacji.

Pytanie 38

Który z wymienionych frameworków jest charakterystyczny dla aplikacji komputerowych pisanych w C#?

A. Spring
B. Qt
C. WPF (Windows Presentation Foundation)
D. React
WPF (Windows Presentation Foundation) to framework firmy Microsoft, który jest powszechnie wykorzystywany do tworzenia aplikacji desktopowych w języku C#. WPF pozwala na projektowanie zaawansowanych interfejsów użytkownika (UI) z wykorzystaniem XAML (Extensible Application Markup Language), co umożliwia oddzielenie logiki aplikacji od warstwy prezentacyjnej. WPF wspiera grafikę wektorową, animacje oraz różne efekty wizualne, co czyni go idealnym narzędziem do budowy nowoczesnych, estetycznych aplikacji dla systemu Windows. Integracja z .NET i Visual Studio umożliwia szybkie tworzenie aplikacji oraz korzystanie z bogatych bibliotek i gotowych komponentów UI. WPF jest szczególnie ceniony za elastyczność, obsługę danych i możliwość tworzenia aplikacji responsywnych.

Pytanie 39

Jakie są różnice między typem łańcuchowym a typem znakowym?

A. Typ znakowy przechowuje pojedyncze znaki, a łańcuchowy ciągi znaków
B. Typ łańcuchowy obsługuje liczby całkowite, a znakowy liczby zmiennoprzecinkowe
C. Typ łańcuchowy przechowuje pojedyncze znaki, a znakowy długie ciągi znaków
D. Typ znakowy przechowuje dane logiczne, a łańcuchowy tekst
Typ znakowy (char) przechowuje pojedyncze znaki, natomiast typ łańcuchowy (string) przechowuje ciągi znaków. Różnica ta ma kluczowe znaczenie w programowaniu, ponieważ typ 'char' jest używany do operacji na pojedynczych literach, cyfrze lub symbolu, podczas gdy 'string' umożliwia przechowywanie i manipulowanie całymi wyrazami lub zdaniami. W wielu językach 'string' to bardziej złożona struktura danych, która zawiera tablicę znaków (array of characters), co pozwala na efektywną pracę z tekstem i budowanie interaktywnych aplikacji.

Pytanie 40

Jakie jest podstawowe działanie w ochronie miejsca zdarzenia?

A. Zagwarantowanie stabilności ciała rannego
B. Usunięcie niebezpiecznych przedmiotów z otoczenia
C. Zagwarantowanie odpowiedniego oświetlenia
D. Zastosowanie sterylnych materiałów opatrunkowych
Moim zdaniem, zapewnienie stabilności ciała poszkodowanego jest ważne, ale nie można o tym zapominać, że najpierw powinno się zlikwidować zagrożenia. Jasne, że lepsze oświetlenie miejsca wypadku zwiększa widoczność, ale nie jest to najważniejsze, gdy są wokół niebezpieczne przedmioty. No i jasne, że użycie sterylnych materiałów do opatrunków ma znaczenie, ale w tej sytuacji nie pomaga w usuwaniu zagrożeń wokół.