Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 10:43
  • Data zakończenia: 8 czerwca 2026 10:56

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Aby zaktualizować maksymalną długość kolumny imie w tabeli klienci do 30 znaków, należy zastosować w języku SQL poniższy kod

A. CHANGE TABLE klienci TO COLUMN imie SET CHAR(30);
B. ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);
C. ALTER TABLE klienci CHANGE imie TEXT;
D. CHANGE TABLE klienci MODIFY imie CHAR(30);
Odpowiedź ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30) jest poprawna, ponieważ w SQL polecenie ALTER TABLE służy do modyfikacji struktury istniejącej tabeli. W tym przypadku zmieniamy długość pola 'imie' w tabeli 'klienci'. Typ danych VARCHAR (zmienna długość) jest odpowiedni dla pól, które mogą przechowywać tekst o różnej długości, a określenie 30 oznacza, że maksymalna długość tego pola będzie wynosić 30 znaków. Używanie VARCHAR zamiast CHAR jest dobrą praktyką w przypadku, gdy długość danych jest zmienna, co pozwala na oszczędność miejsca w bazie danych. Przykładowo, jeśli tabela przechowuje imiona, które w większości będą krótsze niż 30 znaków, zastosowanie VARCHAR skutkuje mniejszym zużyciem miejsca w porównaniu do CHAR, który zawsze rezerwuje tę samą ilość miejsca. Warto również pamiętać, że przy modyfikowaniu tabeli w SQL należy zachować ostrożność, aby uniknąć utraty danych, szczególnie jeśli zmieniamy typ danych lub długość pola już zawierającego dane.

Pytanie 2

Co oblicza funkcja agregująca MIN w SQL?

A. liczbę zwróconych wierszy
B. średnią wartości pól rekordu
C. najmniejszą wartość w kolumnie wyniku
D. długość tekstu w rekordach
Funkcja agregująca MIN zwraca NAJMNIEJSZĄ wartość z kolumny w wyniku zapytania - np. najniższą cenę czy najwcześniejszą datę. Dlatego MIN oblicza najmniejszą wartość w kolumnie.

Pytanie 3

Aby zdefiniować krój czcionki w stylu CSS, należy użyć właściwości:

A.
font-family
B.
text-style
C.
font-style
D.
text-family
Krój (rodzinę) czcionki ustawia w CSS właściwość font-family. Podaje się w niej nazwę czcionki, a zwykle także listę zapasowych i ogólną rodzinę, na przykład font-family: Arial, sans-serif - przeglądarka użyje pierwszej dostępnej. Pozwala to zachować spójny wygląd tekstu nawet, gdy konkretna czcionka nie jest zainstalowana. Dlatego do zdefiniowania kroju czcionki służy font-family.

Pytanie 4

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. NaN
B. napisowego.
C. zmiennoprzecinkowego.
D. liczbowe, całkowite.
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.

Pytanie 5

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(n!)
B. O(log n)
C. O(n)
D. O(n2)
Często przy analizie złożoności obliczeniowej popełniamy błędy, bo staramy się ocenić, ile operacji jest potrzebnych, a kontekst ma tu spore znaczenie. Odpowiedź O(n) może wydawać się kusząca, ale oznacza, że operacje są tylko liniowe, co mija się z prawdą, gdy mamy zagnieżdżone pętle. Jak jedna pętla przechodzi przez n elementów, a druga również przechodzi przez n dla każdej iteracji, to nie ma mowy o liniowości. Co do O(n!), to dotyczy to permutacji i jest zupełnie inną sprawą niż prosta iteracja przez elementy. A O(log n) - w tym przypadku jest mylące, bo odnosi się do algorytmów takich jak wyszukiwanie binarne, które działają na posortowanych danych, a nie przy przetwarzaniu wszystkich elementów. Ważne jest, żeby mieć to na uwadze. Różne operacje wymagają różnych metod analizy, a złożoność algorytmiczna jest kluczowa przy projektowaniu dobrych i wydajnych rozwiązań.

Pytanie 6

Co stanie się z polem, dla którego w CREATE TABLE użyto klauzuli PRIMARY KEY?

A. stanie się indeksem unikalnym
B. stanie się kluczem podstawowym (głównym)
C. stanie się indeksem klucza
D. stanie się kluczem obcym
Pozostałe odpowiedzi opisują efekty pochodne lub błędne. Pole nie staje się kluczem OBCYM (to FOREIGN KEY, wiążący z inną tabelą). Choć dla klucza głównego powstaje indeks unikalny, sednem klauzuli jest nadanie roli klucza PODSTAWOWEGO - to ona jednoznacznie identyfikuje rekord. PRIMARY KEY czyni pole kluczem podstawowym.

Pytanie 7

Brak którego elementu spowoduje BŁĄD/ostrzeżenie walidatora HTML?

A.
<meta name="author">
B.
<link>
C.
<title>
D. przynajmniej jednego <h1>
Pozostałe elementy nie są obowiązkowe. <link> (np. do CSS) i <meta name="author"> są opcjonalne. Brak <h1> nie jest błędem walidacji (to zalecenie dostępności, nie wymóg). Wymagany jest <title>.

Pytanie 8

Co PRZYSPIESZA wyszukiwanie danych, ale może spowolnić operacje zapisu (INSERT/UPDATE)?

A. indeksy
B. klucze podstawowe
C. wartości domyślne
D. reguły
Indeksy przyspieszają WYSZUKIWANIE danych (szybciej odnajdują wiersze), ale spowalniają zapis - przy każdym INSERT/UPDATE trzeba też zaktualizować indeks. Dlatego tę cechę mają indeksy.

Pytanie 9

Aby w zapytaniu SQL połączyć dane z dwóch tabel powiązanych relacją, należy użyć słowa kluczowego:

A.
GROUP BY
B.
JOIN
C.
UNION
D.
IN
Do łączenia danych z tabel powiązanych relacją służy JOIN. Złączenie dopasowuje wiersze z różnych tabel według wspólnego pola - najczęściej klucza głównego w jednej i klucza obcego w drugiej - i zwraca je jako jeden wynik. Pozwala to np. pokazać zamówienie razem z danymi klienta. Występuje w odmianach (INNER, LEFT, RIGHT), które decydują, które wiersze bez dopasowania zachować. To właśnie JOIN realizuje relacyjne połączenie tabel w zapytaniu.

Pytanie 10

W systemach baz danych, aby przedstawić dane spełniające określone kryteria, należy stworzyć

A. makropolecenie
B. formularz
C. relację
D. raport
Relacja w kontekście baz danych odnosi się do sposobu, w jaki dane są ze sobą powiązane w modelu relacyjnym. Chociaż relacje są fundamentalnym elementem baz danych, nie pełnią one funkcji prezentacji danych w formie zrozumiałej dla użytkownika. Relacje definiują struktury i związki pomiędzy różnymi tabelami, ale nie są narzędziem do generowania i prezentacji raportów. W praktyce to, co można zrealizować za pomocą relacji, to zapewnienie integralności danych oraz umożliwienie efektywnego dostępu do informacji. Formularze, z kolei, służą głównie do zbierania danych od użytkowników, a nie do ich analizy czy prezentacji w czytelnej formie. Zazwyczaj traktuje się je jako interfejsy, które wspierają wprowadzanie danych do bazy, ale nie są odpowiednie do skomponowania raportu. Makropolecenia natomiast, to zestawy instrukcji wykonywanych automatycznie, które mogą wspierać różne zadania, ale nie zastępują one tworzenia raportów, które są kluczowe dla analizy danych. Typowe błędy w myśleniu polegają na myleniu funkcji związanych z relacjami, formularzami czy makropoleceniami z potrzebą generowania raportów. Każde z tych narzędzi pełni inną rolę i nie należy ich stosować zamiennie.

Pytanie 11

W HTML5 semantycznym znacznikiem, który służy do określenia dwóch sekcji widocznych po prawej stronie na rysunku, zawierających wiadomości oraz aktualności, jest

Ilustracja do pytania
A. &lt;nav&gt;
B. &lt;article&gt;
C. &lt;footer&gt;
D. &lt;main&gt;
Element <article> w HTML5 został stworzony właśnie do oznaczania niezależnych, samodzielnych treści, które mają sens nawet poza kontekstem strony – czyli takich, które można zamieścić np. w RSS, podlinkować czy udostępnić osobno. W praktyce oznacza to np. pojedyncze wpisy na blogu, wiadomości, ogłoszenia czy aktualności – dokładnie tak jak w tym zadaniu. Dzięki użyciu <article>, osoby korzystające z czytników ekranowych czy wyszukiwarek łatwiej rozpoznają strukturę strony, bo semantyka jest czytelna dla maszyn. Z mojego doświadczenia, stosowanie <article> dla wiadomości i aktualności jest też zgodne z dobrą praktyką tworzenia dostępnych stron – Google nawet sugeruje, by tak wyodrębniać własne, kompletne treści. To ma ogromne znaczenie przy pozycjonowaniu (SEO), bo roboty wyszukiwarek potrafią lepiej rozumieć, co jest główną treścią strony. Dodatkowo, używanie odpowiednich znaczników semantycznych poprawia współpracę z różnymi narzędziami, które analizują układ i zawartość strony, a także ułatwia późniejszą przebudowę lub rozwój projektu. Moim zdaniem, nadanie sekcjom z wiadomościami i aktualnościami znacznika <article> to podstawa nowoczesnego kodowania stron internetowych.

Pytanie 12

W trakcie weryfikacji stron internetowych nie analizuje się

A. funkcjonowania linków
B. zgodności z różnymi przeglądarkami
C. źródeł pochodzenia narzędzi edytorskich
D. błędów składniowych w kodzie
Walidacja stron internetowych jest procesem, który ma na celu zapewnienie, że strona internetowa jest poprawnie skonstruowana i zgodna z ustalonymi standardami, co z kolei wpływa na jej funkcjonalność oraz dostępność. W tym kontekście analiza błędów składni kodu jest kluczowa, ponieważ nieprawidłowa składnia może prowadzić do błędów renderingowych w przeglądarkach, co z kolei negatywnie wpływa na doświadczenia użytkowników. Podobnie, sprawdzanie działania linków jest istotne, ponieważ nieaktywe lub uszkodzone linki mogą prowadzić do frustracji użytkowników oraz wyniszczającego wpływu na SEO. Dodatkowo, zgodność z przeglądarkami jest fundamentalnym aspektem walidacji, gdyż różne przeglądarki mogą interpretować kod HTML i CSS w odmienny sposób. Zaniedbanie tych aspektów może skutkować problemami z wyświetlaniem strony czy jej funkcjonalnością. Typowym błędem myślowym, który prowadzi do niewłaściwych wniosków, jest przekonanie, że źródło narzędzi edytorskich - czy to komercyjne, czy open-source - ma bezpośredni wpływ na jakość kodu. Prawda jest taka, że to programista jest odpowiedzialny za jakość tworzonych rozwiązań, a nie samo narzędzie. Również, często myli się korzyści płynące z używania profesjonalnego edytora kodu z jego wpływem na proces walidacji, co prowadzi do niewłaściwego podejścia do oceny jakości strony internetowej.

Pytanie 13

Wskaż NIEPRAWIDŁOWE stwierdzenie dotyczące normalizacji dźwięku

A. W wyniku normalizacji następuje wyrównanie poziomu głośności całego nagrania
B. Opcja normalizacja znajduje się w menu programu do edycji dźwięku
C. Normalizacja polega na obniżeniu poziomu najgłośniejszej próbki w sygnale do ustalonej wartości, a następnie proporcjonalnym zwiększeniu głośności pozostałych części sygnału
D. Jeśli najgłośniejszy element dźwięku osiąga połowę skali, wszystko zostanie zwiększone razy dwa - tak, aby najgłośniejszy element dotarł do maksimum na skali
Odpowiedź jest prawidłowa, ponieważ proces normalizacji sygnału dźwiękowego faktycznie polega na dostosowywaniu głośności nagrania w taki sposób, aby najgłośniejszy fragment osiągał maksymalny poziom na skali. W praktyce, jeżeli najgłośniejszy element sygnału osiąga połowę skali, program do obróbki dźwięku zwiększa głośność wszystkich innych fragmentów, aby najgłośniejszy osiągnął pełną głośność. To działanie jest zgodne z powszechnie przyjętymi standardami normalizacji dźwięku, które zapewniają, że nagrania mają spójny poziom głośności, co jest istotne w produkcji audio, aby nie występowały nagłe zmiany głośności pomiędzy różnymi utworami. Normalizacja jest szczególnie przydatna w kontekście przygotowywania materiałów do publikacji, takich jak albumy muzyczne czy podcasty, gdzie istotne jest, by słuchacz nie musiał regulować głośności podczas odtwarzania różnych nagrań. Przykładem może być album muzyczny, gdzie różne utwory mogą mieć różne poziomy nagrania, a normalizacja pozwala na ich wyrównanie w celu uzyskania jednolitego doświadczenia słuchowego.

Pytanie 14

Który zapis definiuje w JavaScripcie komentarz JEDNOLINIOWY?

A.
/*
B.
?
C.
#
D.
//
W JavaScripcie komentarz jednoliniowy zaczyna się od // - wszystko od tych znaków do końca wiersza jest pomijane. Dlatego komentarz jednoliniowy to //.

Pytanie 15

W języku PHP instrukcja foreach jest rodzajem

A. pętli, niezależnie od rodzaju zmiennej
B. pętli, przeznaczonej wyłącznie dla elementów tablicy
C. instrukcji wyboru, dla elementów tablicy
D. instrukcji warunkowej, niezależnie od typu zmiennej
Instrukcja <i>foreach</i> w PHP to naprawdę super sprawa, jeśli chodzi o przechodzenie przez elementy tablicy. Dzięki niej można bardzo prosto iterować po wszystkich wartościach, co sprawia, że kod staje się bardziej przejrzysty i zwięzły. Nie trzeba wtedy się martwić o ręczne zarządzanie wskaźnikami tablicy. A dostęp do kluczy i wartości? Proszę bardzo! Na przykład, mając tablicę $fruits = ['jabłko', 'banan', 'czereśnia'], można użyć <i>foreach</i> tak: <code>foreach ($fruits as $fruit) { echo $fruit; }</code>. To wydrukuje nam wszystkie owoce na ekranie. No i warto mieć na uwadze, że <i>foreach</i> działa też z tablicami asocjacyjnymi, co pozwala na przechodzenie przez pary klucz-wartość. Korzystając z tej instrukcji, można pisać lepszy, bardziej zrozumiały kod, a to szczególnie ma znaczenie w większych projektach, gdzie czytelność jest kluczowa dla późniejszego rozwoju i utrzymania kodu.

Pytanie 16

W instrukcjach, których celem jest odtwarzanie dźwięku na stronie internetowej jako tła muzycznego, nie stosuje się atrybutu

A. balance="10"
B. href="c:/100.wav"
C. volume="-100"
D. loop="10"
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku powodów. Atrybut loop, który jest używany do powtarzania dźwięku, nie może przyjmować wartości liczbowych, dlatego loop='10' jest niewłaściwy. Wartość loop jest typu boolowskiego, gdzie obecność atrybutu w tagu <audio> lub <source> oznacza, że dźwięk ma być odtwarzany w pętli. Kolejną niepoprawną odpowiedzią jest balance='10', który nie jest uznawany za standardowy atrybut HTML. W kontekście dźwięku, nie istnieje atrybut balance, który mógłby kontrolować balans lewego i prawego kanału. Ostatnia z niepoprawnych odpowiedzi, volume='-100', także nie jest obowiązującym atrybutem. W HTML5 nie ma możliwości ustawienia głośności w ten sposób; zamiast tego dźwięk musi być kontrolowany za pomocą JavaScript i API Web Audio, co pozwala na programowe dostosowanie głośności dźwięku. Podsumowując, wszystkie te odpowiedzi nie odpowiadają na wymagania techniczne dotyczące odtwarzania dźwięku w standardach internetowych.

Pytanie 17

Kod JavaScript ma za zadanie szukanie wartości maksymalnej w tablicy. Wskaż błąd występujący w skrypcie.

14      max = tablica[0];
15      for (j == 1; j < 9; j++) {
16          if (max <= tablica[j]) {
17              max = tablica[j];
18          };
19      };
20      document.write("Największy element tablicy to: " + max);
A. Zastosowano operator porównania zamiast przypisania w linii 15.
B. Warunek w linii 16 powinien być odwrócony.
C. Kod zapisany w linii 20 ma nieprawidłową składnię.
D. Zmienna max ma niewłaściwie przypisaną wartość w linii 14.
W tym fragmencie kodu kluczowy problem faktycznie leży w linii 15, gdzie użyto operatora porównania `==` zamiast operatora przypisania `=`. W pętli `for` pierwsza część ma inicjalizować zmienną sterującą, czyli w JavaScripcie poprawny zapis to `for (j = 1; j < 9; j++) { ... }`. Konstrukcja `j == 1` nie ustawia wartości zmiennej, tylko porównuje bieżącą wartość `j` z liczbą 1 i zwraca wynik logiczny `true` lub `false`. W efekcie interpreter próbuje potraktować wynik porównania jako wyrażenie inicjalizujące, co jest po prostu błędem składniowym i skrypt się nie wykona. Z mojego doświadczenia to bardzo częsty błąd: programista myśli o „ustawieniu” wartości i z przyzwyczajenia wpisuje podwójny znak równości. Dlatego w językach takich jak JavaScript, C, Java trzeba mocno pilnować rozróżnienia: `=` oznacza przypisanie, `==` porównanie wartości (a `===` porównanie wartości i typu). Cała reszta algorytmu wyszukiwania maksimum jest w porządku: najpierw przypisujemy do `max` pierwszy element tablicy, potem w pętli przechodzimy kolejne elementy i jeśli aktualny element jest większy lub równy `max`, to aktualizujemy zmienną `max`. Taki schemat jest klasycznym algorytmem liniowego wyszukiwania wartości maksymalnej. W praktyce, gdy piszesz kod produkcyjny, warto dodatkowo zadbać o deklarację zmiennych (`let j = 1;`, `let max = tablica[0];`) oraz używać długości tablicy (`j < tablica.length`) zamiast stałej liczby 9, żeby kod był odporny na zmiany i łatwiejszy w utrzymaniu. W narzędziach typu ESLint często jest też reguła wychwytująca przypadkowe użycie `==` tam, gdzie spodziewane jest `=`, właśnie po to, żeby unikać takich subtelnych, ale groźnych pomyłek.

Pytanie 18

Gdzie w dokumencie HTML można umieścić kod JavaScript?

A. w <head> i <body>, w znaczniku <java>
B. tylko w <body>, w znaczniku <java>
C. w <head> i <body>, w znaczniku <script>
D. tylko w <head>, w znaczniku <script>
Kod JavaScript umieszcza się w znaczniku <script>, który można wstawić zarówno w <head>, jak i w <body>. Dlatego poprawne jest: w <head> i <body>, w znaczniku <script>.

Pytanie 19

Które zapytanie SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się na literę Z?

A. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%'
B. SELECT nazwisko FROM klient WHERE nazwisko='Z_?'
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'
D. SELECT nazwisko FROM klient WHERE nazwisko='Z?'
Odpowiedź SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'; jest poprawna, ponieważ wykorzystuje operator LIKE, który jest standardowym narzędziem w SQL do wyszukiwania wzorców w danych tekstowych. Znak procenta (%) w tym kontekście oznacza, że może wystąpić dowolna liczba znaków po literze Z, co jest zgodne z wymaganiem, aby nazwiska były co najmniej jednoliterowe. W praktyce, takie zapytanie umożliwia efektywne wyszukiwanie danych w bazach, co jest kluczowe w kontekście aplikacji zarządzających danymi klientów. Dobre praktyki w projektowaniu baz danych zalecają stosowanie operatora LIKE do filtrowania wyników, co pozwala na zwiększenie przejrzystości i wydajności. W przypadku wyszukiwania nazwisk, można również użyć indeksów, aby przyspieszyć wykonanie zapytań, co jest ważne w kontekście dużych zbiorów danych, gdzie czas odpowiedzi aplikacji może mieć istotne znaczenie dla użytkowników końcowych. Używanie LIKE w połączeniu z odpowiednimi znakami wieloznacznymi jest więc kluczowym elementem efektywnego zarządzania danymi.

Pytanie 20

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqlshow
B. mysqldump
C. mysqlimport
D. mysqlcheck
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 21

Jak nazywa się składnik bazy danych, który umożliwia jedynie przeglądanie informacji z bazy, prezentując je w formie tekstowej lub graficznej?

A. Formularz
B. Tabela
C. Raport
D. Zapytanie
Raport to taka fajna część bazy danych, która pozwala ludziom spojrzeć na dane w czytelny sposób. Można je tworzyć, żeby analizować wyniki finansowe czy sprawdzać, jak firma sobie radzi. Przygotowywanie raportów na podstawie zapytań do bazy danych jest super, bo wszystko jest potem poukładane i przemyślane. W praktyce, raporty biorą dane z tabel i pokazują je w ładny sposób, wybierając odpowiednie kolumny i wiersze. Są też takie narzędzia jak SQL Server Reporting Services czy Crystal Reports, które oferują mnóstwo opcji do generowania raportów. To wszystko sprawia, że analiza danych jest lepsza i bardziej wizualna. Dobrze jest regularnie aktualizować raporty i dostosowywać je do potrzeb firmy, bo to pomaga w podejmowaniu decyzji na podstawie faktów.

Pytanie 22

W PHP typ float oznacza

A. zmiennoprzecinkowy
B. łańcuchowy
C. logiczny
D. całkowity
Wybór innego typu danych w PHP, jak całkowity, łańcuchowy czy logiczny, może być mylący. Typ całkowity to po prostu liczby bez części dziesiętnej, więc jak mamy do czynienia z cenami, gdzie pojawiają się grosze, to nie ma szans na użycie tego typu. Z kolei typ łańcuchowy to coś zupełnie innego, związane z tekstem – i stosowanie go do obliczeń to droga do katastrofy. Typ logiczny, co prawda przyjmuje tylko dwie wartości – prawda i fałsz – ale również nie nadaje się do liczb. Kluczowe jest zrozumienie, że każdy typ ma swoje miejsce w programowaniu. Wiele osób myli je ze sobą, na przykład próbując użyć typu łańcuchowego tam, gdzie potrzebne są liczby, co zazwyczaj kończy się problemami. Aby rozwijać aplikacje skutecznie, trzeba odpowiednio dobierać typy danych, bo to jest podstawa programowania w PHP i w innych językach także.

Pytanie 23

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. posiada odpowiednie funkcje
B. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
C. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
D. jest właściwie opisany w dokumentacji
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 24

Na ilustracji przedstawiono rezultat stosowania stylów CSS oraz odpowiadający mu kod HTML, który generuje ten przykład. Przyjmując, że marginesy wewnętrzne mają wartość 50 px, natomiast zewnętrzne wynoszą 20 px, styl CSS dla tego obrazu wygląda następująco

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź D
Odpowiedź C jest poprawna, ponieważ zdefiniowany styl CSS zawiera wszystkie elementy odpowiadające przedstawionemu formatowaniu obrazu. Styl ten określa kolor tła jako Teal, co jest zgodne z opisem wizualnym obrazu. Dodatkowo zastosowanie solidnej czarnej ramki o grubości 4 pikseli odpowiada profesjonalnym standardom, które zapewniają wyraźne oddzielenie obrazu od reszty treści przez wyróżnienie go. Zastosowanie marginesów zewnętrznych o wartości 20 pikseli oraz wewnętrznych paddingów o wartości 50 pikseli jest zgodne z podanym założeniem, co pozwala na właściwe umiejscowienie obrazu na stronie, dając przestrzeń wokół i wewnątrz elementu. Dbałość o takie szczegóły jest kluczowa dla tworzenia responsywnych i estetycznych stron internetowych. Praktyczne stosowanie tego typu stylizacji umożliwia poprawienie czytelności oraz przyciąga uwagę użytkowników na znaczące elementy strony. Warto przy tym pamiętać o zasadzie KISS (Keep It Simple, Stupid), która zachęca do utrzymywania prostoty w projektach, co nie tylko ułatwia ich tworzenie ale też późniejsze utrzymanie.

Pytanie 25

Instrukcję transakcyjną ROLLBACK wydaje się, aby:

A. cofnąć transakcję już po wykonaniu COMMIT
B. zatwierdzić transakcję
C. cofnąć (wycofać) zmiany wykonane w transakcji
D. zatwierdzić tylko wybrane zmiany transakcji
Pozostałe odpowiedzi mylą rolę ROLLBACK z innymi działaniami. Zatwierdzenie transakcji - utrwalenie zmian - wykonuje COMMIT, a nie ROLLBACK. Zatwierdzenie tylko wybranych zmian również nie jest jego zadaniem; do częściowego wycofania służy mechanizm punktów zapisu (SAVEPOINT i ROLLBACK TO). Cofnięcie transakcji po wykonaniu COMMIT jest niemożliwe - zatwierdzone zmiany są trwałe. ROLLBACK cofa zmiany jeszcze niezatwierdzonej transakcji, dlatego ta odpowiedź jest poprawna.

Pytanie 26

Jak system CMS realizuje oddzielenie treści serwisu od jego wyglądu?

A. treść ze statycznych plików HTML, a wygląd we Flashu
B. treść ze statycznych plików HTML, a wygląd ze szablonu
C. treść generuje z bazy danych, a wygląd ze zdefiniowanego szablonu
D. treść z bazy danych, a wygląd za pomocą atrybutów HTML
Istotą CMS jest rozdział treści (baza) i wyglądu (szablon). Warianty z treścią w statycznych plikach HTML przeczą dynamicznemu zarządzaniu treścią. Wygląd nie powstaje z atrybutów HTML ani we Flashu (technologia przestarzała), lecz z szablonu. CMS generuje treść z bazy danych, a wygląd ze zdefiniowanego szablonu.

Pytanie 27

Która cecha wyróżnia format PNG?

A. obsługa animacji
B. brak obsługi kanału alfa
C. reprezentacja grafiki wektorowej
D. kompresja bezstratna
Pozostałe stwierdzenia są nieprawdziwe. PNG to format rastrowy (nie wektorowy) i co do zasady nie obsługuje animacji (od tego jest GIF lub APNG). Kanał alfa, czyli przezroczystość, PNG właśnie OBSŁUGUJE, więc „brak obsługi alfa” jest błędem. Wyróżnia go kompresja bezstratna.

Pytanie 28

Jakiego rodzaju oprogramowanie narzędziowe powinno być zainstalowane, aby umożliwić użytkownikowi przeprowadzanie operacji na zgromadzonych danych?

A. Obiektowy System Zarządzania Bazą Danych
B. Klucz obcy
C. Otwarty mechanizm komunikacji bazy danych
D. System Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych, czyli SZBD, to coś, co naprawdę ma duże znaczenie w organizacjach, jeśli mówimy o danych. Dzięki niemu możemy działać z danymi znacznie sprawniej – przechowywać je, aktualizować, usuwać i robić wiele innych rzeczy. To taki pomost między tym, co robią użytkownicy, a samymi danymi. Przy takich systemach jak MySQL, PostgreSQL czy Oracle Database, możemy korzystać z super funkcji, takich jak transakcje czy zarządzanie użytkownikami. To nie tylko ułatwia życie, ale też pozwala na lepsze działania. No i nie zapominaj, że standardy jak SQL to klucz do komunikacji z bazami, niezależnie od technologii. Można też mówić o dobrych praktykach, jak robienie kopii zapasowych czy monitorowanie wydajności. Właściwie, wprowadzenie takiego systemu to fundament do skutecznego zarządzania danymi w każdej organizacji, więc warto się tym zająć.

Pytanie 29

Gdzie umieścić informacje o autorze, opisie i słowach kluczowych strony?

A. w <head>, w znaczniku <style>
B. w <body>, w znaczniku <html>
C. w <head>, w znaczniku <meta>
D. w <body>, w znaczniku <meta>
Informacje o autorze, opisie i słowach kluczowych to METADANE strony - umieszcza się je w sekcji <head> w znaczniku <meta> (np. <meta name="author" ...>). Dlatego należą do <head>, w <meta>.

Pytanie 30

Które zdarzenie JavaScript zachodzi, gdy kursor myszy znajdzie się nad elementem, do którego jest przypisane?

A.
onmouseover
B.
onmousedown
C.
onmouseup
D.
onmouseout
Zdarzenie onmouseover jest wyzwalane w chwili, gdy kursor myszy najedzie na element, do którego je przypisano - wykorzystuje się je np. do podświetlania elementów czy wyświetlania podpowiedzi. Parą do niego jest onmouseout, zachodzące przy opuszczeniu elementu. Inne zdarzenia myszy dotyczą klikania: onmousedown (naciśnięcie) i onmouseup (zwolnienie). Dlatego najechanie kursorem obsługuje onmouseover.

Pytanie 31

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_exit()
B. mysqli_commit()
C. mysqli_close()
D. mysqli_rollback()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.

Pytanie 32

Sprawdzenie poprawności pól formularza polega na weryfikacji

A. czy użytkownik jest zalogowany
B. który użytkownik wprowadził informacje
C. czy istnieje plik PHP, który przetworzy dane
D. czy wprowadzone dane spełniają określone reguły
Walidacja pól formularza jest kluczowym elementem w procesie zbierania danych od użytkowników. Jej głównym celem jest upewnienie się, że dane, które użytkownik wprowadza, są zgodne z określonymi regułami i standardami. Na przykład, jeśli pole formularza wymaga adresu e-mail, walidacja może sprawdzić, czy wprowadzone dane mają odpowiedni format (np. zawierają '@' i końcówkę domeny). Ważne jest, aby walidację przeprowadzać zarówno po stronie klienta, jak i serwera. Walidacja po stronie klienta (np. za pomocą JavaScript) może szybko informować użytkownika o błędach, ale nie powinna być jedyną metodą, gdyż można ją łatwo obejść. Walidacja po stronie serwera, przeprowadzana w językach takich jak PHP lub Python, zapewnia, że dane są na pewno zgodne z wymaganiami systemu przed ich przetworzeniem. Przykładami reguł walidacji mogą być wymagania dotyczące długości tekstu, formatów numerów telefonów czy też wymagalności pewnych pól, co jest zgodne z dobrymi praktykami UX oraz standardami bezpieczeństwa danych.

Pytanie 33

Który zapis w języku JavaScript daje taki sam wynik jak poniższy kod?

x = 0;
x += 10;
A. x = 10; x = 0
B. x = 10; x = x + 10
C. x = 0; x--; x *= 9
D. x = 0; x++; x = x + 9
Odpowiedź, która została wybrana, jest poprawna, ponieważ wykonuje dokładnie te same operacje na zmiennej x, co pierwotny kod. Przypisanie x = 0; ustawia wartość x na 0, a następnie x++; zwiększa wartość x o 1, co daje 1. Następnie, dodając 9 do x za pomocą x = x + 9, otrzymujemy 10. Tak więc końcowa wartość zmiennej x wynosi 10, co jest zgodne z wynikiem oryginalnego zapisu x += 10, który również prowadzi do wartości 10. W praktyce, takie podejście jest zgodne z zasadami programowania, gdzie użycie operatorów inkrementacji i przypisania jest powszechną praktyką. Poprawne zarządzanie zmiennymi i ich modyfikacja przy pomocy operatorów to kluczowy aspekt pisania efektywnego i łatwego do zrozumienia kodu w JavaScript. Pamiętaj, aby korzystać z takich konstrukcji, gdyż są one nie tylko czytelne, ale również optymalne.

Pytanie 34

Ile razy zostanie wykonana pętla w zamieszczonym skrypcie PHP?

$a = $x = 0;
do{
    $a++;
    $x = $x + $a;
}while($x != 21);
A. 7
B. 5
C. 0
D. 6
Pętla typu do-while jest specyficzna w tym że jej ciało wykonuje się przynajmniej raz przed sprawdzeniem warunku pętli. To różni ją od pętli while gdzie warunek jest sprawdzany przed wykonaniem kodu wewnątrz pętli. W analizowanym skrypcie zmienne $a i $x są inicjalizowane wartością 0 i najpierw $a jest inkrementowane co powoduje że w pierwszej iteracji $x przyjmuje wartość 1. W każdej kolejnej iteracji do $x dodaje się aktualną wartość $a która rośnie o 1 w każdym kroku. Częstym błędem jest zakładanie że pętla do-while wykona się tyle razy ile wskazuje różnica między wartościami początkowymi zmiennych a wartością końcową warunku. Jednak w tym przypadku każda iteracja przyczynia się do sumowania wartości rosnącej $a z $x co wpływa na liczbę iteracji. Przy złym zrozumieniu mechanizmu może się wydawać że pętla wykona mniej lub więcej iteracji zwłaszcza gdy nie prześledzimy krok po kroku wartości zmiennych. Obliczenia są kluczowe aby określić że pętla do momentu osiągnięcia $x równego 21 wykonuje się dokładnie 6 razy a nie 5 czy 7 co podkreśla znaczenie dokładności w analizie kodu i zrozumieniu jego działania w kontekście iteracji i warunków kończących pętlę.

Pytanie 35

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
B. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
C. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
D. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
Kod HTML przedstawiony w pytaniu wykorzystuje znacznik &lt;video&gt;, który jest elementem HTML5 pozwalającym na osadzanie filmów w dokumentach internetowych. W kontekście poprawnej odpowiedzi, kluczowym jest zrozumienie, że przeglądarki muszą obsługiwać HTML5, aby mogły w pełni funkcjonować z tym kodem. W przypadku starszych przeglądarek, które nie wspierają HTML5, element &lt;video&gt; może nie być wyświetlany lub nie będzie działał prawidłowo. Dlatego istotne jest, aby deweloperzy testowali swoje aplikacje w różnych środowiskach oraz aby korzystali z odpowiednich polyfilli dla starszych przeglądarek, które mogą poprawić ich funkcjonalność. Przykładowo, użycie biblioteki JavaScript takiej jak Video.js może pomóc w zapewnieniu wsparcia dla elementów wideo w szerszym zakresie przeglądarek. Dbałość o kompatybilność z różnymi wersjami przeglądarek to nie tylko kwestia estetyki, ale również użyteczności i dostępności aplikacji internetowych.

Pytanie 36

Który typ danych należy przypisać atrybutowi „Telefon”, jeśli numer zaczyna się od znaku „+” i numeru kierunkowego kraju?

A. liczbowy
B. wyliczeniowy
C. binarny
D. tekstowy
Numer telefonu zaczynający się od „+” i kodu kraju zawiera znaki, których typ liczbowy nie przechowa (np. plus, ewentualne spacje czy zera wiodące), dlatego atrybutowi „Telefon” przypisuje się typ TEKSTOWY. Na numerze i tak nie wykonuje się działań matematycznych. Dlatego właściwy jest typ tekstowy.

Pytanie 37

W dokumencie XHTML znajduje się fragment kodu, w którym występuje błąd walidacyjny. Co jest przyczyną tego błędu?

Ilustracja do pytania
A. Znaczniki powinny być pisane dużymi literami
B. Znacznik <b> nie może być umieszczany wewnątrz znacznika <p>
C. Znacznik <br> musi być zamknięty
D. Nie ma nagłówka szóstego poziomu
Wybór odpowiedzi, że nie istnieje nagłówek szóstego stopnia, jest błędny, ponieważ w specyfikacji XHTML nagłówek szóstego stopnia <h6> jest jak najbardziej dopuszczalny i służy do oznaczania najmniej ważnych nagłówków, w hierarchii od <h1> do <h6>. Pisanie znaczników wielkimi literami nie jest wymogiem XHTML. Chociaż XHTML jest wrażliwy na wielkość liter, co oznacza, że nazwy znaczników i atrybutów muszą być pisane małymi literami, odpowiedź sugerująca, że tylko wielkie litery są poprawne, jest błędna. Użycie <b> jako zagnieżdżonego w <p> jest standardową praktyką i jest zgodne z normami XHTML, ponieważ <b> służy do pogrubienia tekstu wewnątrz elementu blokowego, jakim jest <p>. Problem z tą odpowiedzią polega na błędnym zrozumieniu struktury HTML, gdzie zagnieżdżanie elementów inline w elementach blokowych jest dozwolone. Ważnym aspektem jest umiejętność rozpoznania, które elementy są inline, a które blokowe, i jak mogą być poprawnie zagnieżdżane w kontekście specyfikacji XHTML. Poprawne zrozumienie tych zasad pomaga w tworzeniu wydajniejszych i bardziej zgodnych dokumentów internetowych.

Pytanie 38

Jaką wartość przyjmie zmienna a po wykonaniu poniższej sekwencji komend w PHP?

$a = 1;
$a++;
$a += 10;
--$a;
A. 1
B. 12
C. 11
D. 10
Początkowa wartość zmiennej a wynosi 1. Częstym błędem jest niewłaściwe zrozumienie działania operatorów inkrementacji i dekrementacji. W przypadku operatora postinkrementacji $a++ najpierw używana jest aktualna wartość zmiennej a a dopiero po tym następuje jej zwiększenie co daje 2. To zamieszanie może prowadzić do błędnego przekonania że wartość zmiennej wzrasta natychmiast co jest nieprawidłowe. Następnie instrukcja $a += 10 zwiększa wartość zmiennej o 10 co w rzeczywistości daje 12. Powszechnym błędem jest niedostateczne zrozumienie jak działają przypisania z dodawaniem co może skutkować nieoczekiwanymi wynikami. Ostatnia instrukcja --$a jest predekrementacją co oznacza że wartość zmiennej zmniejsza się przed jej użyciem co ostatecznie prowadzi do wartości 11. Często myli się to z postdekrementacją gdzie wartości byłyby używane przed zmniejszeniem co wpływa na kolejność operacji. Zrozumienie różnicy między pre- i post-operatorami jest niezbędne dla precyzyjnego przewidywania wyników kodu. Uwaga na te subtelności jest kluczowa dla unikania błędów logicznych w programowaniu i zapewnienia poprawnego działania aplikacji

Pytanie 39

Aby umieścić aplikację PHP w sieci, należy przesłać jej pliki źródłowe na serwer przy użyciu protokołu

A. SMTP
B. NNTP
C. HTTP
D. FTP
Inne odpowiedzi, które zaznaczyłeś, nie są do końca trafione. Protokół NNTP, czyli Network News Transfer Protocol, służy do przesyłania wiadomości w grupach dyskusyjnych, a to nie ma nic wspólnego z przenoszeniem plików. Z kolei SMTP, czyli Simple Mail Transfer Protocol, jest do wysyłania e-maili – znowu nie to, czego potrzebujemy przy aplikacjach. HTTP, chociaż jest super istotnym protokołem w sieci, to nie ma zaplecza do publikowania plików na serwerze. To raczej do przesyłania danych między przeglądarkami a serwerami. Wiesz, typowym błędem wielu osób jest mylenie tych protokołów i ich zastosowania. Dlatego ważne, żeby zrozumieć, jak to wszystko działa i do czego się nadaje. W praktyce zawsze najlepiej stawiać na FTP lub jego bezpieczniejsze wersje, żeby dobrze ogarnąć pliki aplikacji na serwerze.

Pytanie 40

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Progowanie.
B. Krzywe.
C. Inwersja.
D. Barwienie.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.