Przejdź do treści
Pełny kurs INF.03

Za darmo · bez logowania · zaktualizowano

Teoria INF.03 — wszystko do części pisemnej w jednym miejscu

Kompendium teorii do egzaminu zawodowego INF.03: HTML, CSS, bazy danych i SQL, PHP, JavaScript, grafika, systemy liczbowe, sieci i angielski zawodowy. Przy każdym temacie: co naprawdę było w arkuszach CKE, gdzie najłatwiej stracić punkty, kalkulator albo edytor na żywo i mini-quiz.

  • 300zagadnień z odpowiedzią
  • 152arkuszy CKE w statystykach
  • 2 701pytań testowych
  • SQL na żywoi 3 kalkulatory

Tematy teorii INF.03

Oznaczaj hasła „umiem” albo „do powtórki” — pasek przy każdym temacie pokaże, ile już masz. Postęp zostaje w tej przeglądarce.

Co najczęściej wraca na egzaminie INF.03

Policzyliśmy wymagania ze wszystkich 152 arkuszy części praktycznej CKE z lat 2018–2026. Każdy arkusz to strona w HTML i CSS, 101 ma skrypt w PHP, 51 w JavaScripcie. Poniżej to, co arkusze wymagają poza tym — od najczęstszego. Ucz się w tej kolejności.

  1. SELECTBazy danych i SQL137/152ostatnio czerwiec 2026
  2. Skalowanie obrazuGrafika komputerowa108/152ostatnio czerwiec 2026
  3. Pseudoklasy (:hover)CSS88/152ostatnio czerwiec 2026
  4. FormularzHTML78/152ostatnio czerwiec 2026
  5. DOM i zdarzeniaJavaScript38/152ostatnio czerwiec 2026
  6. GROUP BYBazy danych i SQL38/152ostatnio czerwiec 2026
  7. ALTER TABLEBazy danych i SQL35/152ostatnio czerwiec 2026
  8. INSERTBazy danych i SQL35/152ostatnio czerwiec 2026
  9. KadrowanieGrafika komputerowa32/152ostatnio czerwiec 2026
  10. Użytkownicy i uprawnieniaBazy danych i SQL24/152ostatnio czerwiec 2026
  11. DatyPHP19/152ostatnio czerwiec 2026
  12. Tekst na graficeGrafika komputerowa19/152ostatnio styczeń 2026
  13. Walidacja danychPHP18/152ostatnio czerwiec 2026
  14. Filtry CSSCSS13/152ostatnio czerwiec 2026
  15. Relacja wiele-do-wieluBazy danych i SQL11/152ostatnio czerwiec 2026
  16. Animacja GIFGrafika komputerowa9/152ostatnio styczeń 2026
  17. Formularz GETPHP9/152ostatnio czerwiec 2026
  18. Galeria zdjęćJavaScript7/152ostatnio czerwiec 2026
  19. PseudoelementyCSS7/152ostatnio styczeń 2026
  20. Scalanie komórek tabeliHTML7/152ostatnio styczeń 2026
  21. Losowanie: ORDER BY RAND()Bazy danych i SQL5/152ostatnio styczeń 2026
  22. LEFT JOINBazy danych i SQL3/152ostatnio czerwiec 2026
  23. Przejścia (transition)CSS3/152ostatnio czerwiec 2026
  24. PodzapytanieBazy danych i SQL2/152ostatnio czerwiec 2026
  25. TabliceJavaScript2/152ostatnio czerwiec 2026
  26. localStorageJavaScript1/152ostatnio czerwiec 2026

Część pisemna losuje pytania z całego zakresu kwalifikacji, więc ranking mówi, co jest ważne na praktyce — a tę samą wiedzę sprawdza test.

Plan nauki teorii INF.03

Ile dni zostało do egzaminu? Rozłożymy tematy na dni i dorzucimy testy na koniec. Odhaczaj, co zrobione — plan zostaje w tej przeglądarce.

Do egzaminu zostało:
  1. Teoria: HTML + mini-quizTeoria: CSS + mini-quiz
  2. Teoria: Bazy danych i SQL + mini-quizTeoria: PHP + mini-quiz
  3. Teoria: JavaScript + mini-quizTeoria: Grafika komputerowa + mini-quiz
  4. Teoria: Systemy liczbowe i logika + mini-quizTeoria: Sieci, protokoły i internet + mini-quiz
  5. Teoria: Angielski zawodowy + mini-quiz
  6. Teoria: Jak wygląda egzamin INF.03
  7. Test 40 pytań w 60 minutPowtórka błędów z testów

Pełny plan razem z częścią praktyczną — lekcje, arkusze i powtórki codziennie — układa aplikacja EasyINF w trybie Sprint.

Teoria INF.03: HTML

Struktura dokumentu, znaczniki semantyczne, formularze, tabele, obrazy i atrybuty — fundament części praktycznej i stały temat pytań testowych.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 152/152każdy arkusz to strona w HTML i CSS
  • 78/152Formularz · ostatnio czerwiec 2026
  • 7/152Scalanie komórek tabeli · ostatnio styczeń 2026
Jakie znaczniki tworzą szkielet dokumentu HTML? #
<!DOCTYPE html>, html, head, body
Który znacznik ustawia kodowanie polskich znaków? #
<meta charset="UTF-8"> w sekcji head. Bez tego zamiast ogonków są krzaki.
Jak podpiąć zewnętrzny arkusz stylów? #
<link rel="stylesheet" href="styl.css"> w sekcji head
Wymień znaczniki semantyczne układu strony #
header, nav, main, section, article, aside, footer
Czym różni się section od article? #
section to fragment tematyczny strony. article to treść samodzielna, mająca sens w oderwaniu od strony, np. wpis na blogu.
Jakie atrybuty są wymagane przy znaczniku img? #
src — ścieżka do pliku, oraz alt — opis alternatywny. alt jest sprawdzany i punktowany.
Jak zrobić, żeby komórka tabeli zajęła trzy kolumny? #
<td colspan="3">. Dla wierszy: rowspan.
Do czego służy znacznik caption? #
Do podpisu tabeli. Umieszcza się go bezpośrednio po otwarciu <table>.
Jak powiązać etykietę z polem formularza? #
<label for="imie"> i pole z id="imie". Kliknięcie etykiety ustawia kursor w polu.
Czym różni się metoda GET od POST? #
GET przekazuje dane w pasku adresu — widoczne, ograniczona długość. POST przesyła je w treści żądania — niewidoczne, bez limitu długości.
Które atrybuty walidują pole bez użycia skryptu? #
required, pattern, min, max, maxlength oraz typ pola, np. type="email"
Jak otworzyć odnośnik w nowej karcie? #
<a href="..." target="_blank">
Czym różni się lista ul od ol? #
ul jest nieuporządkowana (punktory), ol uporządkowana (numeracja). Elementy obu to li.
Po co dodaje się znacznik meta viewport? #
Żeby szerokość strony odpowiadała szerokości urządzenia: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Bez niego mobilny układ może wyglądać jak pomniejszona wersja desktopu.
Czym różnią się atrybuty name i id pola formularza? #
name jest kluczem wysyłanym do PHP, a id identyfikuje element w dokumencie i łączy go z label. Pole bez name nie trafi do danych formularza.
Co określa atrybut action formularza? #
Adres pliku lub zasobu, który odbierze dane po wysłaniu formularza, np. <form action="zapis.php" method="post">.
Jak zbudować grupę pól typu radio, w której można wybrać jedną odpowiedź? #
Wszystkie pola muszą mieć ten sam atrybut name, ale różne wartości value. Wspólna nazwa tworzy jedną grupę wyboru.
Jak ustawić domyślnie wybraną opcję listy select? #
Dodaj selected do właściwego znacznika option. Do formularza zostanie wysłana wartość z jego atrybutu value.
Jak musi być skonfigurowany formularz wysyłający plik? #
Potrzebuje method="post" i enctype="multipart/form-data", a pole pliku ma typ file.
Po co w tabeli używa się thead, tbody i tfoot? #
Dzielą tabelę na nagłówek, dane i podsumowanie. Poprawiają semantykę, dostępność oraz ułatwiają osobne stylowanie części tabeli.
Co oznacza atrybut scope w komórce th? #
Wskazuje, czego dotyczy nagłówek: scope="col" dla kolumny albo scope="row" dla wiersza. Pomaga czytnikom ekranu.
Co oznacza ../ w ścieżce względnej? #
Przejście o jeden folder wyżej. Przykład: ../obrazy/logo.png szuka folderu obrazy obok bieżącego katalogu.
Kiedy użyć znaczników figure i figcaption? #
Gdy obraz, wykres albo fragment kodu ma własny podpis. figure grupuje materiał, a figcaption opisuje go semantycznie.
Co robi atrybut lang w znaczniku html? #
Deklaruje język strony: <html lang="pl">. Czytniki ekranu dobierają po nim wymowę, a przeglądarka słownik. Zasady oceniania CKE punktują to osobno.
Czym różni się <br> od nowego akapitu? #
<br> to złamanie wiersza wewnątrz tekstu. Nowy akapit to nowy <p> — ma własne marginesy i jest osobnym blokiem znaczeniowym.
Które znaczniki są puste (nie mają wersji zamykającej)? #
br, hr, img, input, meta, link, source. W HTML5 ukośnik na końcu jest opcjonalny.
Jak zbudować listę uporządkowaną? #
<ol><li>pozycja</li></ol>. Numeracja powstaje sama — nie wpisuje się jej w treść.
Czym różni się ol od ul? #
ol to lista uporządkowana (numerowana), ul nieuporządkowana (punktowana). Obie zawierają wyłącznie li jako bezpośrednie dzieci.
Jak zrobić listę definicji? #
<dl>, w niej pary: <dt> — pojęcie, <dd> — opis. Jedno dt może mieć kilka dd.
Jak zagnieździć listę w liście? #
Podlistę wstawia się WEWNĄTRZ <li>, nie między pozycjami: <li>Owoce<ul><li>jabłko</li></ul></li>.

Znaczniki sekcji HTML5 — który do czego

ZnacznikDo czego służy
<header>Nagłówek strony albo sekcji: logo, baner, tytuł.
<nav>Główna nawigacja — menu z odnośnikami.
<main>Główna treść strony, jeden raz na dokument.
<section>Tematyczna część strony, zwykle z własnym nagłówkiem.
<article>Samodzielna treść, którą można wyjąć i opublikować osobno: wpis, artykuł, opinia.
<aside>Treść poboczna: panel boczny, reklama, ramka z dodatkiem.
<footer>Stopka strony albo sekcji: autor, prawa, kontakt.

Zobacz efekt — zmień kod, podgląd odświeża się sam

Sprawdź się: 3 pytania z tematu HTML

  1. Deklaracja <!DOCTYPE html> na początku dokumentu:

  2. Podpis ilustracji umieszczonej w elemencie <figure> zapisuje się w:

  3. Który atrybut elementu audio wyświetla wbudowane przyciski odtwarzania?

Pytania testowe: Strony internetowe (696) → Ten temat ma w aplikacji 327 fiszek z powtórkami.

Teoria INF.03: CSS

Selektory i pseudoklasy, model pudełkowy, jednostki, kolory, pozycjonowanie, flexbox i responsywność.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 152/152każdy arkusz to strona w HTML i CSS
  • 88/152Pseudoklasy (:hover) · ostatnio czerwiec 2026
  • 13/152Filtry CSS · ostatnio czerwiec 2026
  • 7/152Pseudoelementy · ostatnio styczeń 2026
  • 3/152Przejścia (transition) · ostatnio czerwiec 2026
Jak zapisać selektor klasy, a jak identyfikatora? #
Klasa: .nazwa. Identyfikator: #nazwa. Identyfikator musi być unikalny na stronie.
Co oznacza selektor nav a? #
Każdy odnośnik znajdujący się wewnątrz elementu nav — selektor potomka.
Która pseudoklasa reaguje na najechanie kursorem? #
:hover — najczęściej wymagana pseudoklasa w arkuszach INF.03.
Jak powiększyć pierwszą literę akapitu? #
p::first-letter { font-size: 200%; } — to pseudoelement, zapisywany dwoma dwukropkami.
Z czego składa się model pudełkowy? #
Od środka: treść (width/height), padding, border, margin
Czym różni się padding od margin? #
padding to odstęp wewnątrz elementu, między treścią a ramką. margin to odstęp na zewnątrz, między elementem a sąsiadami.
Jak wyśrodkować blok w poziomie? #
Ustalić szerokość i dodać margin: 0 auto
Jak zrobić płynną zmianę koloru w czasie 0,3 sekundy? #
transition: color 0.3s; na elemencie, a zmianę koloru w regule :hover
Która właściwość usuwa podkreślenie odnośnika? #
text-decoration: none;
Jaka jest kolejność ważności selektorów? #
Styl liniowy bije identyfikator, identyfikator bije klasę, klasa bije znacznik. Przy remisie wygrywa reguła zapisana później.
Czym różni się position: absolute od relative? #
relative przesuwa element względem jego pierwotnego miejsca i zachowuje je w układzie. absolute wyjmuje element z układu i pozycjonuje względem najbliższego przodka z pozycjonowaniem.
Jak ustawić trzy elementy obok siebie flexboksem? #
Na rodzicu: display: flex;. Odstępy: gap. Wyrównanie w poziomie: justify-content.
Jak zrobić siatkę o trzech równych kolumnach? #
display: grid; grid-template-columns: repeat(3, 1fr);
Jak zapisać zapytanie medialne dla ekranów do 768 pikseli? #
@media (max-width: 768px) { ... }
Czym różni się element blokowy od liniowego? #
Blokowy zajmuje całą szerokość i zaczyna się od nowej linii (div, p). Liniowy zajmuje tyle, ile treść (span, a).
Co zmienia box-sizing: border-box? #
Podana szerokość obejmuje treść, padding i border. Dzięki temu element o width: 300px nadal ma 300 pikseli, nawet po dodaniu wypełnienia i ramki.
Czym różni się overflow: auto od overflow: hidden? #
auto pokazuje paski przewijania tylko wtedy, gdy są potrzebne. hidden ucina zawartość wychodzącą poza element.
Jak wypełnić ramkę zdjęciem bez zniekształcania proporcji? #
Ustaw obrazowi wymiary i object-fit: cover. Obraz zachowa proporcje, ale jego brzegi mogą zostać przycięte.
Jak dopasować obraz tła tak, żeby zakrył cały blok? #
Użyj background-size: cover, zwykle razem z background-position: center i background-repeat: no-repeat.
Czym różni się display: none od visibility: hidden? #
display: none usuwa element z układu. visibility: hidden ukrywa go, ale pozostawia zajmowane miejsce.
Kiedy właściwość z-index zaczyna działać? #
Gdy element uczestniczy w warstwach, najczęściej ma pozycjonowanie inne niż static. Większa wartość ustawia go nad elementami z tego samego kontekstu.
Jak pozwolić elementom flex przechodzić do następnego wiersza? #
Na kontenerze ustaw flex-wrap: wrap. Bez tego elementy próbują zmieścić się w jednym wierszu.
Co najczęściej oznacza zapis flex: 1? #
Element może rosnąć i dzielić wolne miejsce z rodzeństwem. Kilka elementów z flex: 1 zwykle tworzy równe kolumny.
Dlaczego w flexboxie i gridzie warto używać gap? #
Tworzy odstęp wyłącznie między elementami, bez dokładania marginesu na zewnętrznych krawędziach kontenera.
Jak odróżnić działanie justify-content i align-items? #
justify-content wyrównuje na osi głównej, a align-items na osi poprzecznej. Kierunek osi głównej zależy od flex-direction.
Po co w siatce stosuje się minmax(0, 1fr)? #
Kolumna może się rzeczywiście zwężać poniżej szerokości długiej treści. To zapobiega częstemu przelewaniu tekstu poza responsywny grid.
Co wybiera selektor nav > a? #
Tylko odnośniki będące bezpośrednimi dziećmi elementu nav. Zwykły zapis nav a wybrałby też odnośniki zagnieżdżone głębiej.
Jak wybrać w CSS wszystkie pola typu e-mail? #
Selektorem atrybutu: input[type="email"].
Jak ostylować co drugi wiersz tabeli? #
Przykład: tbody tr:nth-child(even) { background: #eee; }. even oznacza parzyste, a odd nieparzyste.
Czym różni się opacity: .5 od półprzezroczystego koloru rgba? #
opacity osłabia cały element razem z dziećmi. Kolor rgba zmienia przezroczystość tylko danej warstwy, np. samego tła.

Jednostki CSS — względem czego liczą

JednostkaWzględem czegoPrzykład
pxStała wielkość w pikselach CSSwidth: 300px
%Rozmiar elementu rodzicawidth: 50%
emRozmiar czcionki elementu (przy font-size — rodzica)padding: 1.5em
remRozmiar czcionki elementu htmlfont-size: 1.2rem
vw / vh1% szerokości / wysokości okna przeglądarkiheight: 100vh

Kalkulator modelu pudełkowego — ile miejsca naprawdę zajmie blok

Widoczna szerokość: 200 + 2×20 + 2×5 = 250 px. Z marginesami blok zajmuje 250 + 2×30 = 310 px.

Zobacz efekt — zmień kod, podgląd odświeża się sam

Sprawdź się: 3 pytania z tematu CSS

  1. Selektor li:nth-child(2n) wybierze pozycje listy o numerach:

  2. Domyślnie obraz tła w CSS:

  3. Selektor h2 + p wybierze akapit:

Pytania testowe: Strony internetowe (696) → Ten temat ma w aplikacji 401 fiszek z powtórkami.

Teoria INF.03: Bazy danych i SQL

Model relacyjny, klucze i relacje, typy danych, SELECT z JOIN i GROUP BY, modyfikacja danych, użytkownicy i uprawnienia.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 137/152SELECT · ostatnio czerwiec 2026
  • 38/152GROUP BY · ostatnio czerwiec 2026
  • 35/152INSERT · ostatnio czerwiec 2026
  • 35/152ALTER TABLE · ostatnio czerwiec 2026
Jaka jest poprawna kolejność klauzul w kwerendzie? #
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT
Czym różni się WHERE od HAVING? #
WHERE filtruje pojedyncze rekordy przed grupowaniem. HAVING filtruje gotowe grupy po GROUP BY.
Czym różni się INNER JOIN od LEFT JOIN? #
INNER JOIN zwraca tylko pasujące pary. LEFT JOIN zwraca wszystkie rekordy z tabeli lewej, a brakujące dane z prawej wypełnia wartością NULL.
Jak wypisać pięć najdroższych produktów? #
SELECT * FROM produkty ORDER BY cena DESC LIMIT 5;
Jak wylosować trzy rekordy z tabeli? #
SELECT * FROM tabela ORDER BY RAND() LIMIT 3;
Jak znaleźć nazwiska zaczynające się na literę K? #
WHERE nazwisko LIKE 'K%'. Znak % zastępuje dowolny ciąg, _ jeden znak.
Wymień pięć funkcji agregujących #
COUNT, SUM, AVG, MIN, MAX
Jak policzyć liczbę produktów w każdej kategorii? #
SELECT kategoria, COUNT(*) FROM produkty GROUP BY kategoria;
Jaka jest składnia wstawiania rekordu? #
INSERT INTO tabela (kol1, kol2) VALUES ('wartosc1', 2); — teksty w apostrofach, liczby bez.
Jakie ryzyko niesie UPDATE bez WHERE? #
Zmienia wszystkie rekordy w tabeli. To najczęstszy i najbardziej kosztowny błąd na egzaminie.
Czym różni się DELETE od TRUNCATE? #
DELETE usuwa wybrane rekordy i można go ograniczyć klauzulą WHERE. TRUNCATE czyści całą tabelę i resetuje licznik AUTO_INCREMENT.
Jak dodać kolumnę do istniejącej tabeli? #
ALTER TABLE produkty ADD opis TEXT;
Co robi AUTO_INCREMENT? #
Automatycznie nadaje kolejny numer przy wstawianiu rekordu. Stosowane na kluczu głównym.
Jak utworzyć użytkownika i nadać mu prawo odczytu? #
CREATE USER 'nazwa'@'localhost' IDENTIFIED BY 'haslo'; potem GRANT SELECT ON baza.* TO 'nazwa'@'localhost';
Czym jest klucz obcy? #
Kolumna wskazująca na klucz główny innej tabeli. Wymusza spójność danych — nie da się dodać rekordu wskazującego na nieistniejący.
Jak zbudować relację wiele do wielu? #
Przez trzecią tabelę pośredniczącą, zawierającą dwa klucze obce — po jednym do każdej z łączonych tabel.
Jak znaleźć produkty droższe od średniej? #
SELECT * FROM produkty WHERE cena > (SELECT AVG(cena) FROM produkty); — to podkwerenda.
Jak sprawdzić, czy pole jest puste? #
WHERE pole IS NULL. Zapis = NULL nie zadziała.
Jak nadać kolumnie czytelną nazwę tylko w wyniku kwerendy? #
Użyj aliasu: SELECT cena AS Cena_brutto FROM produkty;. Alias nie zmienia nazwy kolumny w tabeli.
Jak wypisać wartości bez powtórzeń? #
Użyj DISTINCT, np. SELECT DISTINCT miasto FROM klienci;.
Czy operator BETWEEN obejmuje wartości graniczne? #
Tak. cena BETWEEN 10 AND 20 obejmuje zarówno 10, jak i 20.
Jak skrócić kilka warunków połączonych operatorem OR dla jednej kolumny? #
Użyj IN: WHERE status IN ('nowy', 'wyslany').
Jak wybrać rekordy, w których kolumna ma wartość? #
Warunkiem WHERE kolumna IS NOT NULL. Dla wartości pustej używa się IS NULL.
Czym różni się COUNT(kolumna) od COUNT(*)? #
COUNT(*) liczy wszystkie rekordy. COUNT(kolumna) pomija rekordy, w których ta kolumna ma NULL.
Jak zastąpić NULL czytelną wartością w wyniku? #
Funkcją COALESCE, np. COALESCE(telefon, 'brak').
Jak połączyć imię i nazwisko w jedną kolumnę? #
Przykład: SELECT CONCAT(imie, ' ', nazwisko) AS osoba FROM klienci;.
Jak wybrać rekordy z konkretnego roku? #
Dla kolumny daty można użyć WHERE YEAR(data_zamowienia) = 2026.
Jak sortować po dwóch kolumnach? #
Wymień je po przecinku: ORDER BY cena DESC, nazwa ASC. Druga kolumna rozstrzyga rekordy z takim samym wynikiem pierwszej.
Co oznacza zapis LIMIT 5, 10 w MySQL? #
Pomiń pierwszych 5 rekordów i zwróć kolejnych 10. Pierwsza liczba to przesunięcie, druga to liczba wyników.
Jak podnieść cenę o 10% tylko w jednej kategorii? #
UPDATE produkty SET cena = cena * 1.10 WHERE kategoria_id = 3;. Najpierw warto sprawdzić ten sam warunek kwerendą SELECT.

SQL — polecenia, które najłatwiej pomylić

PolecenieCo robi
WHEREFiltruje pojedyncze wiersze, zanim powstaną grupy.
HAVINGFiltruje grupy po GROUP BY — tu wstawiasz warunek na COUNT(), SUM(), AVG().
INNER JOINTylko wiersze, które mają parę w obu tabelach.
LEFT JOINWszystkie wiersze z lewej tabeli; brak pary po prawej daje NULL.
DELETEUsuwa wiersze (z WHERE — tylko wybrane). Struktura tabeli zostaje.
TRUNCATECzyści całą tabelę naraz i zeruje licznik AUTO_INCREMENT.
DROP TABLEUsuwa tabelę razem ze strukturą.
ALTER TABLEZmienia strukturę: ADD, MODIFY, DROP COLUMN, klucze.

Wypróbuj SQL — prawdziwe kwerendy na bazie ćwiczeniowej, w przeglądarce

kategorie (id, nazwa)produkty (id, nazwa, kategoria_id, cena, ilosc)zamowienia (id, produkt_id, klient, sztuk, data_zamowienia)

Ctrl+Enter
Wynik: 5
nazwacena
Karta graficzna GX-6002499
Pakiet biurowy599
Klawiatura mechaniczna449.99
Dysk SSD 1 TB349
Pamiec RAM 16 GB289.5

Sprawdź się: 3 pytania z tematu Bazy danych i SQL

  1. Funkcja AVG(cena) zwraca:

  2. Zapis LIMIT 10, 5 w MySQL zwróci:

  3. Głównym celem normalizacji bazy danych jest:

Pytania testowe: Bazy danych i SQL (697) → Ten temat ma w aplikacji 497 fiszek z powtórkami.

Teoria INF.03: PHP

Składnia i zmienne, tablice, formularze ($_GET, $_POST), sesje i ciasteczka oraz praca z bazą przez mysqli.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 101/152arkuszy ma skrypt w PHP
  • 19/152Daty · ostatnio czerwiec 2026
  • 18/152Walidacja danych · ostatnio czerwiec 2026
  • 9/152Formularz GET · ostatnio czerwiec 2026
Jak wygląda znacznik otwierający kod PHP? #
<?php, a zamykający ?>. Plik musi mieć rozszerzenie .php i leżeć na serwerze.
Jak połączyć dwa napisy w PHP? #
Kropką: $a . $b. W JavaScripcie robi to plus — to częste źródło pomyłek.
Jak nawiązać połączenie z bazą MySQL? #
$p = mysqli_connect("localhost", "root", "", "nazwa_bazy");
Jak wykonać kwerendę i przejść po wynikach? #
$w = mysqli_query($p, $sql); potem while ($wiersz = mysqli_fetch_assoc($w)) { ... }
Jak odebrać dane wysłane metodą POST? #
Tablica $_POST["nazwa_pola"]. Dla metody GET: $_GET["nazwa"].
Jak sprawdzić, czy zmienna została przekazana? #
isset($_POST["imie"]) — zwraca prawdę, jeśli zmienna istnieje i nie jest pusta w sensie null.
Jak sprawdzić, czy kwerenda coś zwróciła? #
mysqli_num_rows($wynik) > 0
Czym jest wstrzyknięcie SQL i jak się przed nim bronić? #
Wpisaniem kodu SQL w pole formularza atakujący zmienia sens kwerendy. Obrona: zapytania przygotowane albo funkcja mysqli_real_escape_string.
Jak wypisać tekst na stronę? #
echo "tekst";
Jaka jest składnia pętli po tablicy asocjacyjnej? #
foreach ($tablica as $klucz => $wartosc) { ... }
Do czego służy htmlspecialchars? #
Zamienia znaki specjalne HTML na encje, przez co wpisany kod nie wykona się na stronie. Obrona przed atakiem XSS.
Jak sprawdzić, czy formularz wysłano metodą POST? #
if ($_SERVER["REQUEST_METHOD"] === "POST") { ... }. Dzięki temu kod zapisu nie wykonuje się przy zwykłym wejściu na stronę.
Do czego służy funkcja trim? #
Usuwa białe znaki z początku i końca tekstu. Przydaje się przed sprawdzaniem danych z formularza.
Czym różni się empty od isset? #
isset sprawdza, czy wartość istnieje i nie jest null. empty uznaje za puste także m.in. pusty napis, zero i false.
Jak sprawdzić, czy odebrana wartość jest poprawną liczbą całkowitą? #
Można użyć filter_var($wartosc, FILTER_VALIDATE_INT) i sprawdzić, czy wynik nie jest równy false.
Co trzeba zrobić przed użyciem tablicy $_SESSION? #
Wywołać session_start() przed wysłaniem jakiejkolwiek treści HTML.
Jak ustawić ciasteczko w PHP? #
Funkcją setcookie("nazwa", "wartosc", time() + 3600);, wywołaną przed wysłaniem treści strony.
Czym różni się include od require? #
Przy błędzie include zgłasza ostrzeżenie i skrypt zwykle działa dalej. require zatrzymuje wykonanie, gdy plik jest niezbędny.
Jak ustawić poprawne kodowanie połączenia mysqli? #
Po połączeniu wywołaj mysqli_set_charset($polaczenie, "utf8mb4");.
Jak zamknąć połączenie z bazą danych? #
Funkcją mysqli_close($polaczenie);, gdy wszystkie kwerendy są już wykonane.
Jaki jest podstawowy schemat zapytania przygotowanego w mysqli? #
mysqli_prepare, potem mysqli_stmt_bind_param, następnie mysqli_stmt_execute. Dane nie są sklejane bezpośrednio z SQL-em.
Jak bezpiecznie zapisać hasło użytkownika? #
Wynikiem password_hash($haslo, PASSWORD_DEFAULT). Nie zapisuj hasła w bazie jako zwykłego tekstu.
Jak sprawdzić hasło podane przy logowaniu? #
Użyj password_verify($podane, $hash_z_bazy). Funkcja porównuje hasło z hashem utworzonym przez password_hash.
Jak przekierować użytkownika na inną stronę? #
header("Location: sukces.php"); exit;. Nagłówek musi zostać wysłany przed treścią HTML.
Do czego służą funkcje explode i implode? #
explode dzieli tekst na tablicę według separatora, a implode łączy elementy tablicy w tekst.
Jak zwrócić wynik z własnej funkcji PHP? #
Użyj return, np. function brutto($netto) { return $netto * 1.23; }.
Jak otwiera się blok kodu PHP? #
<?php … ?>. W pliku zawierającym sam PHP znacznik zamykający się pomija — chroni to przed przypadkową spacją na końcu.
Dlaczego plik PHP nie działa po otwarciu dwuklikiem? #
Bo PHP wykonuje się na SERWERZE. Plik musi leżeć w htdocs i być otwarty przez http://localhost/…, nie przez file:///.
Jak wypisać tekst w PHP? #
echo "tekst";. print robi to samo, ale zwraca wartość i przyjmuje jeden argument.
Jak zapisać zmienną w PHP? #
Z dolarem na początku: $imie = "Jan";. Nazwa rozróżnia wielkość liter.

GET czy POST

CechaGETPOST
Gdzie są daneW adresie URL: ?miasto=KrakówW treści żądania, poza adresem
Widać w historii i zakładkachTakNie
W PHP$_GET['miasto']$_POST['miasto']
Typowe użycieWyszukiwanie, filtry, linki do wynikówLogowanie, rejestracja, dodawanie danych do bazy

Sprawdź się: 3 pytania z tematu PHP

  1. Dla $a = 0; funkcja empty($a) zwróci:

  2. Superglobalna tablica $_SERVER['REQUEST_METHOD'] pozwala sprawdzić:

  3. Funkcja mysqli_fetch_assoc zwraca:

Pytania testowe: JavaScript i PHP (1 028) → Ten temat ma w aplikacji 393 fiszek z powtórkami.

Teoria INF.03: JavaScript

Zmienne i typy, funkcje, tablice, DOM, zdarzenia i obsługa formularzy po stronie przeglądarki.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 51/152arkuszy ma skrypt w JavaScripcie
  • 38/152DOM i zdarzenia · ostatnio czerwiec 2026
  • 7/152Galeria zdjęć · ostatnio czerwiec 2026
  • 2/152Tablice · ostatnio czerwiec 2026
  • 1/152localStorage · ostatnio czerwiec 2026
Jak pobrać element po identyfikatorze? #
document.getElementById("nazwa") albo document.querySelector("#nazwa")
Czym różni się innerHTML od textContent? #
innerHTML wstawia treść jako kod HTML. textContent wstawia czysty tekst — bezpieczniejsze, bo nie wykona wstrzykniętego kodu.
Jak podpiąć obsługę kliknięcia? #
element.addEventListener("click", function () { ... });
Czym różni się let od const? #
let pozwala zmienić wartość zmiennej, const nie. Oba działają w zasięgu bloku.
Jak odfiltrować z tablicy liczby większe od 10? #
tablica.filter(x => x > 10)
Do czego służy metoda map? #
Tworzy nową tablicę, przekształcając każdy element. filter wybiera elementy, map je zmienia.
Jak zapisać dane w pamięci przeglądarki? #
localStorage.setItem("klucz", wartosc), odczyt: localStorage.getItem("klucz"). Przechowuje wyłącznie tekst.
Jak zapisać w localStorage tablicę lub obiekt? #
Trzeba je zamienić na tekst: JSON.stringify(dane) przy zapisie i JSON.parse(...) przy odczycie.
Jak utworzyć i dodać nowy element do listy? #
const li = document.createElement("li"); li.textContent = "tekst"; lista.appendChild(li);
Jak zmienić styl elementu skryptem? #
element.style.backgroundColor = "red"; — nazwy właściwości pisane wielbłądzią notacją, bez myślników.
Czym różni się == od ===? #
== porównuje wartości po konwersji typów, === porównuje wartość i typ. Na egzaminie używaj ===.
Jak zatrzymać domyślne wysłanie formularza? #
W obsłudze zdarzenia: event.preventDefault();
Co zwraca document.querySelectorAll? #
Statyczną listę wszystkich elementów pasujących do selektora. Można przejść po niej metodą forEach.
Jak jednym poleceniem dodać albo usunąć klasę? #
element.classList.toggle("aktywna"). Zwraca też informację, czy po operacji klasa jest obecna.
Jak odczytać tekst wpisany w polu formularza? #
Przez właściwość value, np. const imie = pole.value;.
Jak sprawdzić, czy checkbox jest zaznaczony? #
Przez właściwość logiczną checkbox.checked, która ma wartość true albo false.
Dlaczego warto zamienić wartość pola na liczbę przed obliczeniem? #
Wartość pola jest tekstem. Number(pole.value) zapobiega sytuacji, w której "2" + "3" daje "23" zamiast 5.
Jak sprawdzić, czy konwersja dała niepoprawną liczbę? #
Użyj Number.isNaN(wartosc). Wynik true oznacza wartość NaN.
Do czego służy metoda tablicy forEach? #
Wykonuje funkcję dla każdego elementu tablicy. Nie tworzy nowej tablicy i nie służy do filtrowania wyniku.
Do czego służy metoda reduce? #
Łączy wszystkie elementy tablicy w jedną wartość, np. sumę: liczby.reduce((s, x) => s + x, 0).
Jak odczytać atrybut data-id="15" w JavaScripcie? #
Przez element.dataset.id. Otrzymana wartość jest tekstem.
Kiedy przydaje się zdarzenie DOMContentLoaded? #
Gdy skrypt może uruchomić się przed zbudowaniem drzewa HTML. Obsługa czeka, aż elementy dokumentu będą dostępne.
Czym różnią się zdarzenia input i change? #
input reaguje na każdą zmianę wartości podczas pisania. change zwykle uruchamia się po zatwierdzeniu zmiany lub opuszczeniu pola.
Jak pobrać dane JSON funkcją fetch? #
Np. fetch("dane.json").then(r => r.json()).then(dane => { ... });. Trzeba też obsłużyć błąd żądania.
Jak zadeklarować zmienną w nowoczesnym JavaScripcie? #
let dla wartości zmiennych, const dla stałych. Starego var się unika — ma inny zasięg.
Czym różni się let od var? #
let ma zasięg BLOKU (klamer), var zasięg całej funkcji. var wycieka poza pętlę i bywa źródłem trudnych błędów.
Czy const uniemożliwia zmianę tablicy? #
Nie. Blokuje tylko przypisanie NOWEJ wartości do nazwy. Zawartość tablicy albo obiektu można dalej zmieniać.
Jakie są typy proste w JavaScripcie? #
string, number, boolean, null, undefined, symbol, bigint.
Czym różni się null od undefined? #
undefined to „nie przypisano wartości”. null to świadomie ustawiony brak.
Co zwraca "5" === 5? #
false — różne typy. Przy == byłoby true.

var, let i const

SłowoZasięgPonowne przypisanie
varCała funkcja (ignoruje bloki { })Tak, można też zadeklarować drugi raz
letBlok { }Tak
constBlok { }Nie — ale zawartość tablicy czy obiektu można zmieniać

Sprawdź się: 3 pytania z tematu JavaScript

  1. Co zwróci JavaScript dla wyrażenia "SŁOŃ".toLowerCase() === "słoń"?

  2. Wywołanie document.querySelectorAll('.karta') zwraca:

  3. Metoda querySelector('.karta') zwraca:

Pytania testowe: JavaScript i PHP (1 028) → Ten temat ma w aplikacji 394 fiszek z powtórkami.

Teoria INF.03: Grafika komputerowa

Formaty plików i przezroczystość, kompresja stratna i bezstratna, raster i wektor, kadrowanie, skalowanie i kanał alfa.

Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE, 2018–2026

  • 108/152Skalowanie obrazu · ostatnio czerwiec 2026
  • 32/152Kadrowanie · ostatnio czerwiec 2026
  • 19/152Tekst na grafice · ostatnio styczeń 2026
  • 9/152Animacja GIF · ostatnio styczeń 2026
Który format obsługuje przezroczystość, a który animację? #
Przezroczystość: PNG i GIF. Animacja: GIF. JPG nie obsługuje ani jednego, ani drugiego.
Czym różni się kompresja stratna od bezstratnej? #
Stratna (JPG) trwale usuwa część informacji dla mniejszego pliku. Bezstratna (PNG, GIF) zachowuje pełną jakość.
Czym różni się grafika rastrowa od wektorowej? #
Rastrowa (JPG, PNG) to siatka pikseli — traci jakość przy powiększaniu. Wektorowa (SVG) to opis matematyczny — skaluje się bez utraty jakości.
Czym różni się kadrowanie od skalowania? #
Kadrowanie wycina fragment obrazu i zmniejsza jego zawartość. Skalowanie zmienia wymiary całości bez wycinania.
Jak przeskalować obraz bez zniekształcenia? #
Zachowując proporcje — podajesz jeden wymiar, drugi wylicza się sam. W GIMP-ie służy do tego ikona łańcucha.
Czym jest kanał alfa? #
Dodatkową informacją o przezroczystości piksela. Format PNG może zachować pełny kanał alfa, dlatego nadaje się do logo bez tła.
Co oznacza rozmiar obrazu 1200 × 800 pikseli? #
Obraz ma 1200 pikseli szerokości i 800 wysokości. To jego wymiary cyfrowe, a nie rozmiar wydruku w centymetrach.
Jak obliczyć wysokość obrazu 16:9 przy szerokości 1280 pikseli? #
1280 × 9 / 16 = 720, więc poprawny rozmiar to 1280 × 720 pikseli.
Jaki format wybrać dla zdjęcia, a jaki dla logo z przezroczystością? #
Dla fotografii zwykle JPG, bo daje mały plik. Dla logo z przezroczystością PNG albo SVG, zależnie od źródła.
Dlaczego plik roboczy z warstwami warto zachować osobno? #
Format roboczy, np. XCF, pozwala wrócić do tekstu i warstw. Wyeksportowany JPG lub PNG spłaszcza projekt i utrudnia poprawki.
Co sprawdzić bezpośrednio po eksporcie grafiki? #
Nazwę, folder, format, wymiary, przezroczystość i wygląd po ponownym otwarciu pliku. Dobry obraz zapisany pod złą nazwą może nie zostać oceniony.
Które formaty są rastrowe? #
JPG, PNG, GIF, BMP, TIFF, WebP.
Które formaty są wektorowe? #
SVG, AI, EPS, CDR. Do stron internetowych używa się SVG.
Kiedy wybrać JPG? #
Do zdjęć z wieloma barwami. Kompresja jest stratna, ale plik mały. Nie obsługuje przezroczystości.
Kiedy wybrać PNG? #
Do grafik z ostrymi krawędziami, tekstem i przezroczystością. Kompresja bezstratna, plik większy niż JPG.
Kiedy wybrać GIF? #
Do prostych animacji i grafik o małej liczbie barw. Ograniczenie to 256 kolorów w palecie.
Czym jest WebP? #
Nowoczesnym formatem obsługującym kompresję stratną i bezstratną, przezroczystość i animację. Pliki są mniejsze niż JPG i PNG.
Czym jest rozdzielczość obrazu? #
Liczbą pikseli w poziomie i pionie, np. 1920×1080. Im większa, tym więcej szczegółów i tym cięższy plik.
Co oznacza DPI? #
Liczbę punktów na cal — gęstość wydruku. Do druku przyjmuje się 300 DPI, na ekran wystarcza 72.
Czym jest głębia kolorów? #
Liczbą bitów opisujących jeden piksel. 24 bity to około 16,7 miliona barw, 8 bitów tylko 256.
Czym jest model RGB? #
Modelem addytywnym dla ekranów: czerwony, zielony, niebieski. Suma pełnych składowych daje biel.
Czym jest model CMYK? #
Modelem subtraktywnym dla druku: cyjan, magenta, żółty, czarny. Suma barwników daje ciemność.
Czym jest model HSL? #
Opisem barwy przez odcień, nasycenie i jasność. Wygodniejszy przy dobieraniu wariantów jednego koloru.
Jak zapisuje się kolor szesnastkowo? #
Trzema parami: #RRGGBB. #FF0000 to czysta czerwień.
Czym jest skalowanie obrazu? #
Zmianą wymiarów w pikselach. Powiększanie rastra zawsze pogarsza jakość — brakujące piksele trzeba dopowiedzieć.
Czym jest kadrowanie? #
Wycięciem fragmentu obrazu. Zmienia kompozycję i wymiary, ale nie rozciąga pikseli.
Jak zachować proporcje przy skalowaniu? #
Włączając blokadę proporcji w oknie zmiany rozmiaru. Inaczej obraz zostanie ściśnięty albo rozciągnięty.
Jak przeskalować obraz w GIMP-ie? #
Menu Obraz → Skaluj obraz. Skalowanie samej warstwy to Warstwa → Skaluj warstwę.
Jak wykadrować obraz w GIMP-ie? #
Narzędziem Kadrowanie (Shift+C) albo Obraz → Kadruj do zaznaczenia.
Jak zapisać wynik pracy w GIMP-ie do JPG? #
Przez Plik → Wyeksportuj jako. Polecenie „Zapisz” tworzy plik XCF, czyli format roboczy GIMP-a.

Formaty plików graficznych

FormatKompresjaPrzezroczystośćDo czego
JPEGStratnaNieZdjęcia
PNGBezstratnaTak, kanał alfaLogo, grafiki z przezroczystym tłem, zrzuty ekranu
GIFBezstratna, do 256 kolorówTak, tylko pełna albo żadnaProste animacje
SVGGrafika wektorowa (tekst XML)TakIkony i logo skalowane bez utraty jakości
WebPStratna albo bezstratnaTakZdjęcia i grafiki na strony — mniejsze pliki niż JPEG i PNG

Kolory HEX ↔ RGB i rozmiar bitmapy

#FF8000 = rgb(255, 128, 0). FF₁₆ = 255, 80₁₆ = 128, 00₁₆ = 0.

800 × 600 × 24 bity : 8 = 1 440 000 B ≈ 1 406,25 KB ≈ 1,37 MB (1 KB = 1024 B), bez kompresji.

Sprawdź się: 3 pytania z tematu Grafika komputerowa

  1. Kompresja stratna występuje w formacie:

  2. Który znacznik HTML osadza w dokumencie grafikę wektorową opisaną kodem?

  3. Uzupełnienie modelu barw CMY do CMYK oznacza dodanie:

Pytania testowe: Strony internetowe (696) → Ten temat ma w aplikacji 188 fiszek z powtórkami.

Teoria INF.03: Systemy liczbowe i logika

Zamiana między systemem dwójkowym, dziesiętnym i szesnastkowym, kod U2, operacje logiczne i zapis kolorów.

Zamień 1101 z systemu dwójkowego na dziesiętny #
13 — czyli 8 plus 4 plus 1
Zamień 173 na system dwójkowy #
10101101 — dzielisz przez 2 i czytasz reszty od dołu
Zamień 1011 0110 na szesnastkowy #
B6 — każde cztery bity to jedna cyfra szesnastkowa
Zapisz −13 w kodzie U2 na 8 bitach #
11110011 — zapisz 13, zaneguj bity, dodaj 1
Kiedy operacja XOR daje wynik 1? #
Gdy bity się różnią. 1 XOR 1 = 0, 1 XOR 0 = 1, 0 XOR 0 = 0
Ile bitów ma jedna składowa koloru w zapisie #RRGGBB? #
8 bitów, czyli wartości od 0 do 255. Razem 24 bity.
Jakie kody ASCII mają znaki a, A i 0? #
a = 97, A = 65, 0 = 48. Różnica między małą a wielką literą to 32.
Ile bitów ma bajt i ile bajtów ma kibibajt? #
1 bajt ma 8 bitów, a 1 KiB ma 1024 bajty.
Kiedy operacje AND i OR dają wynik 1? #
AND daje 1 tylko wtedy, gdy oba bity są równe 1. OR daje 1, gdy co najmniej jeden bit jest równy 1.
Ile różnych wartości można zapisać na n bitach? #
Dokładnie 2^n. Na 8 bitach można zapisać 256 różnych kombinacji.
Jakie wartości dziesiętne mają cyfry A–F w systemie szesnastkowym? #
A=10, B=11, C=12, D=13, E=14, F=15.
Zamień liczbę 47 z systemu dziesiętnego na szesnastkowy #
2F, bo 47 = 2 × 16 + 15, a 15 zapisuje się jako F.
Jaki jest adres sieci dla 192.168.10.37 z maską 255.255.255.0? #
192.168.10.0. Przy tej masce pierwsze trzy oktety opisują sieć, a ostatni urządzenie.
Czym jest XAMPP? #
Pakietem uruchamiającym lokalny serwer: Apache (serwer stron), MySQL albo MariaDB (baza) i PHP (interpreter skryptów).
Za co odpowiada Apache? #
Za przyjmowanie żądań HTTP i odsyłanie stron. Bez uruchomionego Apache pliki PHP się nie wykonają.
Co zrobić, gdy Apache nie startuje? #
Sprawdzić, czy portu 80 nie zajmuje inny program — Skype, IIS albo drugi serwer. Port można zmienić w konfiguracji.
Jaki jest domyślny port HTTP i HTTPS? #
80 dla HTTP, 443 dla HTTPS.
Czym jest localhost? #
Nazwą własnego komputera, wskazującą adres 127.0.0.1. Pozwala testować stronę bez internetu.
Czym jest phpMyAdmin? #
Graficzną nakładką na bazę MySQL działającą w przeglądarce, pod adresem http://localhost/phpmyadmin.
Czym jest protokół HTTP? #
Protokołem przesyłania stron. Klient wysyła żądanie, serwer odsyła odpowiedź z kodem stanu i treścią.
Czym różni się HTTPS od HTTP? #
HTTPS szyfruje transmisję protokołem TLS. Bez niego dane logowania idą przez sieć jawnym tekstem.
Co oznacza kod odpowiedzi 200? #
OK — żądanie się powiodło.
Co oznacza kod 404? #
Nie znaleziono zasobu pod podanym adresem.
Co oznacza kod 403? #
Brak uprawnień do zasobu. Serwer go widzi, ale odmawia dostępu.
Co oznacza kod 500? #
Wewnętrzny błąd serwera — najczęściej błąd w skrypcie PHP.
Co oznacza kod 301? #
Trwałe przekierowanie pod nowy adres. Tymczasowe to 302.
Czym jest DNS? #
Systemem zamieniającym nazwy domen na adresy IP.
Czym jest adres IP? #
Numerem identyfikującym urządzenie w sieci. IPv4 to cztery liczby, IPv6 osiem grup szesnastkowych.
Czym jest maska podsieci? #
Wartością dzielącą adres IP na część sieciową i część hosta.
Czym jest brama domyślna? #
Urządzeniem, przez które komputer wysyła ruch poza własną sieć — zwykle routerem.

Cyfry szesnastkowe i ich zapis dwójkowy

DziesiętnieDwójkowoSzesnastkowo
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

Kalkulator systemów liczbowych — z rozpisanymi krokami

Dziesiętnie
200
Dwójkowo
1100 1000
Ósemkowo
310
Szesnastkowo
C8
U2 (8 bitów)
poza zakresem −128…127

200 : 2 = 100 r. 0 → 100 : 2 = 50 r. 0 → 50 : 2 = 25 r. 0 → 25 : 2 = 12 r. 1 → 12 : 2 = 6 r. 0 → 6 : 2 = 3 r. 0 → 3 : 2 = 1 r. 1 → 1 : 2 = 0 r. 1. Reszty czytane od końca: 11001000.

Sprawdź się: 3 pytania z tematu Systemy liczbowe i logika

  1. Zapis liczby −5 w kodzie U2 na 8 bitach to:

  2. Ile bitów zawiera jeden bajt?

  3. Ile bajtów ma 1 kibibajt (KiB)?

Pytania testowe: Podstawy i bezpieczeństwo (212) → Ten temat ma w aplikacji 168 fiszek z powtórkami.

Teoria INF.03: Sieci, protokoły i internet

Protokoły i porty (HTTP, HTTPS, FTP, DNS), kody odpowiedzi HTTP, architektura klient–serwer, dostępność i bezpieczeństwo.

Jakie porty mają HTTP, HTTPS, FTP i DNS? #
HTTP 80, HTTPS 443, FTP 21, DNS 53
Co robi protokół DNS? #
Zamienia nazwy domen na adresy IP. DHCP z kolei automatycznie przydziela adresy urządzeniom.
Co oznacza kod odpowiedzi HTTP 404, a co 500? #
404 — nie znaleziono zasobu. 500 — błąd po stronie serwera. 403 — brak uprawnień.
Które metody HTTP odpowiadają operacjom CRUD? #
POST — utwórz, GET — odczytaj, PUT — zaktualizuj, DELETE — usuń
Czym jest architektura klient-serwer? #
Klient (przeglądarka) wysyła żądanie, serwer je przetwarza i odsyła odpowiedź. PHP wykonuje się na serwerze, JavaScript u klienta.
Który standard dotyczy dostępności stron? #
WCAG. Nie W3C, nie RFC, nie IEEE — to ulubiona pułapka CKE.
Czym jest licencja GNU GPL? #
Wolna licencja typu copyleft: wolno używać, zmieniać i rozpowszechniać, ale dzieło pochodne musi mieć tę samą licencję.
Które prawa autorskie są niezbywalne? #
Osobiste, w tym prawo do autorstwa. Nie wygasają i nie da się ich sprzedać. Majątkowe można przenieść.
Wymień trzy postacie normalne bazy danych #
1NF: wartości niepodzielne. 2NF: brak zależności od części klucza. 3NF: brak zależności między polami niekluczowymi.
Czym jest walidacja kodu i kto ją prowadzi? #
Sprawdzeniem zgodności ze standardem. Dla HTML i CSS służy do tego walidator W3C.
Czym jest FTP i do czego służy na egzaminie? #
Protokołem przesyłania plików na serwer, port 21. Wersja szyfrowana to SFTP.
Do czego służy protokół DHCP? #
Automatycznie przydziela urządzeniom ustawienia sieciowe, m.in. adres IP, maskę, bramę i serwer DNS.
Czym różni się sesja od ciasteczka? #
Dane sesji są przechowywane głównie na serwerze, a przeglądarka zwykle trzyma tylko identyfikator. Ciasteczko jest zapisane po stronie klienta.
Czym różni się przekierowanie HTTP 301 od 302? #
301 oznacza przekierowanie trwałe, a 302 tymczasowe.
Czym różni się sieć LAN od WAN? #
LAN obejmuje mały obszar, np. pracownię lub budynek. WAN łączy sieci na dużym obszarze; przykładem jest internet.
Na czym polega zasada kopii zapasowej 3–2–1? #
Trzy kopie danych, na dwóch różnych rodzajach nośników, z jedną kopią poza główną lokalizacją.
Co oznacza adres localhost? #
Wskazuje na ten sam komputer, na którym działa przeglądarka. Najczęściej odpowiada adresowi 127.0.0.1 i służy do lokalnego testowania serwera.
Ile trwa część praktyczna egzaminu INF.03? #
150 minut. Część pisemna to osobne 60 minut i 40 pytań.
Jaki jest próg zdania części praktycznej? #
75%. Część pisemna wymaga 50%.
Ile rezultatów ocenianych jest w części praktycznej? #
Cztery: grafika, witryna internetowa, baza danych i skrypt. Każdy punktowany osobno.
Ile pytań ma część pisemna? #
40 pytań jednokrotnego wyboru, po cztery odpowiedzi.
W jakich miesiącach odbywa się egzamin zawodowy? #
W sesji zimowej w styczniu i letniej w czerwcu.
Jaka jest prawidłowa wysokość monitora na stanowisku pracy? #
Górna krawędź ekranu na wysokości oczu albo nieco niżej, w odległości 40–75 cm.
Ile przerwy przysługuje przy pracy z monitorem? #
Pięć minut po każdej godzinie pracy przy monitorze ekranowym.
Jak powinno być ustawione krzesło przy komputerze? #
Stopy płasko na podłodze, kolana pod kątem prostym, oparcie podpierające odcinek lędźwiowy.
Skąd powinno padać światło na stanowisku komputerowym? #
Z boku, prostopadle do ekranu. Światło od przodu oślepia, od tyłu daje odbicia na monitorze.
Jakie choroby zawodowe grożą przy pracy z komputerem? #
Zespół cieśni nadgarstka, wady postawy, zespół suchego oka i przemęczenie wzroku.
Jaka jest kolejność działań przy porażeniu prądem? #
Najpierw odłączyć źródło prądu, dopiero potem dotknąć poszkodowanego. Następnie sprawdzić oddech i wezwać pomoc.
Jaką gaśnicą gasi się urządzenia pod napięciem? #
Śniegową albo proszkową. Wodą i pianą nie wolno — przewodzą prąd.
Jaki jest numer alarmowy w Polsce? #
112. Pogotowie to 999, straż pożarna 998.

Porty i protokoły

ProtokółPortDo czego
HTTP80Strony WWW bez szyfrowania
HTTPS443Strony WWW szyfrowane TLS
FTP20, 21Przesyłanie plików na serwer
SSH22Szyfrowany zdalny dostęp do serwera
SMTP25Wysyłanie poczty
DNS53Zamiana nazwy domeny na adres IP
POP3110Pobieranie poczty z serwera
IMAP143Poczta synchronizowana z serwerem
MySQL3306Połączenie z serwerem bazy danych

Sprawdź się: 3 pytania z tematu Sieci, protokoły i internet

  1. Adres 192.168.1.10 z maską 255.255.255.0 należy do sieci:

  2. Domyślny port protokołu HTTPS to:

  3. Protokół SMTP służy do:

Pytania testowe: Podstawy i bezpieczeństwo (212) → Ten temat ma w aplikacji 187 fiszek z powtórkami.

Teoria INF.03: Angielski zawodowy

Słownictwo z dokumentacji i narzędzi oraz komunikaty błędów, które trzeba zrozumieć na egzaminie.

query, table, row, column #
zapytanie, tabela, wiersz, kolumna
stylesheet, tag, attribute, nested #
arkusz stylów, znacznik, atrybut, zagnieżdżony
Co znaczy komunikat „Undefined variable”? #
Użyto zmiennej, która nie została wcześniej zadeklarowana ani nie ma wartości.
Co znaczy „Access denied for user”? #
Odmowa dostępu do bazy — złe dane logowania albo brak uprawnień użytkownika.
Co znaczy „Unexpected end of file”? #
Nieoczekiwany koniec pliku — najczęściej brak domykającego nawiasu klamrowego.
primary key, foreign key, constraint, index #
klucz główny, klucz obcy, ograniczenie, indeks
request, response, client, server #
żądanie, odpowiedź, klient, serwer
upload, download, backup, restore #
wysłać na serwer, pobrać, kopia zapasowa, przywrócić
bug, debug, deploy, rollback #
błąd, diagnozować błąd, wdrożyć, wycofać wdrożenie
Co oznacza komunikat „Access denied”? #
Odmowa dostępu — brak uprawnień albo złe dane logowania.
Co oznacza „Connection refused”? #
Połączenie odrzucone — usługa nie działa na tym porcie albo blokuje ją zapora.
Co oznacza „Timeout”? #
Przekroczenie limitu czasu — druga strona nie odpowiedziała na czas.
Co oznacza „Permission denied”? #
Brak uprawnień do pliku albo katalogu — trzeba zmienić prawa dostępu.
Co oznacza „File not found”? #
Nie znaleziono pliku — zła ścieżka, literówka albo inna wielkość liter w nazwie.
Co oznacza „Duplicate entry”? #
Zduplikowany wpis — próba wstawienia wartości, która musi być unikalna.
Co oznacza „Unknown column”? #
Nieznana kolumna — literówka w nazwie albo brak złączenia z tabelą, w której ta kolumna jest.
Co oznacza „Headers already sent”? #
Nagłówki zostały już wysłane — coś zostało wypisane przed header() albo session_start().
Co oznacza „Call to undefined function”? #
Wywołanie nieistniejącej funkcji — literówka albo brak wymaganego rozszerzenia PHP.
Co oznacza „Cannot modify header information”? #
Nie można zmienić nagłówka — ta sama przyczyna co przy „headers already sent”.
Co oznacza „Deprecated”? #
Przestarzałe — element nadal działa, ale zostanie usunięty w kolejnych wersjach.
Co oznacza „Default value”? #
Wartość domyślna — używana, gdy nie podano innej.
Co oznacza „Required field”? #
Pole wymagane — nie można wysłać formularza bez jego wypełnienia.
Co oznacza „Submit”? #
Wyślij — zatwierdzenie formularza.
Co oznacza „Reset” w kontekście formularza? #
Wyczyść — przywrócenie polom wartości początkowych.
Co oznacza „Sign in” a „Sign up”? #
„Sign in” to zaloguj się, „Sign up” to załóż konto.
Co oznacza „Log out”? #
Wyloguj się — zakończenie sesji użytkownika. „Log in” to zaloguj się.
Co oznacza „Password must contain at least 8 characters”? #
Hasło musi zawierać co najmniej 8 znaków.
Co oznacza „Confirm password”? #
Powtórz hasło — pole kontrolne przy zakładaniu konta.
Co oznacza „Remember me”? #
Zapamiętaj mnie — utrzymanie zalogowania po zamknięciu przeglądarki.
Co oznacza „Query”? #
Zapytanie — polecenie wysłane do bazy danych.

Słówka z komunikatów i dokumentacji

Po angielskuPo polsku
deprecatedprzestarzały, wycofywany
syntax errorbłąd składni
not foundnie znaleziono
permission deniedbrak uprawnień
timeoutprzekroczony czas oczekiwania
warningostrzeżenie
attribute / propertyatrybut (HTML) / właściwość (CSS, JS)
queryzapytanie (kwerenda)

Sprawdź się: 3 pytania z tematu Angielski zawodowy

  1. Komunikat „Permission denied” podczas wysyłania plików na serwer oznacza:

  2. Komunikat „request timed out” oznacza, że:

  3. Komunikat „Syntax error” oznacza:

Pytania testowe: Angielski zawodowy (23) → Ten temat ma w aplikacji 108 fiszek z powtórkami.

Teoria INF.03: Jak wygląda egzamin INF.03

Czas, progi, przebieg części pisemnej i praktycznej oraz to, co robić krok po kroku na sali.

Ile trwa część praktyczna INF.03 i jaki jest próg? #
150 minut, próg 75%.
Gdzie sprawdzisz, jakie rezultaty są oceniane w części praktycznej? #
W swoim arkuszu i jego zasadach oceniania. Liczba i podział rezultatów zależą od zadania.
Ile pytań i ile czasu ma część pisemna? Jaki próg? #
40 pytań, 60 minut, próg 50%.
Jaka jest pierwsza czynność po zalogowaniu na egzaminie? #
Utworzenie folderu z numerem zdającego i podfolderów, jeszcze przed otwarciem edytora.
Od którego rezultatu najlepiej zacząć i dlaczego? #
Od grafiki — trwa najkrócej i daje najpewniejsze punkty. Skrypt zostaw na koniec.
Co zrobić, gdy skrypt nie działa? #
Zostawić kod i oddać go tak, jak jest. Cztery rezultaty oceniane są osobno, więc niedziałający skrypt nie zeruje punktów za witrynę i bazę.
Dlaczego nazwy plików trzeba przepisywać z arkusza znak po znaku? #
Oceniany mechanizm lub egzaminator szuka pliku pod podaną nazwą. Inna wielkość liter, rozszerzenie albo folder mogą odebrać punkty mimo poprawnej zawartości.
Co powinien pokazywać wymagany zrzut ekranu? #
Cały wymagany obszar: otwarte narzędzie, wykonane polecenie lub wynik, a jeśli arkusz tego wymaga także pasek zadań. Nie kadruj ważnych dowodów.
Po co przeczytać cały arkusz przed rozpoczęciem kodowania? #
Żeby wypisać nazwy plików, kolory, rozmiary, zależności między zadaniami i potrzebne zrzuty. Pięć minut planu chroni przed kosztownym cofnięciem pracy.
Na co przeznaczyć ostatnie 15 minut części praktycznej? #
Na sprawdzenie nazw i folderów, otwarcie strony, kontrolę bazy, wykonanie zrzutów oraz weryfikację nośnika lub archiwum.
Co sprawdzić zaraz po imporcie bazy danych? #
Czy powstała właściwa baza i tabele, czy są rekordy oraz czy polskie znaki wyświetlają się poprawnie. Nie zakładaj, że sam komunikat importu wystarcza.
Czy usuwać niedokończony fragment rozwiązania? #
Nie, jeśli nie psuje pozostałych rezultatów. Częściowe wykonanie może dostać punkty, a rezultaty grafiki, witryny, bazy i skryptu są oceniane osobno.
Od czego zacząć część praktyczną? #
Od przeczytania CAŁEGO arkusza przez pierwsze pięć minut i zaznaczenia wymaganych nazw plików, folderu i zrzutów.
Jaka kolejność rezultatów jest najbezpieczniejsza? #
Grafika (najszybsza, pewne punkty), potem witryna, baza ze zrzutami, na końcu skrypt. Ostatnie 15 minut na kontrolę.
Co zrobić, gdy utkniesz na jednym poleceniu? #
Po pięciu minutach zostawić działający fragment i przejść dalej. Niedokończona sekcja może dostać część punktów, pusty plik nie dostanie żadnych.
Dlaczego niedokończony skrypt nie przekreśla egzaminu? #
Punkty przyznaje się za spełnione kryteria. Niedokończony skrypt nie zeruje poprawnie wykonanych elementów innych rezultatów.
Gdzie zapisuje się pracę na egzaminie? #
W folderze o nazwie podanej w arkuszu, zwykle z numerem zdającego, na wskazanym nośniku.
Co zrobić na koniec z nośnikiem? #
Sprawdzić, czy wszystkie pliki się otwierają, i opisać nośnik numerem zdającego zgodnie z instrukcją.
Czy nazwy plików mają znaczenie? #
Tak, decydujące. Oceniający szuka dokładnie tych nazw z arkusza — literówka albo złe rozszerzenie to utrata punktów.
Jak udokumentować wykonanie kwerend? #
Zapisując treść zapytań w pliku tekstowym i dołączając zrzuty ekranu z widocznym wynikiem, jeśli arkusz tego wymaga.
Co powinien zawierać zrzut ekranu z bazy? #
Widoczną treść zapytania i jego wynik. Sam wynik bez zapytania bywa nieuznawany.
Jak sprawdzić pracę przed oddaniem? #
Otworzyć stronę od nowa, kliknąć każdy odnośnik i przycisk, wykonać kwerendy i porównać listę plików z arkuszem.
Czy wolno korzystać z internetu na egzaminie? #
Nie. Dostępne są tylko materiały i oprogramowanie przygotowane na stanowisku.
Co można wnieść na stanowisko? #
Wyłącznie to, co dopuszcza komunikat dyrektora CKE — zwykle długopis i dokument tożsamości.
Jak liczony jest czas na egzaminie praktycznym? #
Od ogłoszenia rozpoczęcia. 150 minut obejmuje wszystko — także zapis plików i porządkowanie nośnika.
Co zrobić w razie awarii komputera podczas egzaminu? #
Natychmiast zgłosić to przewodniczącemu zespołu nadzorującego. Czas może zostać przedłużony.
Czy można poprawić egzamin zawodowy? #
Tak, w kolejnych sesjach. Poprawia się tylko tę część, której nie zdano.
Co znaczy, że oceniany jest rezultat, a nie proces? #
Że liczy się plik oddany na nośniku. Sposób dojścia do wyniku ani otwarte okna nie mają znaczenia.
Dlaczego warto przepisywać wartości z arkusza dokładnie? #
Bo kryteria sprawdzają konkretne liczby i teksty. „Około 10 pikseli” albo skrócony nagłówek nie zaliczą się.
Jak zaplanować 150 minut? #
Przykładowo: 0–10 przygotowanie, 10–30 grafika, 30–75 witryna, 75–105 baza i zrzuty, 105–135 skrypt, 135–150 kontrola.

Część pisemna a praktyczna

Część pisemnaCzęść praktyczna
FormaTest: 40 pytań zamkniętychZadanie na komputerze: strona, baza, skrypt, grafika
Czas60 minut150 minut
Próg zdania50% (20 z 40)75%
Jak się uczyćKompendium + pytania testowe z wyjaśnieniamiArkusze CKE z poprzednich sesji, pisane od zera

Test 40 pytań w 60 minut → Ten temat ma w aplikacji 66 fiszek z powtórkami.

Język arkusza → kod

Arkusz opisuje wymagania słowami. Tak tłumaczą się najczęstsze sformułowania z poleceń CKE.

W arkuszu pisząW kodzie to
„odnośnik zmienia kolor po najechaniu kursorem”pseudoklasa a:hover
„pierwsza litera akapitu powiększona”pseudoelement p::first-letter
„płynna zmiana koloru w czasie 0,3 s”transition: 0.3s
„komórka zajmuje dwa wiersze”atrybut rowspan="2"
„blok wyśrodkowany w poziomie”margin: 0 auto plus ustalona szerokość
„dane przekazane w pasku adresu”metoda GET, odbiór przez $_GET
„dane przekazane w sposób niewidoczny dla użytkownika”metoda POST, odbiór przez $_POST
„wyświetl wszystkie rekordy, także bez dopasowania”LEFT JOIN
„wyświetl tylko pasujące pary rekordów”INNER JOIN
„policz ile rekordów w każdej grupie”COUNT plus GROUP BY
„wybierz grupy spełniające warunek”HAVING, nie WHERE
„wylosuj trzy rekordy”ORDER BY RAND() LIMIT 3
„pole nie może być puste”NOT NULL w bazie, required w formularzu
„wartość unikalna w całej tabeli”więz UNIQUE
„identyfikator nadawany automatycznie”AUTO_INCREMENT na kluczu głównym
„użytkownik z prawem tylko do odczytu”GRANT SELECT ON baza.* TO ...
„zapisz dane w pamięci przeglądarki”localStorage.setItem()
„zmień treść elementu skryptem”element.innerHTML albo textContent

Teoria INF.03 — najczęstsze pytania

Co obejmuje teoria INF.03?

Część pisemna egzaminu INF.03 sprawdza wiedzę z całej kwalifikacji: HTML i CSS, grafikę na potrzeby stron, bazy danych i SQL, PHP i JavaScript, podstawy informatyki (systemy liczbowe, sieci, protokoły), bezpieczeństwo, BHP, kompetencje społeczne i angielski zawodowy.

Ile pytań ma część teoretyczna INF.03?

Część pisemna to 40 pytań zamkniętych z czterema odpowiedziami, z których jedna jest poprawna. Na rozwiązanie jest 60 minut, a do zdania potrzeba co najmniej 50%, czyli 20 poprawnych odpowiedzi.

Czego najczęściej wymagają arkusze INF.03?

W 152 arkuszach części praktycznej z lat 2018–2026 najczęściej wracają: SELECT (137), Skalowanie obrazu (108), Pseudoklasy (:hover) (88), Formularz (78). Każdy arkusz to strona w HTML i CSS; 101 ma skrypt w PHP, a 51 w JavaScripcie.

Jak najszybciej nauczyć się teorii INF.03?

Najpierw przeczytaj kompendium z tej strony, temat po temacie, i oznaczaj, co już umiesz. Po każdym temacie rozwiąż mini-quiz. Potem rób pytania testowe z wyjaśnieniami — błędne wracają w powtórce. Na koniec kilka testów 40 pytań w 60 minut, żeby oswoić się z formatem.

Kiedy jest egzamin INF.03?

Egzamin zawodowy odbywa się w dwóch sesjach: zimowej (styczeń) i letniej (czerwiec–lipiec). Dokładne daty każdej sesji podaje Centralna Komisja Egzaminacyjna w harmonogramie na dany rok.

Czy teoria przyda się na części praktycznej?

Tak. Część praktyczna INF.03 to ten sam zakres — HTML, CSS, SQL, PHP i JavaScript — tylko zamiast wybierać odpowiedź, piszesz kod. Kto rozumie teorię, szybciej pisze poprawny kod i rzadziej traci punkty na szczegółach.

Czy to kompendium jest darmowe?

Tak, całe, bez konta. Postęp („umiem” i „do powtórki”) oraz plan nauki zapisują się tylko w Twojej przeglądarce.

Przejdź do 2 701 pytań testowych Cała talia 2 729 fiszek z powtórkami czeka w aplikacji EasyINF.

To dopiero część pisemna

Do certyfikatu trzeba też części praktycznej — i tam EasyINF robi różnicę.

Roadmapa od zera, 152 arkusze CKE z rozwiązaniami, warsztat, który sprawdza Twój kod krok po kroku, i próbny egzamin na 150 minut. Jedna platforma, płacisz raz.

Zobacz pełny kurs INF.03