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 20:55
  • Data zakończenia: 8 czerwca 2026 21:08

Egzamin zdany!

Wynik: 23/40 punktów (57,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

Komenda skierowana do serwera bazy danych, która polega na zbieraniu, wyszukiwaniu lub zmienianiu danych w bazie, nosi nazwę

A. kolumny
B. kopii
C. formularza
D. kwerendy
Kwerenda to termin używany w kontekście baz danych, który odnosi się do polecenia wysyłanego do serwera bazy danych w celu wykonywania operacji na danych. Główne funkcje kwerend to zbieranie, modyfikowanie lub wyszukiwanie danych w tabelach bazy danych. Kwerendy są kluczowym elementem języka SQL (Structured Query Language), który jest standardem w zarządzaniu relacyjnymi bazami danych. Na przykład, kwerenda SELECT umożliwia pobieranie danych z określonych kolumn w tabeli, a kwerenda UPDATE pozwala na modyfikację istniejących danych. Dobre praktyki w pisaniu kwerend obejmują optymalizację zapytań, używanie indeksów, a także dbanie o bezpieczeństwo (np. unikanie ataków typu SQL Injection). Zrozumienie, jak działają kwerendy, jest niezbędne dla każdego, kto pracuje z bazami danych, ponieważ pozwala to na efektywne zarządzanie danymi oraz ich analizę.

Pytanie 2

Jakie wyrażenie logiczne powinno być użyte w języku JavaScript, aby zastosować operacje tylko dla wszystkich liczb ujemnych z przedziału jednostronnie domkniętego <-200,-100)?

A. (liczba <=-200) || (liczba>-100)
B. (liczba >=-200) && (liczba<-100)
C. (liczba >=-200) || (liczba>-100)
D. (liczba <=-200) && (liczba<-100)
Patrząc na błędne odpowiedzi, pierwsza z nich korzysta z operatora OR (||), co powoduje, że wyrażenie jest prawdziwe, jeśli chociaż jeden z warunków jest spełniony. Więc, jeśli liczba jest niższa niż -200, to pierwszy warunek będzie prawdziwy i całość też. To sprawia, że operacje mogą być wykonywane na liczbach, które nie mieszczą się w naszym przedziale, co jest sprzeczne z tym, co chcemy osiągnąć. Kolejna odpowiedź też używa operatora OR, ale jej warunek mówi, że liczba ma być większa niż -100. To prowadzi do sytuacji, gdzie każda liczba powyżej -100 jest uznawana za poprawną, co jest totalnie niezgodne z naszym zamysłem. Ostatnia odpowiedź ma operator AND, ale z kiepskimi warunkami. Warunek liczba <= -200 nie spełnia wymagań, bo nie bierze pod uwagę liczb w przedziale od -200 do -100, tylko te mniejsze niż -200. Dlatego takie wyrażenie nie zadziała jak trzeba i nie pozwoli na właściwe przetwarzanie liczb w wymaganym zakresie.

Pytanie 3

Jaką funkcję pełni CONCAT w języku SQL?

A. zwraca podłańcuch z tekstu wejściowego
B. łączy (skleja) teksty w jeden ciąg
C. usuwa wskazany fragment tekstu
D. przycina wyświetlany tekst
Pozostałe opisy pasują do innych funkcji tekstowych. Usuwanie lub podmianę fragmentu tekstu realizuje REPLACE. Przycinanie - np. usuwanie spacji z początku i końca - to zadanie TRIM. Wycięcie podłańcucha (fragmentu od pozycji o danej długości) zwraca SUBSTRING. Sklejanie kilku napisów w jeden wykonuje CONCAT, dlatego to ta odpowiedź jest poprawna.

Pytanie 4

Jakie jest zastosowanie certyfikatu SSL?

A. odszyfrowywania przesyłanych danych
B. przechowywania informacji o sesjach tworzonych na stronie
C. określenia właściciela domeny
D. zapobiegania złośliwemu oprogramowaniu na stronie
Certyfikat SSL, czyli Secure Sockets Layer, jest naprawdę ważnym elementem, jeśli chodzi o bezpieczeństwo w sieci. Dzięki niemu możemy mieć pewność, że strona, którą odwiedzamy, jest tym, za co się podaje. Wyobraź sobie, że logujesz się do swojego banku. Dzięki certyfikatowi SSL wiesz, że łączysz się z prawdziwą stroną, a nie z jakimś oszustem. To daje spokój, prawda? Co więcej, ten certyfikat szyfruje dane, które są przesyłane między klientem a serwerem, co jest kluczowe, zwłaszcza kiedy chodzi o nasze prywatne informacje. Z tego, co wiem, certyfikaty SSL są zgodne z normami, które ustala IETF oraz CA/Browser Forum, dlatego są dość powszechnie akceptowane w branży internetowej.

Pytanie 5

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. Python
B. JavaScript
C. PHP
D. C#
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 6

Która właściwość CSS ustawia kolor TEKSTU elementu?

A.
font-color
B.
color
C.
background-color
D.
text-color
Kolor TEKSTU elementu ustawia w CSS właściwość color, np. color: #000000; daje czarny tekst. Tła dotyczy osobna właściwość background-color. Dlatego kolor tekstu ustawia color.

Pytanie 7

Przypisanie wartości do zmiennej $dana = 125; zapisane jest w języku

A. PHP
B. C++
C. Python
D. JavaScript
Instrukcja $dana = 125; jest charakterystyczna dla języka PHP, bo po pierwsze używa znaku dolara przed nazwą zmiennej, a po drugie ma średnik na końcu, tak jak wymagają tego standardy składni PHP. W PHP każda zmienna zaczyna się od $, np. $liczba, $imie, $userId. Jest to jedna z najbardziej rozpoznawalnych cech tego języka, od razu widać, że chodzi o kod wykonywany po stronie serwera, a nie np. o Pythona.
W typowym pliku PHP taki zapis pojawi się wewnątrz znacznika <?php ... ?>, na przykład:
<?php
$dana = 125;
echo $dana;
?>
To jest klasyczny przykład przypisania wartości typu całkowitego do zmiennej. PHP jest językiem słabo typowanym (dynamicznie typowanym), więc nie trzeba wcześniej deklarować typu zmiennej. Wystarczy ją po prostu utworzyć przez przypisanie. Z mojego doświadczenia to jest bardzo wygodne przy szybkim tworzeniu aplikacji webowych, np. liczników, prostych kalkulatorów, obsługi formularzy.
W praktyce takie przypisanie wykorzystuje się choćby przy pobieraniu danych z formularza: $wiek = (int)$_POST['wiek']; albo przy obliczeniach: $suma = $a + $b;. Dobrą praktyką jest nadawanie zmiennym czytelnych nazw i pilnowanie, żeby typ danych był przewidywalny, nawet jeśli PHP pozwala na sporą dowolność. W nowoczesnych projektach PHP (np. w frameworkach typu Laravel czy Symfony) nadal używa się dokładnie takiej składni przypisania, tylko zazwyczaj w bardziej rozbudowanych strukturach, np. w klasach, kontrolerach czy modelach. Moim zdaniem warto od początku kojarzyć znak $ jednoznacznie z PHP, bo to bardzo pomaga przy szybkim rozpoznawaniu przykładowego kodu w dokumentacji czy na forach.

Pytanie 8

Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
A. zarządzania strukturą bazy danych klienci.
B. manipulowania danymi w tabeli klienci.
C. manipulowania danymi bazy danych klienci.
D. zarządzania strukturą tabeli klienci.
Niepoprawne odpowiedzi sugerują, że polecenie SQL nadaje użytkownikowi 'adam' z hosta 'localhost' prawa zarządzania strukturą bazy danych lub tabeli 'klienci', co jest niezgodne z prawdą. Zgodnie z konstrukcją polecenia GRANT, użytkownik otrzymuje prawa do manipulowania danymi, a nie do zarządzania strukturą. Zarządzanie strukturą bazy danych lub tabeli obejmuje operacje takie jak CREATE, ALTER, DROP, które pozwalają na tworzenie, modyfikowanie lub usuwanie bazy danych lub tabeli. Te uprawnienia są zazwyczaj zarezerwowane dla administratorów bazy danych i nie są nadawane zwykłym użytkownikom, co jest zgodne z zasadą minimalnych uprawnień dla bezpieczeństwa systemu. Dodatkowo, polecenie nie odnosi się do całej bazy danych 'klienci', tylko do konkretnej tabeli 'klienci'. Tę pomyłkę można zrozumieć, jako nieprawidłowe zrozumienie hierarchii i struktury bazy danych.

Pytanie 9

Wskaż zapis stylu CSS formatujący punktor list numerowanych na wielkie cyfry rzymskie, a list punktowanych na kwadraty.

A. ol { list-style-type: upper-alpha; }
   ul { list-style-type: disc; }

B. ol { list-style-type: square; }
   ul { list-style-type: upper-roman; }

C. ol { list-style-type: disc; }
   ul { list-style-type: upper-alpha; }

D. ol { list-style-type: upper-roman; }
   ul { list-style-type: square; }
A. C.
B. D.
C. B.
D. A.
Gratulacje, twoja odpowiedź jest poprawna! Wybór opcji D. odnosi się do poprawnego formatowania list w CSS. Odpowiedź pokazuje dobrą znajomość właściwości list-style-type, która jest kluczowa do formatowania typów list. W tym przypadku, dla listy numerowanej (ol), jest ustawiona wartość upper-roman, która reprezentuje wielkie cyfry rzymskie. Dla listy punktowanej (ul) ustawiamy wartość square, co daje efekt punktów w formie kwadratów. To właśnie takie formatowanie list jest preferowane w branży ze względu na jego estetykę i czytelność. Pamiętaj, że zrozumienie i umiejętność manipulacji różnymi właściwościami CSS jest kluczem do tworzenia atrakcyjnych i funkcjonalnych stron internetowych.

Pytanie 10

W języku PHP zapisano fragment kodu. Plik cookie stworzony tym poleceniem

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. zostanie usunięty po jednej godzinie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną godzinę.
C. zostanie usunięty po jednym dniu od jego utworzenia.
D. będzie przechowywany na serwerze przez jeden dzień.
Widzę, że pomyślałeś, że plik cookie będzie trzymany na serwerze. To nie tak, bo wszystkie pliki cookie są przechowywane na komputerze użytkownika, a nie na serwerze. Serwer tylko korzysta z tych cookies, żeby wiedzieć, kto jest użytkownikiem i jak zarządzać sesjami. Kolejna sprawa – niektórzy myślą, że cookie wygasa po godzinie. Ale to nieprawda, bo w PHP argument wygaszenia to 3600 * 24, czyli 86400 sekund, co daje jeden dzień, a nie tylko godzinę. Te nieporozumienia mogą wynikać z braku zrozumienia funkcji setcookie() i tego, jak działają pliki cookie w webowych aplikacjach. Dobrze jest to wiedzieć, by tworzyć lepsze i bezpieczniejsze aplikacje.

Pytanie 11

Jaką funkcję pełni instrukcja DROP w języku SQL?

A. zmienić właściwości obiektu
B. usunąć już istniejący obiekt
C. aktualizować dane obiektu
D. wprowadzić nowy obiekt
Instrukcja DROP w języku SQL jest kluczowym narzędziem do zarządzania bazami danych, używaną do usuwania istniejących obiektów, takich jak tabele, widoki czy procedury składowane. Kiedy używamy polecenia DROP, nie tylko usuwamy obiekt z bazy danych, ale również wszystkie dane z nim związane, co sprawia, że operacja ta jest nieodwracalna. Przykładowo, jeśli chcemy usunąć tabelę o nazwie 'Użytkownicy', musimy użyć polecenia DROP TABLE Użytkownicy. Ważne jest, aby przed wykonaniem takiej operacji upewnić się, że dane są już zarchiwizowane lub nie są już potrzebne, ponieważ ta instrukcja nie da nam możliwości ich odzyskania po wykonaniu. W praktyce, DROP powinno być stosowane z rozwagą — zaleca się przed wykonaniem operacji wykorzystanie polecenia SELECT, aby sprawdzić, jakie dane są w danym obiekcie. Zgodnie z najlepszymi praktykami, organizacje powinny wprowadzać polityki dotyczące usuwania danych, aby zminimalizować ryzyko przypadkowej utraty ważnych informacji.

Pytanie 12

Aby przenieść pliki strony internetowej na serwer, można skorzystać z programu:

A. CloneZilla
B. Bugzilla
C. Go!Zilla
D. FileZilla
Nazwy celowo brzmią podobnie (kończą się na „-zilla”), ale tylko jedna to klient FTP. Bugzilla służy zespołom programistycznym do rejestrowania i śledzenia błędów, więc z transferem plików nie ma nic wspólnego. Go!Zilla działa odwrotnie niż potrzebujemy - to menedżer pobierania, który ściąga pliki z sieci na dysk. CloneZilla tworzy obrazy i klonuje dyski, co przydaje się przy kopiach zapasowych systemu, a nie przy publikacji strony. Do przeniesienia plików witryny na serwer służy FileZilla - klient FTP/SFTP stworzony do transferu plików.

Pytanie 13

Którego znacznika używa się do utworzenia listy definicji w kodzie HTML?

A.
<label>
B.
<dl>
C.
<abbr>
D.
<td>
Pozostałe znaczniki nie tworzą listy definicji. <td> to komórka danych w tabeli - występuje wewnątrz wiersza <tr>, a nie w liście. <abbr> oznacza skrót lub akronim i zwykle przez atrybut title podaje jego rozwinięcie, lecz nie buduje listy. <label> to etykieta powiązana z polem formularza, ułatwiająca jego obsługę i dostępność. Strukturę „termin - opis” daje <dl> z <dt> i <dd>, dlatego to on jest poprawny.

Pytanie 14

Tabela Pacjenci zawiera kolumny: imie, nazwisko, wiek oraz lekarz_id. W celu stworzenia raportu z imionami i nazwiskami pacjentów, którzy mają mniej niż 18 lat i są zapisani do lekarza o id wynoszącym 6, należy zastosować kwerendę SQL

A. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6
B. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6
C. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6
D. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6
Pierwsza z odpowiedzi nie spełnia wymogów, ponieważ używa operatora 'OR' w warunkach, co prowadziłoby do zwrócenia pacjentów, którzy są poniżej 18 roku życia lub są zapisani do lekarza o id równym 6. Taki sposób formułowania zapytania nie odpowiada na postawione w pytaniu wymagania, jako że może zwrócić również pacjentów, którzy nie są nieletni, ale są przypisani do lekarza nr 6. To podejście nie jest zgodne z zasadami analizy danych, gdzie kluczowe jest precyzyjne definiowanie kryteriów. Kolejna odpowiedź również zawiera błąd, gdyż brakuje w niej klauzuli 'FROM', co skutkuje niepełnym zapytaniem SQL. Bez tej klauzuli system nie wie, z jakiej tabeli powinien pobrać dane, co prowadzi do błędu wykonania. Zobaczenie wyników zapytania jest fundamentalne w praktyce baz danych, a każdy programista powinien być świadomy, jak zbudować poprawną kwerendę. Wreszcie, sposób użycia operatora 'AND' w pewnych odpowiedziach jest poprawny, ale sposób ich formułowania oraz pominięcie kluczowych elementów, jak 'FROM', wyklucza je z grona właściwych opcji. Warto zwracać uwagę na zrozumienie logiki kwerend SQL, co jest kluczowe w pracy z bazami danych.

Pytanie 15

Które z poniższych twierdzeń najlepiej opisuje klasę Owoc zdefiniowaną w PHP i przedstawioną w kodzie?

class Owoc {
  public $nazwa;
  private $kolor;
  function set_nazwa($nazwa) {
    $this->nazwa = $nazwa;
  }
}
A. Zawiera dwa pola oraz jedną metodę, pole kolor ma widoczność ograniczoną jedynie do metod klasy
B. Zawiera dwa pola oraz jeden konstruktor, oba pola mają widoczność ograniczoną tylko do metod klasy
C. Zawiera jedno pole oraz dwie metody, przy czym jedna z metod ma zakres prywatny
D. Zawiera dwa pola oraz jedną metodę, pole nazwa ma widoczność ograniczoną tylko do metod klasy
Klasa Owoc w języku PHP jest zdefiniowana z dwoma polami: publicznym $nazwa i prywatnym $kolor. Odpowiedź wskazująca, że pole kolor ma ograniczony dostęp tylko do metod klasy, jest prawidłowa, ponieważ zastosowanie modyfikatora private oznacza, że pole to jest dostępne wyłącznie wewnątrz klasy. Jest to dobra praktyka projektowania, gdzie prywatne pola chronią integralność danych, umożliwiając dostęp i modyfikację tylko za pośrednictwem metod klasy. W tym przypadku, metoda set_nazwa pozwala na ustawienie wartości dla pola $nazwa, ale nie ma bezpośredniej metody dla $kolor, co jest celową strategią, aby zapewnić kontrolę nad dostępem do tego pola. W praktyce, pole $kolor mogłoby być wykorzystywane do przechowywania informacji, które nie powinny być zmieniane zewnętrznie, a jedynie konfigurowane wewnątrz klasy lub podczas jej inicjalizacji. Taki układ sprzyja enkapsulacji, jednym z filarów programowania obiektowego, promując bezpieczeństwo danych i modularność kodu. W projektach komercyjnych zaleca się również dodanie metod get i set dla prywatnych zmiennych, aby zachować elastyczność i kontrolę nad danymi.

Pytanie 16

W języku HTML, aby uzyskać następujący efekt formatowania, należy zapisać kod:

pogrubiony pochylony lub w górnym indeksie

A. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
B. <i>pogrubiony </i><b>pochylony</b> lub w <sub>górnym indeksie</sub>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
D. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
Poprawna odpowiedź to: <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>. Ta odpowiedź prawidłowo wykorzystuje trzy kluczowe tagi HTML do formatowania tekstu: <b>, <i> i <sup>. Tag <b> służy do wyświetlania tekstu w pogrubionym formacie, co pozwala na podkreślenie istotnych fragmentów tekstu. Przykładem może być wyróżnienie tytułów, nagłówków lub kluczowych punktów w treści. Tag <i> jest używany do wyświetlania tekstu w formacie kursywy, co jest często używane do wyróżnienia tytułów książek, filmów, cytowań lub podkreślenia ważnych punktów. Tag <sup> jest używany do wyświetlania napisów jako tekst górnego indeksu, co jest często używane do wskazania numerów stron, przypisów, lub dla oznaczeń matematycznych lub naukowych. Pamiętaj, że prawidłowe użycie tych tagów jest kluczowe dla tworzenia jasnej, czytelnej i profesjonalnie wyglądającej strony internetowej.

Pytanie 17

Który mechanizm jest kluczowy dla Systemu Zarządzania Bazą Danych (SZBD)?

A. system zarządzania wersjami bazy
B. wielodostępność do danych
C. narzędzia do generowania statystyk
D. moduł do wizualizacji diagramów encji
Pozostałe odpowiedzi to narzędzia pomocnicze, a nie fundament SZBD. System zarządzania wersjami bazy, generowanie statystyk czy wizualizacja diagramów encji wspierają administrację lub projektowanie, ale nie są istotą systemu. Tą jest wielodostępność do danych.

Pytanie 18

Który typ danych w SQL jest typem znakowym o STAŁEJ długości?

A.
char
B.
bool
C.
time
D.
text
Typ char to typ znakowy o STAŁEJ długości - zawsze rezerwuje zadaną liczbę znaków (np. char(11)), uzupełniając krótsze wartości spacjami. Sprawdza się dla danych o niezmiennej długości, jak kody czy PESEL. Dlatego stałą długość ma char.

Pytanie 19

Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele pamięci RAM firmy Kingston od najtańszej do najdroższej?

A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
B.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
C.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
D.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;
Trzeba spełnić oba warunki naraz - typ „RAM” ORAZ producent „Kingston” - więc łączymy je AND, a sortowanie od najtańszej to ORDER BY cena rosnąco (domyślnie, lub ASC). Wybieramy model z tabeli podzespoly. Dlatego ta kwerenda jest poprawna.

Pytanie 20

Które wyrażenie logiczne należy zastosować w języku JavaScript, aby wykonać operacje tylko dla dowolnych liczb ujemnych z przedziału jednostronnie domkniętego <-200, -100)?

A. (liczba -100)
B. (liczba >= -200) && (liczba < -100)
C. (liczba <= -200) && (liczba < -100)
D. (liczba >= -200) || (liczba > -100)
Poprawne wyrażenie to (liczba >= -200) && (liczba < -100), bo dokładnie odwzorowuje zapis matematyczny przedziału jednostronnie domkniętego <-200, -100). W matematyce nawias kwadratowy oznacza, że granica jest włączona do przedziału, a nawias okrągły – że granica jest wyłączona. Czyli chcemy wszystkie liczby większe lub równe -200, ale jednocześnie mniejsze niż -100. W JavaScript przekłada się to właśnie na dwa porównania połączone operatorem logicznym AND, czyli &&. Warunek liczba >= -200 pilnuje dolnej granicy, a liczba < -100 pilnuje górnej, która jest otwarta. Jeśli którakolwiek z tych części będzie fałszywa, całe wyrażenie zwróci false, co jest dokładnie tym, czego oczekujemy przy opisie takiego przedziału.
W praktyce taki zapis pojawia się bardzo często, np. przy walidacji danych wejściowych, filtrowaniu wyników, ustawianiu zakresów sliderów w interfejsie użytkownika albo przy sprawdzaniu warunków w grach (np. pozycja x obiektu ma być w jakimś zakresie). Przykład w JS:
if (liczba >= -200 && liczba < -100) {
// wykonaj kod tylko dla liczb z tego zakresu
}
Moim zdaniem warto od razu wyrobić sobie nawyk zapisywania zakresów w postaci dwóch prostych porównań połączonych &&, bo to jest czytelne dla innych programistów i zgodne z powszechną praktyką w branży. W wielu językach (nie tylko JavaScript, ale też C, Java, PHP) taki schemat warunków jest standardem. Trzeba też pamiętać, że w JS nie ma osobnego operatora „przedziału”, więc zawsze rozbijamy to właśnie na takie składowe porównania logiczne.

Pytanie 21

Grafik chce zamienić obraz JPG na PNG tak, by białe miejsca stały się przezroczyste. Co powinien zrobić?

A. zaimportować obraz do edytora wektorowego
B. obniżyć rozdzielczość obrazu
C. dodać kanał alfa
D. zamienić obraz na odcienie szarości
Przezroczystość daje wyłącznie kanał alfa. Obniżenie rozdzielczości zmienia tylko liczbę pikseli, zamiana na odcienie szarości - kolory, a import do edytora wektorowego zmienia typ grafiki - żadne z tych nie tworzy przezroczystych obszarów. Trzeba dodać kanał alfa.

Pytanie 22

Który zapis znacznika <meta> jest poprawny pod względem użytych atrybutów?

A.
<meta background="blue">
B.
<meta name="description" content="...">
C.
<meta title="Strona dla hobbystów">
D.
<meta name="!DOCTYPE">
Znacznik <meta> opisuje stronę parą atrybutów name i content, więc poprawny jest <meta name="description" content="..."> - name mówi, o jaką informację chodzi, a content podaje jej treść (tu opis strony dla wyszukiwarek). Zapamiętaj wzorzec: <meta name="..." content="...">.

Pytanie 23

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. wyświetla wprowadzone znaki.
B. pozwala na wprowadzanie jedynie wartości liczbowych.
C. ukrywa wprowadzone znaki.
D. domyślnie posiada wpisany tekst "pole".
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 24

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr { background-color: Pink; }
B. tr:hover { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 25

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
C. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
D. wszystkie operacje na tabelach bazy dane.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 26

Którego formatu użyć do zapisu ZDJĘCIA z kompresją STRATNĄ?

A. JPEG
B. GIF
C. PCX
D. PNG
Pozostałe formaty nie są stratne lub nie nadają się do zdjęć. PNG kompresuje bezstratnie (większe pliki), GIF ma tylko 256 kolorów, a PCX to stary format bez kompresji stratnej. Zdjęcie ze stratną kompresją zapisuje się jako JPEG.

Pytanie 27

Aby zainstalować system CMS Joomla!, potrzebne jest środowisko

A. PHP oraz MySQL
B. IIS, Perl oraz MySQL
C. Apache oraz PHP
D. Apache, PHP i MySQL
Aby uruchomić system CMS Joomla!, niezbędne jest środowisko składające się z serwera Apache, języka PHP oraz bazy danych MySQL. Apache jest jednym z najpopularniejszych serwerów WWW, który obsługuje zapytania HTTP i serwuje zawartość stron internetowych. PHP to skryptowy język programowania, który jest powszechnie używany do tworzenia dynamicznych stron internetowych i aplikacji webowych. W kontekście Joomla!, PHP jest odpowiedzialne za przetwarzanie kodu i interakcję z bazą danych. MySQL natomiast to system zarządzania relacyjnymi bazami danych, który przechowuje wszystkie dane potrzebne do działania Joomla!, takie jak informacje o użytkownikach, artykułach i ustawieniach systemowych. Współpraca tych trzech komponentów tworzy stabilne środowisko do działania Joomla!, zapewniając optymalizację wydajności oraz bezpieczeństwo. Warto również zaznaczyć, że Joomla! wymaga minimum wersji PHP 7.2 oraz MySQL 5.5, aby zapewnić pełną funkcjonalność i wsparcie dla nowoczesnych rozwiązań webowych.

Pytanie 28

Instrukcja przypisania elementu do tablicy w języku JavaScript dotyczy tablicy:

Tablica['technik'] = 'informatyk';
A. wielowymiarowej.
B. asocjacyjnej.
C. statycznej.
D. numerycznej.
Najpierw omówmy odpowiedź 'statyczna'. 'Statyczna' tablica to termin, który odnosi się do tablic o stałej wielkości, które nie mogą być dynamicznie zmieniane. W języku JavaScript jednak, tablice są dynamiczne i ich wielkość może być zmieniana w dowolnym momencie. Wybór odpowiedzi 'numeryczna' sugeruje niezrozumienie podstawowych właściwości tablic w JavaScript. Tablice numeryczne są strukturami danych, które używają numerów jako indeksów, ale to nie jest to, co pokazano na zdjęciu - tutaj kluczem jest ciąg znaków. Wybór odpowiedzi 'wielowymiarowa' wskazuje na błędną interpretację przedstawionego obrazu. Tablica wielowymiarowa to tablica tablic, a na zdjęciu pokazano jednowymiarową tablicę asocjacyjną. Pamiętaj, że rozumienie różnych rodzajów tablic i ich zastosowań jest kluczowe dla skutecznego programowania w JavaScript.

Pytanie 29

Który semantyczny znacznik HTML5 przeznaczony jest na stopkę strony?

A.
<footer>
B.
<figcaption>
C.
<header>
D.
<aside>
Stopkę strony lub sekcji opisuje semantyczny znacznik <footer> - zwykle zawiera prawa autorskie, kontakt czy linki dodatkowe. Dlatego stopką jest <footer>.

Pytanie 30

W przedstawionej regule CSS

h1 {color : blue}
h1 reprezentuje
A. deklarację
B. klasę
C. selektor
D. wartość
Selekcja elementów w CSS jest naprawdę ważna, jeśli chodzi o tworzenie stron www. W regule CSS `h1 {color: blue}` mamy do czynienia z selektorem `h1`, który mówi nam, jak stylizować nagłówki pierwszego poziomu. Dzięki selekcji można fajnie dopasować wygląd strony do swoich potrzeb. No i w tym przypadku każdy nagłówek `h1` na stronie będzie miał niebieski kolor, co jest dość prostą i czytelną metodą. warto pamiętać, że CSS oferuje różne typy selektorów, jak klasy czy identyfikatory, a nie tylko tagi. W dużych projektach lepiej używać klasowych czy identyfikatorowych selektorów, bo daje to większą kontrolę nad stylizacją i łatwiejsze zarządzanie kodem.

Pytanie 31

Na przedstawionym obrazie widać wynik formatowania przy użyciu styli CSS oraz kod HTML, który go generuje. Przy założeniu, że marginesy wewnętrzne wynoszą 50 px, a zewnętrzne 20 px, jak wygląda styl CSS dla tego obrazu?

Ilustracja do pytania
A. Rys. D
B. Rys. B
C. Rys. C
D. Rys. A
Poprawna odpowiedź, Rys. C, przedstawia styl CSS, który prawidłowo definiuje marginesy i marginesy wewnętrzne obrazu. W tym przypadku margines wewnętrzny wynosi 50px, a zewnętrzny 20px, co jest zgodne z wymaganiami zawartymi w pytaniu. Kod CSS zawiera solidną linię graniczną o wartości 4px w kolorze czarnym, co jest dobrze praktykowane w projektowaniu stron internetowych, ponieważ solidna linia jest bardziej widoczna i profesjonalna niż linia przerywana. Kolor tła teal zapewnia atrakcyjny kontrast. Zastosowanie właściwego marginesu i marginesu wewnętrznego jest kluczowe w tworzeniu responsywnych układów, które są teraz standardem w branży. Poprawne ustawienie tych parametrów zapewnia estetyczny wygląd oraz prawidłowe rozmieszczenie elementów na stronie. Praktyczne zastosowanie tej wiedzy obejmuje projektowanie layoutów w CSS Grid czy Flexbox, gdzie marginesy i marginesy wewnętrzne pełnią kluczową rolę w zarządzaniu przestrzenią elementów. Właściwe wykorzystanie tych stylów wspiera tworzenie stron zgodnych ze standardami W3C, co jest fundamentem profesjonalnego web developmentu.

Pytanie 32

Którego znacznika użyć do sekcji cytatu (mogącej zawierać kilka akapitów, z wcięciem)?

A.
<blockquote>
B.
<indent>
C.
<blockq>
D.
<q>
Do oznaczenia dłuższego cytatu blokowego - mogącego obejmować kilka akapitów i domyślnie wyświetlanego z wcięciem - służy <blockquote>. To element blokowy. Dlatego sekcję cytatu tworzy <blockquote>.

Pytanie 33

Co realizuje funkcja COUNT w SQL?

A. zliczanie rekordów (wierszy) wybranych kwerendą
B. obliczanie wartości bezwzględnej
C. obliczanie średniej w kolumnie
D. zliczanie znaków w polu tekstowym
Funkcja agregująca COUNT zlicza REKORDY (wiersze) zwrócone przez kwerendę - np. COUNT(*) poda liczbę wszystkich wierszy spełniających warunki. Dlatego COUNT zlicza rekordy wybrane kwerendą.

Pytanie 34

Co oznacza zapis w obiekcie w języku JavaScript?

x = przedmiot.nazwa();
A. zmienna x będzie przechowywać wynik działania metody nazwa
B. zmienna x będzie przechowywać rezultat działania funkcji przedmiot
C. nazwa jest cechą obiektu przedmiot
D. nazwa jest atrybutem klasy przedmiot
Zapis przedmiot.nazwa() w języku JavaScript oznacza wywołanie metody nazwa na obiekcie przedmiot. Częstym błędem jest mylenie metody z polem klasy czy właściwością obiektu. Pole klasy odnosi się do zmiennej zdefiniowanej na poziomie klasy która przechowuje dane związane z instancjami tej klasy. Metody natomiast są funkcjami które wykonują operacje na danych obiektu. Jeśli chodzi o zmienną przechowującą wynik działania funkcji przedmiot nie jest to poprawna interpretacja ponieważ przedmiot w tym przypadku jest obiektem na którym działa metoda nazwa a nie funkcją. Kolejny błąd to mylenie wywołania metody z przypisaniem wartości właściwości obiektu. Właściwości to atrybuty które przechowują stany obiektu natomiast metody określają jego zachowanie i umożliwiają wykonywanie czynności. Często podczas nauki JavaScript błędnie interpretujemy składnię kropki jako odnoszącą się tylko do właściwości zamiast dostrzegać że może ona również oznaczać wywołanie metod. Dobra praktyka polega na jasnym rozróżnieniu pomiędzy metodami a właściwościami co zwiększa czytelność i niezawodność kodu ułatwiając jego późniejszą konserwację i rozwój przez zespoły programistyczne

Pytanie 35

W kontekście PGP zmienna $_GET jest zmienną

A. predefiniowaną, służącą do zbierania wartości z formularzy po nagłówkach zapytań HTTP (dane z formularzy nie są widoczne w URL)
B. predefiniowaną, stosowaną do przesyłania informacji do skryptów PHP poprzez adres URL
C. zwykłą, stworzoną przez autora strony
D. zdefiniowaną przez autora strony, wykorzystywaną do przesyłania danych z formularzy przez adres URL
Odpowiedzi dotyczące zmiennej $_GET zawierają szereg nieścisłości, które mogą wprowadzać w błąd. Pierwsza z nich sugeruje, że $_GET jest używana do gromadzenia wartości formularza po nagłówkach zlecenia HTTP. W rzeczywistości, $_GET jest używana do przesyłania danych poprzez adres URL, a nie z nagłówków formularza; to zmienna $_POST odpowiada za przesyłanie danych z formularza, których nie widać w adresie. Druga niepoprawna odpowiedź twierdzi, że $_GET jest zdefiniowana przez twórcę strony. Należy podkreślić, że $_GET jest zmienną predefiniowaną, co oznacza, że jest wbudowana w PHP i nie można jej zmienić ani zdefiniować na nowo. Ostatnia odpowiedź sugeruje, że $_GET jest zwykłą zmienną, co jest nieprecyzyjne, ponieważ zmienne predefiniowane, takie jak $_GET, mają specjalne znaczenie i funkcjonalność w kontekście aplikacji webowych. W związku z tym każda z tych odpowiedzi zawiera błędne zrozumienie roli zmiennej $_GET, co może prowadzić do nieprawidłowego użycia tej zmiennej w praktyce.

Pytanie 36

Kto odpowiada za ciągłe utrzymanie bazy w produkcji, zarządzanie kontami i instalację nowych wersji systemu bazodanowego?

A. twórcy narzędzi programistycznych
B. administratorzy serwerów i sieci
C. administratorzy systemu bazy danych
D. projektanci i programiści SZBD
Pozostałe role mają inny zakres. Twórcy narzędzi programistycznych budują oprogramowanie, ale nie administrują czyjąś bazą. Administratorzy serwerów i sieci dbają o sprzęt, system operacyjny i łączność, a nie o sam silnik bazy i jego użytkowników. Projektanci i programiści SZBD tworzą system zarządzania bazą, a nie utrzymują wdrożenie. Tym zajmuje się DBA.

Pytanie 37

Podczas zapisywania hasła użytkownika w serwisie WWW, na przykład w bankowości internetowej, aby zabezpieczyć je przed odczytaniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych
B. klucza
C. mieszających
D. cyklometrycznych
Zastosowanie cyklometrycznych, abstrakcyjnych czy mieszających funkcji do zabezpieczania haseł użytkowników jest nieadekwatne, gdyż każda z tych koncepcji ma swoje własne specyfikacje i zastosowanie, które nie są bezpośrednio związane z właściwym zabezpieczaniem haseł. Funkcje cyklometryczne, na przykład, są używane w programowaniu do analizy złożoności kodu, a nie do ochrony danych. Z kolei abstrakcyjne funkcje są bardziej związane z programowaniem obiektowym i nie mają zastosowania w kontekście szyfrowania haseł. Funkcje mieszające, mimo że mogą być stosowane w niektórych scenariuszach związanych z kryptografią, nie są wystarczające do zabezpieczania haseł samodzielnie. Bez dodatkowego mechanismu, takiego jak klucz szyfrujący, funkcje te mogą być niewystarczające do ochrony danych przed nieautoryzowanym dostępem. Często błędne przekonania na temat użycia różnych funkcji wynikają z niepełnego zrozumienia ich przeznaczenia oraz pomylenia ich z technikami szyfrowania lub hashowania, co prowadzi do niewłaściwych strategii zabezpieczania informacji. Właściwe podejście powinno zawsze uwzględniać standardy branżowe oraz najlepsze praktyki, takie jak stosowanie silnych algorytmów szyfrujących oraz odpowiednie zarządzanie kluczami.

Pytanie 38

W języku PHP zmienna $a została przypisana do wartości 1. Wyrażenie $a === $b będzie miało wartość true, gdy zmienna $b będzie ustawiona na wartość

A. "1" lub '1'
B. '1'
C. 1 lub '1'
D. *1
Odpowiedzi, które sugerują różne typy danych, takie jak '1', 1 lub '1', oraz \"1\" lub '1', mogą prowadzić do nieporozumień wynikających z niepełnego rozumienia operatorów porównania w PHP. W przypadku operatora porównania identyczności (===), ważne jest, aby zarówno wartość, jak i typ zmiennej były zgodne. Porównanie 1 (liczba całkowita) z '1' (łańcuch znaków) zwróci false, ponieważ różnią się one typem. Typowe błędy myślowe, prowadzące do takiej pomyłki, mogą wynikać z braku zrozumienia, jak PHP obsługuje typy danych i konwersję typów. Warto zauważyć, że w innych językach programowania porównania mogą działać inaczej, co może prowadzić do zamieszania, szczególnie w kontekście programowania w PHP. Istotne jest, aby przy projektowaniu aplikacji zawsze stosować porównania identyczności, by uniknąć nieprzewidzianych problemów związanych z typami danych. Dobrą praktyką jest również eksploracja dokumentacji PHP oraz testowanie porównań w praktyce, co pozwala na głębsze zrozumienie działania języka. Właściwe podejście do typów danych oraz klarowne rozumienie operatorów porównania są kluczowymi elementami skutecznego programowania w PHP.

Pytanie 39

Aby zmienić strukturę tabeli w bazie danych MySQL, należy użyć komendy

A. ALTER TABLE
B. GRANT
C. INSERT INTO
D. UPDATE
Odpowiedź 'ALTER TABLE' jest poprawna, gdyż to polecenie w MySQL służy do modyfikacji struktury istniejącej tabeli. Dzięki niemu możemy dodawać nowe kolumny, zmieniać typy danych kolumn, usuwać kolumny, a także zmieniać właściwości tabeli, takie jak klucze główne czy unikalne. Przykład zastosowania polecenia ALTER TABLE to dodanie kolumny do tabeli: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;' co skutkuje dodaniem kolumny 'wiek' o typie INT do tabeli 'pracownicy'. Zgodnie z najlepszymi praktykami, przed wykonaniem takich operacji warto wykonać kopię zapasową bazy danych, aby uniknąć utraty danych w przypadku nieprawidłowego wykonania polecenia. Używanie ALTER TABLE jest kluczowe podczas rozwoju aplikacji, gdyż często zachodzi potrzeba dostosowania struktury bazy danych do zmieniających się wymagań biznesowych.

Pytanie 40

Jaką maksymalną ilość znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, w której nie ma złączeń komórek ani wiersza nagłówkowego?

A. 3
B. 6
C. 9
D. 12
Tabela o trzech kolumnach i trzech wierszach składa się z 9 komórek, co oznacza, że maksymalna liczba znaczników <td>, które można zastosować w takiej tabeli, wynosi 9. Każda komórka tabeli jest reprezentowana przez znacznik <td>, dlatego musisz pomnożyć liczbę kolumn (3) przez liczbę wierszy (3), co daje 3 * 3 = 9. To podejście odzwierciedla najlepsze praktyki w tworzeniu tabel HTML, które zakładają, że każda komórka powinna być jednoznacznie określona. Warto pamiętać, że unikanie złączeń komórek upraszcza strukturę tabeli, co ułatwia przetwarzanie przez różne systemy oraz poprawia dostępność strony. Przykład zastosowania to np. wyświetlanie danych o produktach w sklepie internetowym, gdzie każda informacja o produkcie, taka jak nazwa, cena i opis, znajduje się w osobnej komórce. Zgodnie z wytycznymi W3C, stosowanie semantycznych znaczników poprawia SEO i ułatwia nawigację.