Przejdź do głównej treści

Wyniki egzaminu

Nowy egzamin

Informacje o egzaminie

  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Rozpoczęcie: 14 października 2026 18:03
  • Zakończenie: 14 października 2026 18:23 

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Pewność odpowiedzi

Żadna odpowiedź nie została oznaczona jako strzał.

Przy następnym egzaminie zaznaczaj niepewne odpowiedzi - zobaczysz wtedy, ile wyniku bierze się z wiedzy, a ile ze szczęścia.

Twój wynik na tle innych

Twój wynik jest lepszy niż 70% podejść do kwalifikacji INF.03.

Porównanie z 47944 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).

Zachowaj ten wynik na koncie

Załóż darmowe konto albo zaloguj się - ten egzamin trafi na Twoje konto, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.

Analiza przebiegu egzaminu - sprawdź przebieg rozwiązywania pytań Przebieg egzaminu

Analiza przebiegu egzaminu

Odtwarzaj przebieg egzaminu krok po kroku i ucz się na własnych błędach - kolejność rozwiązywania, czas nad każdym pytaniem, momenty zmiany odpowiedzi.

  • Suwak czasu - przeglądaj pytania w kolejności rozwiązywania.
  • Tryb nauki - poprawne odpowiedzi i wyjaśnienia.
  • Analiza czasu - ile czasu nad każdym pytaniem.
  • Monitoring focusu - momenty opuszczenia zakładki.

Pochwal się swoim wynikiem!

Szczegółowe wyniki

Pytanie 1

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę
A.
INSERT INTO nowy FROM artykuly SET TRUE;
B.
UPDATE artykuly SET nowy = TRUE;
Twoja odpowiedź
C.
INSERT INTO artykuly VALUE nowy = TRUE;
D.
UPDATE nowy FROM artykuly VALUE TRUE;
Poprawna odpowiedź. Poprawna kwerenda UPDATE artykuly SET nowy = TRUE; jest klasycznym przykładem instrukcji aktualizacji danych w SQL. Słowo kluczowe UPDATE wskazuje, że modyfikujemy istniejące rekordy, a nie dodajemy nowe. Nazwa tabeli artykuly określa, w której tabeli wykonujemy operację. Następnie część SET nowy = TRUE ustawia dla kolumny nowy wartość logiczną TRUE we wszystkich wierszach, ponieważ w zapytaniu nie ma klauzuli WHERE. I to jest tu kluczowe: brak WHERE oznacza, że aktualizacja dotknie każdego rekordu w tabeli.
Moim zdaniem warto zapamiętać schemat: UPDATE nazwa_tabeli SET kolumna = wartość WHERE warunek;. W praktyce bardzo często dodaje się WHERE, np.: UPDATE artykuly SET nowy = TRUE WHERE data_dodania >= '2026-01-01'; – wtedy oznaczamy jako nowe tylko artykuły dodane od konkretnej daty. W zadaniu jednak wyraźnie jest mowa o każdym rekordzie, więc brak WHERE jest jak najbardziej zgodny z treścią.
W większości systemów bazodanowych (MySQL, PostgreSQL, SQL Server, MariaDB) ta składnia jest standardowa i zalecana. Dobra praktyka jest taka, żeby przed odpaleniem UPDATE bez WHERE najpierw zrobić SELECT * FROM artykuly; albo SELECT COUNT(*) FROM artykuly;, żeby mieć świadomość, ile rekordów zmienimy. W projektach produkcyjnych często dodaje się też transakcje, np. w PostgreSQL: BEGIN; UPDATE artykuly SET nowy = TRUE; COMMIT; dzięki temu w razie pomyłki można zrobić ROLLBACK.
Warto też wiedzieć, że kolumna typu logicznego może przyjmować wartości TRUE, FALSE, czasem 1/0 (np. w MySQL), ale forma z TRUE/FALSE jest czytelniejsza i bardziej zgodna z semantyką. W wielu aplikacjach webowych pole w stylu nowy służy np. do filtrowania artykułów w panelu administracyjnym albo na stronie głównej: SELECT * FROM artykuly WHERE nowy = TRUE;. To dokładnie ten sam atrybut, który przed chwilą masowo ustawiliśmy poleceniem UPDATE.

Pytanie 2

Za pomocą zapytania SQL trzeba uzyskać z bazy danych nazwiska pracowników, którzy pełnią funkcję kierownika, a ich wynagrodzenie mieści się w przedziale jednostronnie domkniętym (3000, 4000>. Która klauzula sprawdza ten warunek?
A.
WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
Twoja odpowiedź
B.
WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C.
WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
D.
WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
Poprawna odpowiedź. Odpowiedź WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000 jest poprawna, ponieważ precyzyjnie definiuje warunki, które muszą być spełnione, aby zwrócić odpowiednich pracowników. Klauzula WHERE jest fundamentalnym elementem zapytań SQL, który pozwala na filtrację wyników na podstawie określonych kryteriów. W tym przypadku, warunek 'kierownik = true' zapewnia, że tylko pracownicy pełniący rolę kierowników zostaną uwzględnieni w wynikach. Dodatkowo, użycie operatorów porównania '>' oraz '<=' dla pensji umożliwia dokładne zdefiniowanie przedziału, w którym pensja musi się mieścić. W praktyce, w kontekście baz danych, taka filtracja pozwala na efektywne zarządzanie danymi oraz generowanie raportów zgodnych z wymaganiami analizy. Stosowanie tego typu warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami, gdyż umożliwia precyzyjne i wydajne wyszukiwanie danych, co jest kluczowe w zarządzaniu informacjami w złożonych systemach bazodanowych.

Pytanie 3

Wskaż definicję metody, którą należy wstawić w miejsce kropek, aby na stronie WWW pojawił się tekst: Jan Kowalski.
<p id="wynik"></p>
<script type="text/javascript">
  var osoba = { nazwisko: "Kowalski", imie: "Jan" };
  ...
  document.getElementById("wynik").innerHTML = osoba.dane();
</script>

A.

osoba.dane = function() {
  return
    this.imie+" "+this.nazwisko;
};

B.

dane() = function() {
   return
     this.imie+" "+this.nazwisko;
};

C.

osoba.dane = function() {
   return imie+" "+nazwisko;
};

D.

dane() = function {
   this.imie+" "+this.nazwisko;
};
A
Poprawna odpowiedź
D
C
B
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi zawierają błędy związane z niepoprawnym użyciem kontekstu this lub niekompletną definicją funkcji. W opcji B metoda dane została zdefiniowana jako funkcja globalna, co powoduje, że this nie odnosi się do obiektu osoba, ale do obiektu globalnego, co uniemożliwia poprawne odwołanie się do właściwości imie i nazwisko. To prowadzi do błędnych lub niezdefiniowanych wyników, ponieważ this w tym kontekście nie zawiera oczekiwanych właściwości. Opcja C nie używa słowa kluczowego this, co oznacza, że zmienne imie i nazwisko są traktowane jako zmienne globalne, a nie właściwości obiektu osoba. Jeżeli takie zmienne globalne nie istnieją, powoduje to błąd w wykonaniu, ponieważ kod próbuje odwołać się do niezdefiniowanych zmiennych. W opcji D użycie funkcji bez return powoduje, że metoda dane nie zwraca żadnej wartości, co skutkuje przypisaniem undefined do innerHTML, co jest oczywistym błędem w kontekście oczekiwanego wyświetlenia tekstu. Wszystkie te błędne podejścia wynikają z niepoprawnego zarządzania kontekstem obiektowym w JavaScript, co podkreśla znaczenie zrozumienia wiązania dynamicznego słowa kluczowego this i dobrych praktyk w projektowaniu metod obiektowych w JavaScript. Kluczowym aspektem jest zapewnienie, że metody mają dostęp do właściwości obiektu, w ramach którego zostały zdefiniowane, co jest osiągane przez poprawne użycie this w kontekście metody wewnętrznej obiektu.

Pytanie 4

W języku HTML zdefiniowano listę:
<ol>
  <li>biały</li>
  <li>czerwony
    <ul>
      <li>różowy</li>
      <li>pomarańczowy</li>
    </ul></li>
  <li>niebieski</li>
</ol>
A. Jest to lista punktowana z zagłębioną listą numerowaną.
B. Nie ma zagłębień i jest numerowana, słowo "niebieski" ma przyporządkowany numer 5.
C. Jest to lista numerowana z zagłębioną listą punktowaną.
Twoja odpowiedź
D. Nie ma zagłębień i jest punktowana, wyświetla 5 punktów.
Poprawna odpowiedź. Dobra robota! Twoja odpowiedź jest na miejscu. Ta lista HTML, co widziałeś na obrazku, to faktycznie lista uporządkowana, stworzona przy pomocy znacznika <ol>. Takie listy są numerowane, co sprawia, że łatwiej je śledzić. W HTML mamy dwa rodzaje list: uporządkowane, czyli numerowane z <ol>, i nieuporządkowane, które robimy z <ul> i one są punktowane. Fajnie, że pamiętasz o CSS, bo dzięki niemu możemy dostosować wygląd tych list. Ogólnie, lista numerowana zaczyna od 1 i idzie dalej (1, 2, 3 itd.), a punktowana pokazuje kropki. Co ciekawe, można też zagnieżdżać listy, co daje nam takie wielopoziomowe struktury. Dlatego w tej liście mamy wewnątrz punktowaną, która jest stworzona z <ul>. I pamiętaj, że używanie właściwych znaczników ma znaczenie – szczególnie dla osób korzystających z czytników ekranu.

Pytanie 5

Aby przekształcić tekst „ala ma psa” na „ALA MA PSA”, jaka funkcja PHP powinna być zastosowana?
A.
strstr ('ala ma psa');
B.
strtoupper('ala ma psa');
Twoja odpowiedź
C.
ucfirst ('ala ma psa');
D.
strtolower('ala ma psa');
Poprawna odpowiedź. Funkcja strtoupper w PHP jest używana do konwersji wszystkich liter w danym ciągu znaków na wielkie litery. W kontekście modyfikacji tekstu „ala ma psa” na „ALA MA PSA”, zastosowanie funkcji strtoupper('ala ma psa') jest poprawnym podejściem. Funkcja ta jest częścią standardowej biblioteki PHP i jest szeroko stosowana w projektach, gdzie zachowanie wielkich liter jest kluczowe. Przykład użycia funkcji strtoupper jest prosty: wystarczy przekazać do niej ciąg, który ma zostać przekształcony. Przykładem może być zapis: $text = 'ala ma psa'; $uppercaseText = strtoupper($text); echo $uppercaseText; co wygeneruje wynik ALA MA PSA. Warto zauważyć, że funkcja ta nie zmienia oryginalnego ciągu, lecz zwraca nowy ciąg z przekształconymi literami. Zastosowanie funkcji strtoupper jest szczególnie przydatne w aplikacjach webowych, gdzie formatowanie tekstu może być kluczowe dla zapewnienia spójności danych wyjściowych oraz ich estetyki.

Pytanie 6

Która funkcja SQL NIE przyjmuje żadnych argumentów?
A.
UPPER()
B.
NOW()
Twoja odpowiedź
C.
LEN()
D.
YEAR()
Poprawna odpowiedź. Funkcja NOW() zwraca bieżącą datę i godzinę serwera (np. 2026-06-13 14:05:00) i NIE przyjmuje żadnych argumentów - nawiasy zostają puste. Używa się jej np. przy zapisie momentu dodania rekordu: INSERT INTO log (data) VALUES (NOW()). Zapamiętaj: NOW() działa „samo z siebie”, bo bierze czas z systemu, a nie z przekazanej wartości.

Pytanie 7

Polecenie MySQL:
ALTER TABLE ksiazki
    MODIFY tytul VARCHAR(100) NOT NULL;
Przedstawione polecenie MySQL ma za zadanie
A. zmienić nazwę kolumny w tabeli ksiazki
B. dodać do tabeli ksiazki kolumnę tytul
C. zmienić typ kolumny tytul w tabeli ksiazki
Twoja odpowiedź
D. usunąć kolumnę tytul z tabeli ksiazki
Poprawna odpowiedź. Polecenie ALTER TABLE w przedstawionym zapytaniu jest używane do modyfikacji struktury istniejącej tabeli w bazie danych MySQL. W szczególności, zapytanie zmienia typ kolumny 'tytul' w tabeli 'ksiazki' na VARCHAR(100) oraz ustawia ten typ jako NOT NULL, co oznacza, że ta kolumna nie może zawierać wartości NULL. Typ VARCHAR jest typem danych zmiennych o długości, co pozwala na przechowywanie ciągów znaków o zmiennej długości do 100 znaków. Zmiana typu kolumny może być przydatna w sytuacjach, gdy chcemy zmienić sposób przechowywania danych lub dostosować je do nowych wymagań aplikacji. Przykładem może być sytuacja, w której początkowo tytul był przechowywany jako tekst o stałej długości (np. CHAR), ale później zdecydowano, że lepszym rozwiązaniem będzie przechowywanie go jako VARCHAR dla oszczędności miejsca. W kontekście standardów SQL, modyfikacja kolumny zgodnie z definicją standardu SQL jest dopuszczalna, pod warunkiem, że nie narusza ona reguł dotyczących integralności danych i typów. Warto również pamiętać, że zmiana typu kolumny w bazie danych może wymagać migracji danych, co należy uwzględnić w planowaniu zmian.

Pytanie 8

Funkcja agregująca AVG wykorzystana w zapytaniu
SELECT AVG(cena) FROM uslugi;
ma na celu
A. wyliczenie średniej arytmetycznej cen wszystkich usług
Twoja odpowiedź
B. obliczenie liczby dostępnych usług w tabeli
C. zsumowanie wszystkich kosztów usług
D. znalezienie najwyższej ceny za usługi
Poprawna odpowiedź. Funkcja agregująca AVG w języku SQL oblicza średnią arytmetyczną wartości w określonej kolumnie, w tym przypadku w kolumnie 'cena' tabeli 'uslugi'. W kontekście baz danych, obliczanie średniej jest kluczowym narzędziem analitycznym, które pozwala na uzyskanie ogólnego obrazu wartości danej kolumny. W praktyce, analiza średnich cen usług może być użyteczna dla menedżerów chcących dostosować strategię cenową lub dla działów finansowych oceniających wydajność sprzedaży. Przykładowo, jeżeli średnia cena usług wynosi 100 zł, a kolejny miesiąc przynosi spadek do 80 zł, jest to sygnał do analizy powodów obniżenia przychodów. Stosowanie funkcji AVG jest zgodne z najlepszymi praktykami w zakresie analizy danych, gdyż pozwala na podejmowanie decyzji opartych na faktach i liczbach. Warto również zauważyć, że do obliczeń średnich często używa się danych z różnych grup, co może pomóc w zrozumieniu trendów oraz wzorców w zachowaniach klientów na rynku.

Pytanie 9

Ile razy należy użyć instrukcji warunkowej, aby wdrożyć w danym języku programowania przedstawiony algorytm?
Ilustracja do pytania
A. Trzykrotnie
B. Czterokrotnie
C. Jednokrotnie
D. Dwukrotnie
Twoja odpowiedź
Poprawna odpowiedź. Aby prawidłowo zaimplementować algorytm przedstawiony na diagramie, musisz zrozumieć jego strukturę. Diagram pokazuje dwa punkty decyzyjne, co wskazuje na konieczność użycia dwóch instrukcji warunkowych w kodzie. Każda instrukcja warunkowa odpowiada jednemu z tych punktów decyzyjnych. W praktyce, instrukcje warunkowe są kluczowe w programowaniu, pozwalając na podejmowanie decyzji i wykonywanie różnych działań w zależności od spełnienia określonych warunków. Można to zobrazować za pomocą języków programowania takich jak Python czy C++, gdzie 'if', 'else if' oraz 'else' są standardowymi konstrukcjami używanymi do tego celu. Warto zauważyć, że implementując algorytm, należy również zwrócić uwagę na poprawne użycie bloków kodu zagnieżdżonych w instrukcjach warunkowych, co jest dobrą praktyką programistyczną. Dzięki temu kod jest bardziej czytelny i łatwiejszy w utrzymaniu, co jest zgodne z zasadami czystego kodu i standardami branżowymi.

Pytanie 10

W SQL polecenie ALTER TABLE służy do
A. zmiany danych w rekordach tabeli
B. dodawania tabeli do bazy danych
C. usuwania tabeli z bazy danych
D. zmiany kolumn w tabeli
Twoja odpowiedź
Poprawna odpowiedź. Polecenie ALTER TABLE w języku SQL jest kluczowym narzędziem do modyfikacji struktury tabeli w bazie danych. Umożliwia dodawanie, modyfikowanie oraz usuwanie kolumn, co jest niezbędne w przypadku zmieniających się wymagań biznesowych lub technicznych. Na przykład, jeśli firma decyduje się na dodanie nowego atrybutu do produktu, można to zrobić za pomocą ALTER TABLE, co zapewni elastyczność w zarządzaniu danymi. Przykładowe polecenie może wyglądać tak: ALTER TABLE produkty ADD COLUMN kolor VARCHAR(30); Warto podkreślić, że zmiany wprowadzone za pomocą ALTER TABLE są trwałe i mogą wpływać na już istniejące dane, dlatego przed ich zastosowaniem zaleca się wykonanie kopii zapasowej bazy danych. Praktyki związane z właściwym używaniem ALTER TABLE powinny obejmować także testowanie w środowisku developerskim przed wdrożeniem zmian w produkcji, aby uniknąć nieprzewidzianych problemów.

Pytanie 11

Który zapis w dokumencie HTML połączy stronę z zewnętrznym arkuszem stylów style.css?
A.
<a href="/style.css">
B.
<link rel="stylesheet" href="/style.css">
Twoja odpowiedź
C.
<a src="/style.css">
D.
<link rel="stylesheet' src="/style.css">
Poprawna odpowiedź. Zewnętrzny arkusz stylów dołącza się w <head> znacznikiem <link rel="stylesheet" href="/style.css"> - rel określa typ relacji, a href wskazuje plik. Dlatego poprawny jest ten zapis.

Pytanie 12

W JavaScript metoda getElementById odnosi się do
A. klasy zdefiniowanej w CSS
B. znacznika HTML o wskazanym id
Twoja odpowiedź
C. znacznika HTML o podanej nazwie klasy
D. zmiennej numerycznej
Poprawna odpowiedź. Metoda getElementById w JavaScript jest kluczowym narzędziem do interakcji z modelowaniem DOM (Document Object Model). Służy do uzyskiwania dostępu do pojedynczego elementu HTML na podstawie jego atrybutu id, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Dzięki temu programiści mogą stosunkowo łatwo manipulować pojedynczymi elementami, co jest istotne w dynamicznych aplikacjach internetowych. Przykładem zastosowania tej metody może być zmiana tekstu w elemencie <h1>, gdzie używamy getElementById('myHeader').innerHTML = 'Nowy nagłówek';. Zgodnie z dobrymi praktykami, powinno się unikać używania zduplikowanych id w dokumencie, aby zapewnić, że metoda ta zawsze zwraca jeden, a nie wiele elementów. Warto również pamiętać, że w przypadku braku elementu o podanym id, metoda zwróci null, co powinno być uwzględnione w logice aplikacji, aby uniknąć błędów. Użycie tej metody jest standardem w programowaniu JavaScript i stanowi fundament dla wielu bardziej zaawansowanych technik manipulacji DOM.

Pytanie 13

Fragment kodu napisany w języku JavaScript, który realizuje sumowanie dwóch liczb, wygląda następująco (zobacz ramka): Aby operacja dodawania odbywała się po naciśnięciu przycisku zatytułowanego "dodaj", należy w miejsce wykropkowane wprowadzić
Ilustracja do pytania
A.
<button onselect="return dodaj()">oblicz</button>
B.
<button onclick="return dodaj()">dodaj</button>
Twoja odpowiedź
C.
<button onselect="return dodaj()">dodaj</button>
D.
<button onclick="return obliczj()">dodaj</button>
Poprawna odpowiedź. Odpowiedź jest prawidłowa, ponieważ w języku JavaScript zdarzenie onclick jest standardowym sposobem uruchamiania funkcji w odpowiedzi na kliknięcie przycisku. W tym przypadku funkcja dodaj() zostanie wywołana, gdy użytkownik kliknie przycisk z napisem "dodaj". Jest to zgodne z powszechnymi praktykami w tworzeniu interfejsów użytkownika dla aplikacji webowych, gdzie zdarzenia są przypisywane do elementów HTML za pomocą atrybutów takich jak onclick czy onsubmit. Takie podejście pozwala na bezpośrednią interakcję użytkownika z elementami strony, co jest kluczowe dla dynamicznych aplikacji internetowych. Przy tworzeniu stron internetowych ważne jest, aby zdarzenia były jednoznacznie przypisane do odpowiednich funkcji, co ułatwia zarządzanie logiką aplikacji. Dodatkowo takie rozwiązanie zwiększa czytelność kodu i ułatwia jego dalsze utrzymanie i rozwój. W przypadku bardziej skomplikowanych projektów można również rozważyć oddzielanie logiki JavaScript od struktury HTML, używając zewnętrznych plików skryptów i bibliotek, takich jak jQuery czy React, co sprzyja lepszej organizacji kodu.

Pytanie 14

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski
<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
B.
Twoja odpowiedź
A.
Poprawna odpowiedź
C.
D.
Niepoprawna odpowiedź. No niestety, wybrałeś złą odpowiedź. Główny problem tutaj polega na tym, że źle rozumiesz, jak działa słowo kluczowe 'this' w JavaScript. Warianty B i D są nietrafione, bo chociaż mają metodę 'dane', to nie jest ona przypisana do obiektu 'osoba'. Bez tego przypisania, metoda nie ma jak sięgnąć do właściwości 'imię' i 'nazwisko'. Podobnie, wariant C też nie jest ok, bo nie wykorzystuje 'this'. Bez 'this', nie możesz sięgnąć do tych właściwości z obiektu 'osoba'. To częsty błąd, który wynika z mylenia kontekstu. Pamiętaj, że 'this' to twój sposób na wskazanie obiektu, w którym wywołujesz metodę.

Pytanie 15

Wykorzystanie definicji stylu CSS spowoduje, że nagłówki drugiego poziomu będą się wyświetlać
h2 {
    text-decoration: overline;
    font-style: italic;
    line-height: 60px;
}
A. czcionką kursywną, z linią nad tekstem, wysokość wiersza wynosi 60 px
Twoja odpowiedź
B. czcionką standardową, z linią pod tekstem, odległość między znakami wynosi 60 px
C. czcionką kursywną, z linią pod tekstem, wysokość wiersza wynosi 60 px
D. czcionką standardową, z linią nad tekstem, wysokość wiersza wynosi 60 px
Poprawna odpowiedź. Odpowiedź numer 2 jest poprawna, ponieważ definicja stylu CSS zawiera właściwości, które dokładnie odpowiadają tej opcji. Właściwość font-style: italic sprawia, że tekst nagłówka będzie zapisany czcionką pochyloną, co jest często stosowane w celu nadania tekstowi bardziej dynamicznego i estetycznego wyglądu. Jest to szczególnie przydatne w projektowaniu stron internetowych, gdzie wyróżnienie nagłówków ma kluczowe znaczenie dla czytelności i atrakcyjności wizualnej. text-decoration: overline dodaje linię nad tekstem, co jest mniej powszechnym, ale interesującym sposobem na wyróżnienie tekstu. Może być używane w nowoczesnych projektach, aby nadać stronie unikalny charakter. Wysokość wiersza line-height: 60px zapewnia odpowiednią przestrzeń między wierszami, co zwiększa czytelność, szczególnie przy większych czcionkach. Taki sposób formatowania jest zgodny ze standardami projektowania UX/UI, które kładą nacisk na estetykę i funkcjonalność. Dlatego zrozumienie tych właściwości i ich zastosowanie jest kluczowe dla każdego projektanta stron internetowych.

Pytanie 16

Na podstawie jakiego parametru oraz z ilu tabel będą zwrócone wiersze w wyniku podanego zapytania?
SELECT * FROM producent, hurtownia, sklep, serwis WHERE
producent.nr_id = hurtownia.nr_id AND
producent.wyrob_id = serwis.wyrob_id AND
hurtownia.nr_id = sklep.nr_id AND
sklep.nr_id = serwis.nr_id AND
producent.nr_id = 1;
A. Na podstawie parametru wyrob_id tylko dla trzech tabel
B. Na podstawie parametru nr_id dla wszystkich tabel
Twoja odpowiedź
C. Na podstawie parametru wyrob_id tylko dla trzech tabel
D. Na podstawie parametru nr_id tylko dla trzech tabel
Poprawna odpowiedź. Zapytanie SQL w poleceniu jest skonstruowane tak by pobierać dane z czterech tabel: producent hurtownia sklep i serwis W warunku WHERE użyto klauzuli dotyczącej parametru nr_id co powoduje że połączenia między tabelami są realizowane na podstawie tego właśnie parametru Jest to typowe podejście w relacyjnych bazach danych gdzie klucz główny jednej tabeli jest kluczem obcym w innej umożliwiając łączenie danych Parametr nr_id pojawia się wielokrotnie w klauzuli WHERE jako kryterium dla różnych połączeń między tabelami To pozwala na uzyskanie spójnej listy wierszy które spełniają wszystkie zdefiniowane warunki Dzięki temu zapytanie zwraca wiersze dla wszystkich czterech tabel co jest zgodne z odpowiedzią numer 1 Takie podejście umożliwia tworzenie złożonych raportów i analiz danych branżowych Warto także zauważyć że użycie JOIN w taki sposób często optymalizuje wydajność zapytań co jest dobrą praktyką w zarządzaniu bazami danych SQL

Pytanie 17

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz
A. myszki został zwolniony
B. klawiatury został zwolniony
Twoja odpowiedź
C. myszki został naciśnięty
D. klawiatury został naciśnięty
Poprawna odpowiedź
Niepoprawna odpowiedź. Nieprawidłowe odpowiedzi koncentrują się na mylnej interpretacji zdarzeń związanych z myszką oraz klawiaturą. Na przykład, wyrażenie, że zdarzenie onKeydown wywołuje się, gdy klawisz myszki został zwolniony, jest całkowicie błędne, ponieważ zdarzenie onKeydown odnosi się wyłącznie do akcji związanych z klawiszami klawiatury. Takie pomieszanie pojęć może prowadzić do nieporozumień w projektowaniu interfejsów użytkownika, gdzie różne zdarzenia muszą być obsługiwane w odpowiednich kontekstach. Obserwując, że odpowiedzi sugerujące naciśnięcie klawisza myszki również są nieprawidłowe, widzimy, że mogą one wynikać z braku zrozumienia podstawowych różnic w interakcji z urządzeniami wskazującymi versus klawiaturą. W praktyce, błędne podejście do zdarzeń klawiaturowych może prowadzić do problemów z dostępnością aplikacji. Na przykład, użytkownicy, którzy korzystają z klawiatury do nawigacji, mogą nie być w stanie w pełni wykorzystać funkcji aplikacji, jeśli zdarzenia nie są odpowiednio obsługiwane. Dlatego kluczowe jest, aby programiści dokładnie rozumieli zasady i różnice między zdarzeniami, co jest zgodne z najlepszymi praktykami w zakresie dostępności i użyteczności aplikacji webowych.

Pytanie 18

Do czego służy funkcja CONCAT() w SQL?
A. do wyciągania podłańcucha
B. do przycinania tekstu
C. do łączenia tekstów (konkatenacji)
Twoja odpowiedź
D. do usuwania wskazanego tekstu
Poprawna odpowiedź. Funkcja CONCAT() łączy (konkatenuje) kilka tekstów w jeden ciąg, np. CONCAT(imie, ' ', nazwisko) da pełne imię i nazwisko. Dlatego CONCAT() służy do łączenia tekstów.

Pytanie 19

Jaką informację przekazuje przeglądarce internetowej zapis <!DOCTYPE html> ?
A. W dokumencie wymagane jest zamknięcie każdego taga, nawet samozamykającego
B. W dokumencie wszystkie tagi są zapisane wielkimi literami
C. Dokument został zapisany w wersji HTML 4
D. Dokument został zapisany w wersji HTML 5
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź, że dokument został zapisany w języku HTML 5, jest prawidłowa, ponieważ zapis <DOCTYPE html> jest standardowym nagłówkiem deklarującym, że dokument jest napisany w najnowszej wersji HTML, czyli HTML 5. Taki zapis informuje przeglądarkę, że ma interpretować zawartość dokumentu zgodnie z zasadami i funkcjami określonymi w HTML 5. Wprowadzenie HTML 5 przyniosło wiele ulepszeń, takich jak nowe elementy semantyczne (np. <header>, <footer>, <article>), które ułatwiają tworzenie strukturalnie poprawnych i bardziej dostępnych stron internetowych. Dodatkowo, HTML 5 wprowadza wsparcie dla multimediów (np. <video>, <audio>) oraz API, które umożliwiają bardziej interaktywne podejście do tworzenia aplikacji webowych. Warto pamiętać, że stosowanie aktualnych standardów jest kluczowe dla zapewnienia kompatybilności z nowymi przeglądarkami oraz urządzeniami mobilnymi, a także dla zwiększenia wydajności i bezpieczeństwa aplikacji webowych.

Pytanie 20

Pole autor w tabeli ksiazka jest:
CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. kluczem obcym związanym z tabelą autorzy
Twoja odpowiedź
B. polem typu tekstowego zawierającym informacje o autorze
C. kluczem podstawowym tabeli ksiazka
D. polem wykorzystanym w relacji z tabelą dane
Poprawna odpowiedź. Pole autor w tabeli ksiazka jest kluczem obcym, co oznacza, że wskazuje na inne pole w innej tabeli - w tym przypadku na pole id w tabeli autorzy. Klucze obce są podstawowym mechanizmem relacyjnych baz danych, który umożliwia tworzenie związków między różnymi tabelami. Dobre praktyki w projektowaniu baz danych sugerują używanie kluczy obcych do zapewnienia integralności referencyjnej, co oznacza, że każde odniesienie do innej tabeli musi wskazywać na istniejący rekord. Dzięki temu unika się problemów z danymi, takich jak tzw. „osierocone” rekordy, które odwołują się do nieistniejących danych. W praktyce, gdy dodajemy nową książkę do tabeli ksiazka, musimy mieć pewność, że istnieje odpowiedni autor w tabeli autorzy. Takie podejście podnosi jakość danych i pozwala na bardziej złożone zapytania SQL, które mogą łączyć informacje z różnych tabel w sposób spójny i logiki. Klucze obce są także kluczowe w kontekście operacji takich jak aktualizacja czy usuwanie danych, ponieważ mogą automatycznie zaktualizować lub usunąć powiązane rekordy, co zapewnia integralność bazy danych.

Pytanie 21

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu
A. zwrócenie parzystych wartości liczb od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
Twoja odpowiedź
C. wypisanie liczb parzystych w zakresie od a do b
Poprawna odpowiedź
D. wypisanie wszystkich liczb w przedziale od a do b
Niepoprawna odpowiedź. W przypadku pierwszej błędnej odpowiedzi, najważniejszy błąd to myślenie, że funkcja zwraca wartości parzyste jak zwykły wynik. W rzeczywistości funkcja wypisuje te liczby na stronie za pomocą document.write(), więc to jest kluczowy szczegół. Druga niepoprawna odpowiedź jest na dobrej drodze, ale myli się w interpretacji 'wypisania liczb parzystych z przedziału od a do b'. Funkcja nie tylko wypisuje liczby parzyste, ale też sprawdza, czy a jest nieparzyste, i wtedy zmienia tę wartość. Co do trzeciej błędnej odpowiedzi, sugeruje ona, że funkcja wypisuje wszystkie liczby między a a b, co jest zupełnie błędne, bo pętla for zwiększa n o 2, więc tylko parzyste liczby się pojawią. Rozumienie jak działa pętla for oraz operator modulo jest kluczowe, żeby dobrze zrozumieć tę funkcję. Jeśli nie ogarniasz tych podstaw, ciężko będzie analizować kod w JavaScript i pisać lepsze programy.

Pytanie 22

CAPTCHA to technika zabezpieczeń stosowana na stronach WWW, która pozwala:
A. przyspieszyć logowanie do aplikacji internetowej
B. pominąć proces uwierzytelniania w aplikacji
C. automatycznie wypełnić formularz danymi użytkownika
D. potwierdzić, że dane z formularza wysyła człowiek, a nie program
Twoja odpowiedź
Poprawna odpowiedź. CAPTCHA to test, który ma odróżnić człowieka od programu (bota) - np. przepisanie zniekształconego tekstu, wskazanie obrazków czy proste zadanie. Stosuje się ją w formularzach (rejestracja, komentarze, logowanie), by utrudnić masowe, automatyczne wysyłanie danych przez boty i spam. Dlatego CAPTCHA potwierdza, że dane z formularza wysyła człowiek.

Pytanie 23

Aby dodać nowy rekord do tabeli Pracownicy, konieczne jest zastosowanie polecenia SQL
A.
INSERT INTO Pracownicy VALUES ('Jan',' Kowalski')
Twoja odpowiedź
B.
INSERT VALUES (Jan, Kowalski) INTO Pracownicy
C.
INSERT VALUES Pracownicy INTO (Jan, Kowalski)
D.
INSERT (Jan, Kowalski) INTO Pracownicy
Poprawna odpowiedź. Aby dodać nowy rekord do tabeli Pracownicy w bazie danych, należy skorzystać z polecenia SQL INSERT INTO, które jest standardowym sposobem na wprowadzenie nowych danych do tabeli. Poprawna składnia polecenia to 'INSERT INTO <nazwa_tabeli> VALUES (<wartości>)'. W przypadku podanego przykładu, używamy 'INSERT INTO Pracownicy VALUES ('Jan', 'Kowalski');', co jest zgodne z wymaganiami SQL. Polecenie to wprowadza dwa nowe atrybuty: imię 'Jan' oraz nazwisko 'Kowalski' do tabeli Pracownicy. Ważne jest, aby wartości były poprawnie otoczone apostrofami w przypadku typów danych tekstowych. Zgodnie z normami SQL, zapis ten pozwala na dodanie rekordu, pod warunkiem, że kolumny tabeli są zgodne z wprowadzanymi danymi, a tabela Pracownicy została wcześniej zdefiniowana w bazie danych. Przykładem może być sytuacja, w której tabela Pracownicy ma kolumny 'Imie' i 'Nazwisko', a wprowadzenie wartości bezpośrednio do tych kolumn jest zgodne z ich definicją.

Pytanie 24

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję
A. części wspólnej.
B. wykluczenia.
C. grupowania.
Twoja odpowiedź
D. sumy.
Poprawna odpowiedź. Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 25

Która funkcja PHP sortuje tablicę asocjacyjną według KLUCZY?
A.
rsort()
B.
asort()
C.
sort()
D.
ksort()
Twoja odpowiedź
Poprawna odpowiedź. Funkcja ksort() sortuje tablicę asocjacyjną według KLUCZY (litera „k” jak key), zachowując powiązanie klucz-wartość. Dlatego po kluczach sortuje ksort().

Pytanie 26

Język JavaScrypt umożliwia obsługę
A. obiektów DOM
Twoja odpowiedź
B. klas abstrakcyjnych
C. funkcji wirtualnych
D. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
Poprawna odpowiedź. JavaScript to język programowania, który ma silne wsparcie dla obiektów DOM (Document Object Model), co pozwala na dynamiczne manipulowanie strukturą HTML oraz stylami CSS w czasie rzeczywistym. DOM jest interfejsem programowania aplikacji, który reprezentuje strukturę dokumentów HTML oraz XML jako zhierarchizowane drzewo obiektów. Dzięki JavaScript, programiści mogą dodawać, usuwać oraz modyfikować elementy na stronie internetowej, co prowadzi do interaktywnych i responsywnych doświadczeń użytkowników. Na przykład, za pomocą metody document.getElementById() można uzyskać dostęp do konkretnego elementu HTML, a następnie zmienić jego zawartość lub styl. Możliwości manipulacji DOM w JavaScript są szerokie, obejmują takie operacje jak dodawanie klas CSS, obsługa zdarzeń użytkownika, czy tworzenie nowych elementów. Standardy, takie jak W3C DOM, definiują sposób, w jaki te operacje powinny być realizowane, zapewniając interoperacyjność w różnych przeglądarkach. Zrozumienie obsługi DOM w JavaScript jest kluczowe dla każdego, kto chce tworzyć nowoczesne aplikacje internetowe, ponieważ umożliwia pełne wykorzystanie możliwości interakcji na stronach WWW.

Pytanie 27

Który z poniższych formatów plików graficznych wspiera przejrzystość?
A. NEF
B. PNG
Twoja odpowiedź
C. BMP
D. JPG
Poprawna odpowiedź. Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 28

Który z podanych formatów pozwala na zapis zarówno dźwięku, jak i obrazu?
A. WAV
B. MP4
Twoja odpowiedź
C. PNG
D. MP3
Poprawna odpowiedź. Format MP4, znany również jako MPEG-4 Part 14, jest jednym z najpopularniejszych formatów multimedialnych, który umożliwia jednoczesny zapis zarówno dźwięku, jak i obrazu. Dzięki zastosowaniu zaawansowanej kompresji, MP4 pozwala na przechowywanie wysokiej jakości materiałów w stosunkowo małych plikach, co czyni go idealnym do przesyłania i strumieniowania w Internecie. MP4 obsługuje wiele kodeków, takich jak H.264 dla wideo oraz AAC dla dźwięku, co pozwala na szeroką kompatybilność z różnymi urządzeniami, od smartfonów po odtwarzacze multimedialne. Format ten jest zgodny z wieloma standardami, co czyni go wszechstronnym wyborem dla twórców treści. Przykłady jego zastosowania obejmują filmy wideo na platformach streamingowych, klipy muzyczne i wideoklipy. Dzięki swoim zaletom, MP4 stał się de facto standardem w przemyśle multimedialnym, co w znacznym stopniu przyczyniło się do jego popularności oraz wszechstronności.

Pytanie 29

W którym z bloków powinien znaleźć się warunek pętli?
Ilustracja do pytania
A.
C.
Poprawna odpowiedź
B.
D.
Twoja odpowiedź
Niepoprawna odpowiedź. Wybór innego bloku niż C jako miejsca na umieszczenie warunku pętli wprowadza błędne zrozumienie struktury diagramów przepływu. Blok A, reprezentujący proces lub działanie, jest używany do przedstawienia operacji lub kroków bez podejmowania decyzji. Umieszczenie w nim warunku pętli byłoby mylące, ponieważ nie oddaje istoty kontrolowania przepływu w programie. Blok B, w kształcie elipsy, jest powszechnie używany jako punkt startowy lub końcowy procesu, a nie do określania logiki decyzji. Użycie go do pętli nie jest zgodne z konwencjami diagramów przepływu i może prowadzić do błędnej interpretacji algorytmu. Blok D, reprezentujący magazyn danych, skupia się na przechowywaniu i zarządzaniu informacjami, a nie na logice sterowania przepływem. Typowe błędy, które mogą prowadzić do wyboru niewłaściwego bloku, to mylenie funkcji symboli w diagramach przepływu oraz niezrozumienie zasad ich użycia zgodnie z praktykami przemysłowymi. Zrozumienie, dlaczego każdy blok ma swoją specyficzną rolę, jest kluczowe dla tworzenia efektywnych i dokładnych modeli programistycznych, co z kolei ułatwia komunikację między programistami oraz innymi interesariuszami w projekcie.

Pytanie 30

Zadanie "drzewo kontekstowe" w edytorze WYSIWYG Adobe Dreamweaver jest przeznaczone do
A. określenia kaskadowych arkuszy stylów powiązanych z witryną
B. pokazania interaktywnego drzewa struktury HTML dla treści statycznych i dynamicznych
Poprawna odpowiedź
C. formatowania treści za pomocą dostępnych znaczników
D. tworzenia szablonu strony internetowej
Twoja odpowiedź
Niepoprawna odpowiedź. Definiowanie kaskadowych arkuszy stylów (CSS) i formatowanie tekstu przy użyciu znaczników są ważnymi aspektami tworzenia stron internetowych, jednak nie są one funkcjami drzewka kontekstowego w Adobe Dreamweaver. Arkusze stylów są używane do określenia prezentacji strony, co jest kluczowe w kontekście rozdzielania treści od jej wyglądu, ale nie są one bezpośrednio związane z wizualizacją struktury HTML. Użytkownicy często mylą te koncepcje, sądząc, że narzędzie do edycji struktury jest także odpowiedzialne za stylizację. Ponadto, formatowanie tekstu za pomocą znaczników, takich jak <b>, <i> czy <p>, jest również oddzielnym procesem, który nie ma bezpośredniego związku z analizą struktury dokumentu. Często mylnie zakłada się, że edytor wizualny zajmuje się wszystkimi aspektami tworzenia strony internetowej, co prowadzi do nieporozumień. Tworzenie szablonów stron internetowych to kolejny złożony temat, który jest odrębny od funkcji drzewka kontekstowego. Szablony mają na celu ułatwienie tworzenia spójnych i zorganizowanych stron, ale nie są one funkcją edytora HTML. Użytkownicy powinni zrozumieć, że chociaż wszystkie te elementy są ważne, to ich funkcje są różne, a drzewo kontekstowe skupia się na wizualizacji struktury dokumentu HTML.

Pytanie 31

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?
A.
<html lang="pl">
B.
<title>Tytuł strony</title>
Twoja odpowiedź
C.
<!DOCTYPE html>
D.
<meta name="keywords" content="">
Poprawna odpowiedź
Niepoprawna odpowiedź. To pytanie bardzo dobrze pokazuje różnicę między elementami wymaganymi przez specyfikację HTML5 a tymi, które są tylko dodatkowymi informacjami. Wiele osób myli tu pojęcie „często używany” z „obowiązkowy” i stąd biorą się błędne odpowiedzi.

Deklaracja <!DOCTYPE html> w HTML5 jest kluczowa, bo informuje przeglądarkę, że ma interpretować dokument w trybie standardowym, zgodnie z HTML5, a nie w jakimś starym „quirks mode”. Jeśli ją pominiesz, walidator HTML będzie zgłaszał problemy, a przeglądarka może zacząć zachowywać się nieprzewidywalnie. To nie jest tylko formalność – brak doctype potrafi rozwalić działanie CSS-ów, szczególnie w starszych przeglądarkach. Dlatego w dobrych praktykach tworzenia stron WWW doctype jest zawsze na samym początku dokumentu.

Podobnie element html z atrybutem lang, np. <html lang="pl">, jest bardzo ważny z punktu widzenia dostępności (WCAG, ARIA). Określenie języka dokumentu pomaga czytnikom ekranu i narzędziom asystującym poprawnie odczytywać treść. Walidatory HTML potrafią zgłaszać ostrzeżenia, gdy lang jest pominięty, bo to narusza dobre praktyki i wytyczne dotyczące dostępności. W nowoczesnych projektach webowych brak lang jest traktowany jako błąd jakościowy, nawet jeśli strona „jakoś działa”.

Znacznik <title> w sekcji head też nie jest dowolny. Tytuł dokumentu jest wymagany przez specyfikację HTML, a jego brak może generować ostrzeżenia walidatora. Dodatkowo wpływa on na to, jak strona jest prezentowana w karcie przeglądarki, w historii, w zakładkach oraz w wynikach wyszukiwania. Z mojego doświadczenia brak tytułu to sygnał, że ktoś po prostu zaniedbuje podstawy semantyki HTML.

Element meta name="keywords" jest inny od poprzednich. To tylko dodatkowy metatag, który nie wpływa na strukturę dokumentu, nie jest wymagany przez standard i obecnie nie ma realnego znaczenia dla SEO. Typowy błąd myślowy polega na tym, że skoro „kiedyś wszyscy kazali go wpisywać”, to musi być obowiązkowy. W HTML5 to po prostu opcjonalna ciekawostka. Właśnie dlatego jedynie jego pominięcie nie spowoduje błędów ani ostrzeżeń walidatora, natomiast ignorowanie doctype, lang czy title jest wbrew dobrym praktykom tworzenia stron WWW i standardom branżowym.

Pytanie 32

Którą funkcją PHP zamienić "ala ma psa" na "ALA MA PSA"?
A.
strtolower("ala ma psa");
B.
strstr("ala ma psa");
C.
strtoupper("ala ma psa");
Twoja odpowiedź
D.
ucfirst("ala ma psa");
Poprawna odpowiedź. Aby zamienić wszystkie litery napisu na WIELKIE, używa się strtoupper(), więc strtoupper("ala ma psa") zwróci „ALA MA PSA”. Funkcja przetwarza cały ciąg, a nie tylko pierwszą literę. Dlatego poprawna jest strtoupper().

Pytanie 33

W języku JavaScript zapisano kod, którego wynikiem działania jest
var osoba = prompt("Podaj imię", "Adam");
A. wyświetlenie okna z polem edycyjnym, w którym jest wpisany domyślny tekst "Adam".
Twoja odpowiedź
B. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".
C. wyświetlenie okna z pustym polem edycyjnym.
D. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
Poprawna odpowiedź. Twoja odpowiedź jest poprawna. W JavaScript metoda prompt() służy do wyświetlenia okna dialogowego z polem tekstowym dla użytkownika. Pierwszy argument metody to wiadomość, która jest wyświetlana w oknie dialogowym, natomiast drugi argument to domyślna wartość, jaka jest wpisana w polu tekstowym. W przypadku podanego kodu, drugi argument to 'Adam', co oznacza, że w polu edycyjnym domyślnie będzie wpisany tekst 'Adam'. Metoda ta jest często stosowana do zbierania od użytkownika informacji w prosty i szybki sposób. Pamiętaj jednak, że nie jest to bezpieczny sposób przekazywania danych, ponieważ informacje wpisane przez użytkownika mogą być łatwo przechwycone przez nieautoryzowane osoby.

Pytanie 34

W tabeli o nazwie zadania znajduje się kolumna tekstowa status. Jakie zapytanie należy wykorzystać, aby usunąć te rekordy, w których status to ‘zamknięte’?
A.
TRUNCATE TABLE zadania;
B.
DELETE FROM zadania WHERE status = 'zamknięte';
Twoja odpowiedź
C.
DELETE FROM zadania;
D.
TRUNCATE TABLE zadania WHERE status = 'zamknięte';
Poprawna odpowiedź. Odpowiedź 'DELETE FROM zadania WHERE status = 'zamknięte';' jest poprawna, ponieważ ta kwerenda w sposób precyzyjny usuwa tylko te rekordy z tabeli 'zadania', które mają status 'zamknięte'. Użycie klauzuli WHERE jest kluczowe, ponieważ pozwala na ograniczenie operacji usunięcia do konkretnych wierszy w tabeli, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych. Należy unikać bezwarunkowego usuwania wszystkich rekordów, jak w przypadku kwerendy 'DELETE FROM zadania;', co mogłoby spowodować utratę danych, które są nadal potrzebne. Przykłady zastosowania tej kwerendy można znaleźć w wielu systemach zarządzania projektami, gdzie często musimy archiwizować lub usuwać zakończone zadania. Dodatkowo stosowanie klauzuli WHERE jest zgodne z zasadą minimalizacji zmian w bazie danych, co jest istotne dla zapewnienia integralności danych i umożliwienia ich późniejszej analizy.

Pytanie 35

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?
var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. zbioru
B. klasy
C. tablicy
Twoja odpowiedź
D. obiektu
Poprawna odpowiedź. Definicja przedstawiona na obrazku odpowiada tablicy w języku JavaScript. Tablice w JavaScript są typem obiektu, który pozwala na przechowywanie wielu wartości w jednej zmiennej. W tym przypadku zmienna imiona zawiera listę stringów reprezentujących imiona. Tablice w JavaScript są dynamiczne co oznacza że ich rozmiar można zmieniać podczas działania programu. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów które zaczynają się od zera. Na przykład pierwszy element tej tablicy to imiona[0] czyli Anna. JavaScript oferuje wiele metod do manipulacji tablicami takich jak push do dodawania elementów na końcu tablicy pop do usuwania ostatniego elementu czy map do tworzenia nowej tablicy na podstawie istniejącej poprzez zastosowanie funkcji do każdego elementu. Zrozumienie działania tablic jest kluczowe dla efektywnego programowania w JavaScript ponieważ są one podstawowym narzędziem do przechowywania i zarządzania danymi.

Pytanie 36

Ile razy wykona się poniższa pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w jej wnętrzu?
for ($i = 0; $i <= 10; $i+=2) { ... }
A. 0
B. 5
Twoja odpowiedź
C. 10
D. 6
Poprawna odpowiedź
Niepoprawna odpowiedź. W przypadku błędnych odpowiedzi, takich jak 10, 5, 0 czy 6, można zauważyć, że wynikają one z nieprawidłowego zrozumienia działania pętli for w PHP. Odpowiedź 10 sugeruje, że użytkownik zakłada, iż pętla wykonuje się do 10, co jest błędne, ponieważ na każdym kroku zmienna $i zwiększa się o 2. Użycie 5 jako odpowiedzi może wskazywać na niepoprawne obliczenie liczby iteracji przy założeniu, że pętla mogłaby wykonać się z tylko pięcioma incrementami, co jest również mylące. Wybór 0 jako odpowiedzi jest konsekwencją mylnego założenia, że pętla mogłaby w ogóle nie działać, co jest sprzeczne z logiką, ponieważ pętla rozpoczyna się od $i = 0 i spełnia warunek kontynuacji. Ważne jest, aby podczas analizy pętli skupić się na warunkach początkowych, zmiennej sterującej oraz modyfikacji tej zmiennej w każdym cyklu. Prawidłowe obliczenie liczby iteracji pętli jest kluczowe w programowaniu, ponieważ ma to bezpośredni wpływ na wydajność i efektywność działania algorytmów.

Pytanie 37

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?
A. HTML5
Twoja odpowiedź
B. XHTML 2.0
C. HTML4
D. XHTML1.0
Poprawna odpowiedź. Tak, znaczników <footer>, <header> i <nav> zaczęto używać w HTML5, który zadebiutował w październiku 2014 roku. To jest ciekawe, bo HTML5 wprowadził sporo nowych semantycznych elementów, które pomagają w lepszej organizacji dokumentów HTML. Dzięki nim, przeglądarki i roboty wyszukiwarek mogą lepiej zrozumieć strukturę stron. Na przykład, <header> to nagłówek strony lub sekcji, <nav> tworzy menu nawigacyjne, a <footer> to stopka. Myślę, że to super sprawa, bo poprawia dostępność strony i jej SEO, bo tak naprawdę pomaga wyszukiwarkom w lepszym indeksowaniu treści, co może prowadzić do lepszych wyników w wyszukiwarkach. Dodatkowo, HTML5 ma też inne ciekawe nowinki, jak wsparcie dla multimediów, lokalne przechowywanie danych, a także lepszą kompatybilność z aplikacjami mobilnymi, więc zdecydowanie warto go wykorzystywać do budowy stron internetowych.

Pytanie 38

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się
A. aktywacja zapory
B. blokada portów powiązanych z bazą danych
C. używanie skomplikowanych haseł do bazy
D. defragmentacja dysków
Twoja odpowiedź
Poprawna odpowiedź. Defragmentacja dysków to proces, który ma na celu optymalizację wydajności dysków twardych poprzez reorganizację danych na nośniku. Choć jest to operacja ważna dla poprawy wydajności systemu, nie ma ona bezpośredniego wpływu na bezpieczeństwo serwera bazy danych. W kontekście zabezpieczeń, kluczowymi działaniami są m.in. blokowanie portów związanych z bazą danych, co zapobiega nieautoryzowanemu dostępowi z zewnątrz; włączenie zapory, która filtruje ruch do i z serwera; oraz stosowanie złożonych haseł do bazy, które utrudniają ataki typu brute force. Przykładowo, wiele firm przyjmuje politykę wymuszania zmian haseł co kilka miesięcy oraz minimalnych wymagań dotyczących ich złożoności. Właściwa strategia zabezpieczeń obejmuje także regularne aktualizacje oprogramowania oraz monitorowanie logów serwera w poszukiwaniu nietypowych aktywności. Zastosowanie tych praktyk znacząco podnosi poziom bezpieczeństwa danych przechowywanych w bazie.

Pytanie 39

W HTML wprowadzono tag a. Co oznacza wartość nofollow w atrybucie rel?
<a href="http://website.com" rel="nofollow">link</a>
A. oznacza, że kliknięcie na link nie przekieruje do strony website.com
Twoja odpowiedź
B. jest wskazówką dla przeglądarki internetowej, aby nie interpretowała słowa 'link' jako hiperłącza
C. oznacza, że naciśnięcie na link spowoduje jego otwarcie w nowej karcie przeglądarki
D. jest komunikatem dla robota wyszukiwarki Google, by nie śledził tego linku
Poprawna odpowiedź
Niepoprawna odpowiedź. Nofollow to nie jest informacja dla przeglądarki, żeby nie pokazywała linka jak normalnego odnośnika. Linki wciąż będą wyglądały jak zwykłe linki HTML. Atrybut nofollow dotyczy tylko tego, jak roboty wyszukiwarek traktują ten link, a nie jak wygląda on na stronie. Jak chcesz, żeby link otwierał się w nowej karcie, to musisz użyć atrybutu target z _blank. Nofollow nie ma wpływu na to, gdzie prowadzi link, więc kliknięcie w niego zawsze przeniesie cię na daną stronę, niezależnie od tego, czy jest tam nofollow czy nie. Jego rola jest tylko w SEO i w tym, jak wpływa na PageRank, a nie w tym, co widzą użytkownicy.

Pytanie 40

Aby prawidłowo utworzyć relację typu m:n nienarażoną na redundancję danych, należy:
A. uporządkować przynajmniej jedną z tabel
B. bezpośrednio połączyć klucze obce obu tabel
C. utworzyć tabelę pośredniczącą (łączącą)
Twoja odpowiedź
D. bezpośrednio połączyć klucze główne obu tabel
Poprawna odpowiedź. Relacji typu m:n (wiele do wielu) nie da się poprawnie odwzorować, łącząc dwie tabele bezpośrednio - kończy się to powielaniem danych. Rozwiązaniem jest tabela pośrednicząca (łącząca, asocjacyjna), która zawiera klucze obce wskazujące na obie tabele. Dzięki niej relacja m:n rozkłada się na dwie relacje typu 1:n, a każde powiązanie zapisujemy jako pojedynczy wiersz w tabeli łączącej. Taki model jest zgodny z normalizacją i nie wprowadza redundancji - dlatego poprawna jest tabela pośrednicząca.