Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 16 kwietnia 2026 23:45
  • Data zakończenia: 17 kwietnia 2026 00:04

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

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

W języku HTML zapisano formularz. Który z efektów działania kodu będzie wyświetlony przez przeglądarkę zakładając, że w pierwsze pole użytkownik przeglądarki wpisał wartość "Przykładowy text"?

Ilustracja do pytania
A. Efekt 1.
B. Efekt 2.
C. Efekt 4.
D. Efekt 3.
Odpowiedź, którą wybrałeś, nie jest poprawna, i wynika to z małego nieporozumienia dotyczącego formularzy HTML. Główna sprawa to to, że wszystko, co wpisujesz w polach formularza, jest pokazywane dopiero po jego przesłaniu. W tym przypadku, jeśli wprowadzisz 'Przykładowy text' w pole tekstowe, to będzie to widoczne, ale checkboxy będą niezaznaczone. Błędne odpowiedzi często pochodzą z mylenia działania checkboxów. Pamiętaj, że te dwa checkboxy są zawsze niezaznaczone, niezależnie od tego, co wprowadziłeś w pole tekstowe. I to, że wartość z pola tekstowego nie wpływa na checkboxy, można uznać za istotne zrozumienie działania formularzy HTML. Także warto zwrócić na to uwagę w przyszłości.

Pytanie 2

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?

$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}
A. Informacja o pomyślnym nawiązaniu połączenia z bazą
B. Przetwarzanie danych uzyskanych z bazy
C. Zamknięcie połączenia z bazą danych
D. Obsługa błędu przy nawiązywaniu połączenia
Obsługa błędu połączenia jest kluczowym elementem przy nawiązywaniu połączenia z bazą danych w PHP. Gdy używamy funkcji mysqli_connect, istotne jest, aby sprawdzić, czy połączenie zostało nawiązane poprawnie. W przypadku, gdy połączenie nie powiedzie się, funkcja mysqli_connect zwraca fałsz. W takich sytuacjach warto zaimplementować odpowiednią obsługę błędów, aby zrozumieć, co poszło nie tak, oraz działania, które powinny być podjęte. Dobrą praktyką jest wykorzystanie funkcji mysqli_connect_errno oraz mysqli_connect_error, które dostarczają szczegółowych informacji o błędzie. Na przykład, można wyświetlić komunikat o błędzie lub zalogować go do pliku w celu dalszej analizy. W ten sposób programista może szybko zidentyfikować problem, czy to związany z błędnym loginem, hasłem, czy problemami z serwerem bazy danych. Implementacja takiej obsługi błędów zwiększa stabilność aplikacji oraz ułatwia późniejsze diagnozowanie problemów, co jest istotne w profesjonalnym środowisku programistycznym.

Pytanie 3

W bazach danych typ DECIMAL jest przeznaczony do przechowywania

A. danych napisowych o określonej długości.
B. liczb zapisanych w systemie binarnym.
C. liczb rzeczywistych zmiennoprzecinkowych.
D. liczb rzeczywistych stałoprzecinkowych.
Poprawnie – typ DECIMAL w bazach danych jest przeznaczony do przechowywania liczb rzeczywistych stałoprzecinkowych, czyli takich, gdzie liczba miejsc po przecinku jest z góry określona i zawsze dokładnie reprezentowana. W definicji kolumny podajemy zwykle dwa parametry, np. DECIMAL(10,2), gdzie 10 to całkowita liczba cyfr, a 2 to liczba cyfr po przecinku. Dzięki temu baza wie, że np. wartość 1234,50 będzie przechowywana bez zaokrągleń binarnych, które występują w typach zmiennoprzecinkowych (FLOAT, DOUBLE). To jest kluczowe w zastosowaniach finansowych: kwoty pieniędzy, stawki VAT, kursy walut, limity kredytowe, rozliczenia magazynowe. W takich miejscach nawet jeden grosz różnicy przy dużej liczbie operacji potrafi narobić bałaganu. Moim zdaniem w projektach produkcyjnych dobra praktyka jest taka, że wszystko, co ma sens biznesowy jako „kwota”, „saldo”, „cena jednostkowa”, „rabat procentowy z dokładnością do dwóch lub czterech miejsc” trzymamy właśnie w DECIMAL/NUMERIC, a nie w FLOAT. Standard SQL definiuje typy DECIMAL i NUMERIC jako typy dokładne (exact numeric), co oznacza, że operacje arytmetyczne na nich są przewidywalne i nie generują dziwnych ogonków typu 1.199999999 zamiast 1.2. W wielu silnikach (MySQL, PostgreSQL, SQL Server) DECIMAL jest implementowany wewnętrznie jako zapis dziesiętny, często podobny do „dużej liczby całkowitej” z wirtualnym przecinkiem w określonym miejscu. Dobrą praktyką jest też dobór precyzji z zapasem, np. DECIMAL(18,4) dla kwot w systemach księgowych, żeby uniknąć przepełnień przy większych sumach. W praktyce webowej, gdy aplikacja PHP czy JavaScript komunikuje się z bazą, to właśnie typ DECIMAL pozwala zachować spójność między tym, co widzi użytkownik na formularzu, a tym, co finalnie zapisuje się w tabeli – bez ukrytych błędów zaokrągleń.

Pytanie 4

Który format graficzny najlepiej nadaje się do zapisu obrazu z przezroczystością do zastosowania w serwisie internetowym?

A. JPG
B. PNG
C. BMP
D. SVG
Format PNG (Portable Network Graphics) jest najlepszym wyborem do zapisu obrazów z przezroczystością przeznaczonych na strony internetowe. PNG obsługuje przezroczystość alpha, co oznacza, że można uzyskać dowolny stopień przezroczystości na pikselach, co jest szczególnie przydatne w przypadku grafik wymagających gładkich przejść lub cieni. Dzięki temu grafiki mogą być umieszczane na różnych tłach bez widocznych krawędzi, co jest kluczowe w designie stron internetowych. Warto również zauważyć, że PNG wykorzystuje kompresję bezstratną, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisu. W praktyce, format PNG jest idealny do logo, ikon, obrazów z tekstem oraz ilustracji, gdzie ważna jest jakość i przezroczystość. Standardy webowe, takie jak WCAG, również zalecają używanie formatów, które zapewniają dostępność, a PNG doskonale wpisuje się w te wymagania, umożliwiając tworzenie estetycznych i funkcjonalnych stron. Ponadto, wsparcie dla formatu PNG jest szerokie, co zapewnia jego uniwersalność w różnych przeglądarkach i na różnych urządzeniach.

Pytanie 5

Deklarując var x="true"; w języku JavaScript, jakiego typu zmienną się tworzy?

A. logicznym
B. nieokreślonym (undefined)
C. string (ciąg znaków)
D. liczbowym
W języku JavaScript, deklaracja zmiennej za pomocą var x="true"; tworzy zmienną o typie string, co oznacza, że jest to ciąg znaków. Wartość "true" w tym przypadku jest interpretowana dosłownie jako tekst i nie ma związku z wartością logiczną typu boolean, która również może być używana w JavaScript. Typ string jest jednym z podstawowych typów danych w tym języku i jest używany do reprezentowania tekstu. Zmienne typu string mogą zawierać litery, cyfry oraz znaki specjalne i są otaczane cudzysłowami, jak w tym przypadku. W praktyce programiści często używają stringów do przechowywania danych wejściowych od użytkowników, komunikatów oraz wszelkiego rodzaju informacji tekstowych. Warto zauważyć, że w ECMAScript 6 (ES6) wprowadzono również let oraz const do deklaracji zmiennych, ale zasada dotycząca typów danych pozostaje taka sama. Należy także zwrócić uwagę, że typy danych w JavaScript są dynamiczne, co oznacza, że można przypisać różne typy wartości do tej samej zmiennej w różnych momentach. Na przykład, po przypisaniu stringa, możemy przypisać liczbę lub obiekt do tej samej zmiennej, co pokazuje elastyczność JavaScriptu jako języka programowania.

Pytanie 6

Zapis tagu HTML w formie <a href="#hobby">przejdź</a>?

A. jest błędny, w atrybucie href trzeba wpisać adres URL
B. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o adresie "hobby"
C. jest błędny, niepoprawnie użyto znaku "#" w atrybucie href
D. jest poprawny, po kliknięciu w odnośnik aktualna strona zostanie przewinięta do elementu o nazwie "hobby"
Myślenie, że znacznik <a href="#hobby">przejdź</a> jest błędny, bo używasz znaku '#' w href, jest trochę mylące. Ten znak '#' to normalny sposób, żeby wskazać lokalne odnośniki na tej samej stronie, co jest zgodne z regułami HTML. Nie jest prawdą, że musi być cały adres URL, bo lokalne identyfikatory są jak najbardziej w porządku. Często spotykam się z przekonaniem, że href zawsze powinien prowadzić do zewnętrznego linku, a to nieprawda. Wiele stron korzysta z lokalnych linków, co naprawdę sprawdza się w długich treściach, pozwalając użytkownikom szybko przechodzić do tych sekcji, które ich interesują. Nie można też myśleć, że tylko absolutne identyfikatory w href są jedynym słusznym rozwiązaniem, bo to podejście z lokalnymi odnośnikami jest powszechnie akceptowane i sprawdza się w praktyce.

Pytanie 7

W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?

A. SELECT tytul FROM ksiazki
B. SELECT tytul, data_wypoz FROM ksiazki WHERE data_wypoz = CURRDATENT_E()
C. SELECT * FROM ksiazki
D. SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE()
Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz zarządzania danymi.

Pytanie 8

Jakie rozwiązanie należy zastosować w przechowywaniu danych, aby przyspieszyć wykonywanie zapytań w bazie danych?

A. Zasady.
B. Klucze podstawowe.
C. Domyślne wartości.
D. Indeksy.
Indeksy są kluczowym elementem optymalizacji wydajności baz danych. Działają one jak wskaźniki, które pozwalają systemowi zarządzania bazą danych (DBMS) szybko zlokalizować dane bez potrzeby przeszukiwania całej tabeli. Indeksy są szczególnie przydatne przy wykonywaniu zapytań, które filtrują, sortują lub łączą dane z różnych tabel. Na przykład, w przypadku dużych zbiorów danych, dodanie indeksu do kolumny, która jest często używana w klauzulach WHERE, może znacznie skrócić czas odpowiedzi. W standardzie SQL, można tworzyć indeksy za pomocą polecenia CREATE INDEX, co pozwala na zdefiniowanie, które kolumny mają być indeksowane. Warto jednak pamiętać, że nadmiar indeksów może prowadzić do spowolnienia operacji zapisu, dlatego ważne jest, aby dobrze przemyśleć, które kolumny powinny być indeksowane. Użycie indeksów jest szczególnie zalecane w przypadku aplikacji, które często wykonują zapytania na dużych zbiorach danych, takich jak systemy e-commerce czy aplikacje analityczne.

Pytanie 9

Zapis CSS postaci:

 ul {
    list-style-image: url('rys.gif');
}

sprawi, że na stronie internetowej
A. punktorem listy nienumerowanej będzie rys.gif
B. każdy z punktów listy będzie miał osobne tło pobrane z grafiki rys.gif
C. rys.gif będzie stanowił ramkę dla listy nienumerowanej.
D. wyświetli się rysunek rys.gif jako tło listy nienumerowanej.
Gratulacje! Poprawnie zidentyfikowałeś, że w podanym kodzie CSS, obrazek 'rys.gif' będzie służył jako punktor listy nienumerowanej. Według standardów CSS, właściwość list-style-image jest używana do określenia obrazka, który będzie używany jako punktor w liście nienumerowanej. Zasada ta jest bardzo przydatna, kiedy chcemy stworzyć niestandardowe punktory listy, które lepiej pasują do designu naszej strony. Możemy użyć dowolnego obrazka, który jest dostępny online lub zasobu z naszej lokalnej przestrzeni roboczej. Pamiętaj jednak, że obrazek powinien być mały i czytelny. W tym konkretnym przypadku, obrazek 'rys.gif' zostanie ustawiony jako punktor dla każdego elementu listy <li> wewnątrz listy nienumerowanej <ul>. Używając tej techniki, możemy stworzyć atrakcyjniejsze i bardziej interaktywne listy na naszej stronie internetowej.

Pytanie 10

Jakie parametry powinny być ustawione w funkcji biblioteki mysqli, aby umożliwić połączenie z serwerem oraz bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
B. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
C. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
D. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
W przypadku niepoprawnych odpowiedzi można zauważyć typowe błędy związane z zrozumieniem argumentów funkcji mysqli_connect. Wiele osób myli kolejność zmiennych oraz ich znaczenie. Na przykład, podanie adresu serwera jako $c lub $d jest błędne, ponieważ pierwszy argument zawsze powinien wskazywać na adres serwera. Warto również zwrócić uwagę na znaczenie loginu i hasła – nie można ich zamieniać miejscami, ponieważ każdy z tych parametrów pełni inną funkcję w kontekście autoryzacji do bazy danych. W ramach dobrych praktyk programistycznych, istotne jest także stosowanie raz jeszcze uwierzytelnienia użytkownika, co pozwala uniknąć nieautoryzowanego dostępu do danych. Przykłady niepoprawnych odpowiedzi pokazują też, że błędne przypisanie nazw bazy danych do zmiennych może prowadzić do błędów w aplikacji, co w efekcie utrudnia jej działanie oraz zwiększa ryzyko wycieków danych. Kluczowe jest zrozumienie, że każdy parametr pełni specyficzną rolę w tworzeniu połączenia. Niezrozumienie tego kontekstu może prowadzić do trudności w dalszym programowaniu oraz w diagnostyce problemów z bazą danych.

Pytanie 11

Jakim słowem kluczowym można zainicjować zmienną w JavaScript?

A. new
B. var
C. instanceof
D. variable
W języku JavaScript, deklaracja zmiennej przy użyciu słowa kluczowego 'var' jest jednym z podstawowych i fundamentalnych aspektów programowania. Słowo kluczowe 'var' umożliwia tworzenie zmiennych, które mogą przechowywać wartości zarówno typu prymitywnego, jak i obiektowego. Wartością dodaną użycia 'var' jest to, że zmienne zadeklarowane w ten sposób mają zasięg funkcji, co oznacza, że są dostępne w obrębie funkcji, w której zostały zadeklarowane, jak również w zasięgu globalnym, jeśli zostały zdefiniowane poza funkcją. Przykład użycia 'var': var liczba = 10; zmienna 'liczba' jest teraz dostępna w obrębie całej funkcji. Warto również zauważyć, że w nowszych standardach JavaScript, takich jak ECMAScript 6, wprowadzono dodatkowe słowa kluczowe takie jak 'let' i 'const', które oferują bardziej precyzyjny zasięg blokowy i zwiększają bezpieczeństwo kodu. 'Var' pozostaje jednak ważnym elementem do zrozumienia dla każdego programisty JavaScript, ponieważ jest fundamentem, na którym opiera się wiele starszych i nadal używanych skryptów.

Pytanie 12

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

A. Progowanie.
B. Inwersja.
C. Krzywe.
D. Barwienie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 13

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?
A. DROP FROM `uczniowie` WHERE data_ur == #-06-#
B. DELETE FROM `uczniowie` WHERE data_ur LIKE "?-06-?"
C. DROP FROM `uczniowie` WHERE data_ur LIKE "06"
D. DELETE FROM `uczniowie` WHERE data_ur LIKE "%-06-%"
W tym zadaniu kluczowe jest zrozumienie trzech rzeczy: poprawnej składni SQL, sposobu zapisu daty w bazie oraz działania operatora LIKE. Jeśli któryś z tych elementów „siądzie”, to całe zapytanie przestaje mieć sens. Nie można na przykład używać słowa kluczowego DROP zamiast DELETE. DROP służy do usuwania całych obiektów bazodanowych, takich jak tabele czy bazy danych (np. DROP TABLE uczniowie;), a nie pojedynczych rekordów. Użycie DROP z klauzulą WHERE jest po prostu niepoprawne składniowo i w MySQL takie zapytanie się nie wykona. To jest dość typowy błąd: pomylenie operacji na strukturze bazy danych z operacjami na danych. Druga sprawa to porównywanie daty. W SQL nie stosujemy operatora „==”, to nie jest JavaScript ani C++. Standardowy operator porównania to pojedynczy znak równości „=”. Dodatkowo zapis typu #-06-# nie ma żadnego sensu w MySQL, wygląda raczej jak składnia z innych środowisk (np. Access). MySQL oczekuje albo literalnej wartości daty w formacie 'YYYY-MM-DD', albo użycia funkcji, albo poprawnego wzorca tekstowego. Kolejny częsty błąd to używanie LIKE z nieprawidłowym wzorcem. W MySQL wildcardami są „%” (dowolny ciąg znaków, także pusty) oraz „_” (dokładnie jeden dowolny znak). Znaki „?” nie pełnią roli symbolu zastępczego w standardowym SQL, więc wzorzec "?-06-?" po prostu nie zadziała tak, jak ktoś mógłby się spodziewać. Trzeba też pamiętać, że data jest zapisana w formacie 'RRRR-MM-DD', więc dopasowanie po samym „06” bez myślników jest ryzykowne – mogłoby trafić w inne fragmenty ciągu, a nie w sam miesiąc. Z mojego doświadczenia wynika, że najlepszym nawykiem jest zawsze myślenie: jaki dokładnie ciąg znaków stoi w kolumnie i jakim wzorcem LIKE mogę go jednoznacznie złapać, zamiast zgadywać składnię czy mieszać składnie z różnych technologii.

Pytanie 14

W jakich formatach można przechować wideo razem z dźwiękiem?

A. MP4
B. WAV
C. WMA
D. AAC
MP4 to jeden z najbardziej popularnych formatów plików multimedialnych, który jest szeroko stosowany do zapisywania materiałów wideo wraz ze ścieżkami dźwiękowymi. MP4, jako kontener, obsługuje różne kodeki wideo, takie jak H.264, a także kodeki audio, w tym AAC. Dzięki tej wszechstronności, format MP4 jest idealny do przechowywania zarówno obrazu, jak i dźwięku w jednym pliku, co jest kluczowe dla wielu zastosowań, od streamingu wideo po przechowywanie lokalne. MP4 jest zgodny z wieloma platformami i urządzeniami, co czyni go standardem dla treści wideo w Internecie. Przykładem zastosowania MP4 mogą być platformy takie jak YouTube, gdzie użytkownicy przesyłają filmy w tym formacie, aby zapewnić wysoką jakość obrazu i dźwięku. Warto również zauważyć, że MP4 wspiera różne metadane, co umożliwia dodawanie informacji o pliku, takich jak tytuł, artysta czy okładka albumu. Dzięki tym wszystkim właściwościom, MP4 jest niezastąpionym formatem w dziedzinie multimediów.

Pytanie 15

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
B. <link rel="Stylesheet" type="text/css" href="styl.css" />
C. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
D. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
Przy analizie pozostałych odpowiedzi można dostrzec pewne powszechne błędy w rozumieniu ścieżek do zasobów w dokumentach HTML. W pierwszej odpowiedzi, użycie ścieżki 'www/style/styl.css' sugeruje, że autor zakłada, że jest to pełna ścieżka dostępu, co jest mylące, ponieważ taka ścieżka nie jest względna w kontekście pliku HTML znajdującego się w folderze 'html'. Ponadto, użycie dużych liter w atrybucie 'rel' (np. 'Stylesheet') jest niepoprawne, ponieważ HTML jest językiem case-insensitive, lecz konwencjonalnie zaleca się używanie małych liter. Druga odpowiedź, wskazująca na '/style/styl.css', implikuje, że 'style' jest umiejscowione w katalogu głównym serwera, co również jest błędne w kontekście podanej struktury folderów. Takie podejście jest typowym błędem przy zrozumieniu relatywnych i bezwzględnych ścieżek URL. Ostatnia odpowiedź, 'styl.css', zakłada, że plik CSS znajduje się w tym samym folderze co plik HTML, co nie odpowiada rzeczywistości w przedstawionym układzie folderów. Wszyscy, którzy pracują nad projektami webowymi, muszą zrozumieć, jak ważne jest precyzyjne określenie lokalizacji zasobów, ponieważ błędy te mogą prowadzić do ładowania nieprawidłowych plików, co w efekcie negatywnie wpływa na wygląd i funkcjonalność strony. Wiedza na temat struktury folderów oraz umiejętność nawigacji po nich jest kluczowym elementem w pracy programisty.

Pytanie 16

Instrukcja REVOKE SELECT ON nazwa1 FROM nazwa2 w SQL pozwala na

A. przyznawanie praw dostępu do tabeli
B. przyznawanie uprawnień za pomocą ustalonego schematu
C. pozbawianie użytkownika uprawnień
D. usuwanie konta użytkownika z bazy danych
Pierwsza z błędnych odpowiedzi dotyczy nadawania uprawnień przy użyciu schematu, co jest trochę mylące. REVOKE nie nadaje, a odbiera uprawnienia. Wiele osób to myli, co prowadzi do zamieszania w zarządzaniu uprawnieniami. Kolejna nieprawidłowa odpowiedź mówi o usuwaniu użytkownika z bazy, co też jest błędne, bo REVOKE nie usuwa kont, a tylko zmienia uprawnienia. Kluczowe jest, żeby rozumieć różnicę między zarządzaniem uprawnieniami a użytkownikami. Ostatnia z błędnych odpowiedzi sugeruje, że to polecenie nadaje prawa do tabeli, a to totalnie mija się z prawdą, bo jego zadaniem jest właśnie odbieranie takich uprawnień. Z mojego doświadczenia, przydatne jest stosowanie GRANT do nadawania uprawnień, żeby uniknąć zamieszania. W zarządzaniu bazami danych ważne jest, żeby wiedzieć, jakie operacje dotyczą bezpieczeństwa danych i jak je właściwie stosować, żeby wszystko działało jak należy.

Pytanie 17

Jakie zapytanie SQL umożliwi wyszukanie z podanej tabeli tylko imion i nazwisk pacjentów, którzy przyszli na świat przed rokiem 2002?

Ilustracja do pytania
A. SELECT * FROM Pacjenci WHERE rok_urodzenia LIKE 2002
B. SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002
C. SELECT * FROM Pacjenci WHERE rok_urodzenia <= 2002
D. SELECT imie, nazwisko FROM Pacjenci WHERE data_ostatniej_wizyty < 2002
To zapytanie SQL, które napisałeś, czyli SELECT imie, nazwisko FROM Pacjenci WHERE rok_urodzenia < 2002, jest całkiem trafione. Po pierwsze, używasz operatora SELECT, żeby wskazać, jakie kolumny chcesz zwrócić - czyli imię i nazwisko. To jest dokładnie to, co było potrzebne. Po drugie, warunek WHERE z rokiem urodzenia zapewnia, że do wyników dostają się tylko pacjenci, którzy przyszli na świat przed 2002 rokiem. No i to jest ważne, bo masz tutaj operator mniejszości <, który wyklucza sam rok 2002. Takie podejście jest super przydatne w bazach danych, bo pozwala na filtrowanie informacji w oparciu o lata, co często wykorzystuje się w raportach i analizach. Generalnie, dobre praktyki w SQL mówią, że warto precyzyjnie określać, jakie kolumny chcesz uwzględnić, bo to pomaga odciążyć system i zrobione zapytanie będzie działać wydajniej. Twoje zapytanie nie tylko spełnia wymagania, ale także jest optymalne, co jest naprawdę istotne w pracy z bazami danych.

Pytanie 18

Podaj słowo kluczowe w języku C++, które umieszczane przed wbudowanym typem danych, umożliwia przyjmowanie jedynie nieujemnych wartości liczbowych?

A. long
B. const
C. unsigned
D. short
Słowo kluczowe 'unsigned' w języku C++ jest używane do deklaracji zmiennych, które będą przechowywać tylko wartości nieujemne. Oznacza to, że zmienna zadeklarowana jako 'unsigned int' będzie miała zakres od 0 do 4 294 967 295 (dla 32-bitowej reprezentacji), co podwaja maksymalną wartość w porównaniu do standardowego 'int', który może przyjmować wartości od -2 147 483 648 do 2 147 483 647. Zastosowanie 'unsigned' jest szczególnie przydatne w sytuacjach, gdzie negatywne wartości nie mają sensu, jak w przypadku liczników, indeksów tablic czy operacji na bitach. Przykład zastosowania: w pętli for, gdy iterujemy przez elementy tablicy, możemy użyć 'unsigned int' dla indeksu, aby upewnić się, że nie przyjmiemy błędnej wartości indeksu, co mogłoby prowadzić do nieprzewidzianych błędów. W praktyce, stosowanie 'unsigned' wspiera bezpieczeństwo i integralność danych, a także zwiększa zakres wartości, które można przechowywać.

Pytanie 19

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".
B. bezpośrednie wpisanie do zmiennej osoba wartości "Adam".
C. wyświetlenie okna z pustym polem edycyjnym.
D. pobranie z formularza wyświetlonego na stronie HTML imienia "Adam".
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 20

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. /*
B. #
C. //
D. ?
Odpowiedź '//', stosowana w języku JavaScript, jest poprawnym zapisem komentarza jednoliniowego. Komentarze jednowierszowe rozpoczynają się od podwójnego ukośnika, co oznacza, że wszystko, co znajduje się po tym znaku w danym wierszu, jest ignorowane przez interpreter. Używanie komentarzy jest kluczowe w procesie programowania, ponieważ pozwala na dodawanie notatek, które mogą wyjaśniać logikę kodu lub przypominać o jego funkcji innym programistom oraz przyszłemu ja. Na przykład, jeśli mamy kod odpowiedzialny za obliczenia, można dodać komentarz wyjaśniający, co dokładnie robi dany blok kodu, co ułatwia utrzymanie kodu i jego późniejsze modyfikacje. Komentarze są niezwykle ważne w kontekście dobrych praktyk programistycznych, takich jak DRY (Don't Repeat Yourself) oraz KISS (Keep It Simple, Stupid), pomagając w utrzymaniu przejrzystości i czytelności kodu. Standardy ECMAScript, na których oparty jest JavaScript, jasno definiują sposób użycia komentarzy, co czyni ich stosowanie nie tylko praktyką, ale również zgodnością z normami branżowymi.

Pytanie 21

Hermetyzacja to zasada programowania obiektowego mówiąca o tym, że

A. typy pól w klasach/obiektach mogą być dynamicznie zmieniane w zależności od danych im przypisywanych.
B. klasy mogą współdzielić ze sobą funkcjonalność.
C. klasy mogą mieć zdefiniowane metody wirtualne, które są implementowane w pochodnych klasach.
D. pola i metody wykorzystywane tylko przez daną klasę są ograniczane zasięgiem private lub protected.
Poprawnie – hermetyzacja (encapsulation) w programowaniu obiektowym polega właśnie na ukrywaniu szczegółów implementacji klasy i ograniczaniu dostępu do pól oraz metod, które nie powinny być widoczne na zewnątrz. W praktyce oznacza to stosowanie modyfikatorów dostępu takich jak private i protected do elementów, które są wykorzystywane tylko wewnątrz danej klasy lub hierarchii dziedziczenia. Kod zewnętrzny widzi wtedy tylko to, co jest wystawione jako public, czyli oficjalny interfejs klasy. Z mojego doświadczenia to jest jedna z kluczowych rzeczy, która odróżnia „klepanie kodu” od pisania rozsądnie zaprojektowanego oprogramowania. Dzięki hermetyzacji można bezpiecznie zmieniać wnętrze klasy (np. sposób przechowywania danych, algorytmy) bez psucia kodu, który z tej klasy korzysta. Przykład: w klasie KontoBankowe pola takie jak saldo, numer konta czy historia operacji powinny być private, a dostęp do nich powinien odbywać się przez metody typu wplac(), wyplac(), pobierzSaldo(). Użytkownik klasy nie ma prawa bezpośrednio ustawiać salda, bo mógłby ominąć logikę biznesową, np. sprawdzanie limitu czy blokady konta. W językach takich jak Java, C++, C#, ale też w nowoczesnym TypeScript czy w podejściu obiektowym w PHP i JavaScript, dobre praktyki mówią jasno: pola klasy domyślnie robimy prywatne, a udostępniamy tylko to, co naprawdę musi być publiczne. Moim zdaniem to jedna z najważniejszych zasad SOLID (dokładniej – silnie się z nimi łączy), bo wymusza tworzenie małych, spójnych i bezpiecznych interfejsów. W większych projektach webowych, np. w aplikacjach backendowych w PHP lub JS/TS, brak hermetyzacji szybko kończy się „makaronem zależności”, gdzie jedna zmiana w polu klasy rozwala pół systemu. Dlatego branżowo uznaje się hermetyzację za absolutny standard projektowania obiektowego, a łamanie jej za klasyczny „code smell”.

Pytanie 22

W instrukcji warunkowej w języku JavaScript należy zweryfikować sytuację, w której zmienne a i b są większe od zera, przy czym zmienna b nie przekracza wartości 100. Taki warunek powinien być zapisany w następujący sposób:

A. if (a > 0 && b > 0 && b < 100) ...
B. if (a>0 || b> 0 || b > 100) ...
C. if (a > 0 && b > 0 || b > 100) ...
D. if (a>0 || (b> 0 && b<100)) ...
W przypadku niepoprawnych odpowiedzi można zauważyć, że wszystkie one zawierają błędy dotyczące operatorów logicznych. Pierwszy błąd polega na użyciu operatora '||' (OR) w sytuacji, gdy wymagane są wszystkie warunki prawdziwe. Użycie operatora '||' oznacza, że wystarczy, aby jeden z warunków był spełniony, co nie jest zgodne z założeniem pytania. W jednej z odpowiedzi pojawia się zastosowanie operatora '||' w kontekście zmiennej 'b', co może prowadzić do sytuacji, w której program wejdzie do bloku kodu, mimo że 'b' jest większe lub równe 100. To nie jest zgodne z wymaganym warunkiem, który jasno mówi, że 'b' musi być mniejsze od 100. Kolejny typowy błąd myślowy to stosowanie operatora '||' dla wszystkich trzech warunków w sposób, który nie uwzględnia konieczności ich jednoczesnej prawdziwości. To może prowadzić do sytuacji, w której kod zostanie wykonany, mimo że nie spełniono wszystkich wymagań, co może skutkować poważnymi błędami w logice aplikacji. W programowaniu ważne jest, aby zrozumieć różnicę między warunkami koniecznymi a wystarczającymi oraz umiejętnie stosować odpowiednie operatory logiczne w zależności od kontekstu zadania.

Pytanie 23

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Reguły
B. Wartości domyślne
C. Indeksy
D. Klucze podstawowe
Indeksy w bazach danych są kluczowym narzędziem przyspieszającym wykonywanie zapytań, ponieważ pozwalają na szybsze odnajdywanie danych. Indeks działa jak spis treści w książce, umożliwiając systemowi zarządzania bazą danych (DBMS) szybkie zlokalizowanie konkretnych wierszy w tabelach. W praktyce, dodanie indeksu do kolumny, po której często są przeprowadzane wyszukiwania, może znacząco poprawić wydajność zapytań SELECT. Na przykład, jeśli mamy dużą tabelę z danymi o klientach i często wyszukujemy klientów według nazwiska, stworzenie indeksu na kolumnie 'nazwisko' pozwoli na zredukowanie czasu potrzebnego na wyszukiwanie z kilku sekund do milisekund. Warto również wspomnieć o dobrych praktykach związanych z używaniem indeksów, takich jak unikanie nadmiernego indeksowania, które może prowadzić do obniżenia wydajności operacji INSERT, UPDATE czy DELETE, ponieważ każdy z tych procesów musi również aktualizować odpowiednie indeksy. Dlatego kluczowe jest staranne planowanie i zastosowanie indeksów tam, gdzie przynoszą największe korzyści.

Pytanie 24

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

A. SMTP
B. NNTP
C. FTP
D. HTTP
FTP, czyli File Transfer Protocol, to świetny wybór! Umożliwia przesyłanie plików między komputerami w sieci, co jest naprawdę ważne, gdy wgrywamy aplikację PHP na serwer. Bez FTP nawet nie wyobrażam sobie, jak byśmy mieli to zrobić. Dzięki temu protokołowi można nie tylko przesyłać pliki, ale też nimi zarządzać, np. usuwać czy przenosić je do innych folderów. Fajne jest to, że istnieją różne programy klienckie do FTP, takie jak FileZilla, które bardzo ułatwiają tę pracę – można tam po prostu przeciągać pliki. No i nie zapominajmy o bezpieczeństwie! FTP można skonfigurować do pracy w trybie szyfrowanym (SFTP), co sprawia, że nasze dane są lepiej chronione. Z mojego doświadczenia, warto też przyjrzeć się uprawnieniom dostępu na serwerze, bo to kluczowe, żeby nikt niepowołany nie miał do nich dostępu.

Pytanie 25

Fragment dokumentu HTML sugeruje, że

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
A. wszystkie znaczniki w kodzie HTML powinny być zapisywane wielkimi literami.
B. kod HTML zapisano w wersji 4 języka.
C. znaczniki końcowe są wymagane w kodzie HTML, także dla znaczników samozamykających się.
D. kod HTML zapisano w wersji 5 języka.
Kluczowe nieporozumienie dotyczące wersji HTML wynika z interpretacji deklaracji DOCTYPE która w tym przypadku jednoznacznie wskazuje na HTML 4.01. Częstym błędem jest mylenie z nowszą wersją HTML5 która nie wymaga tak szczegółowej deklaracji DOCTYPE i jest bardziej elastyczna umożliwiając użycie zarówno znaczników semantycznych jak i przestarzałych w razie potrzeby. W przeciwieństwie do HTML 4.01 HTML5 wprowadził uproszczoną deklarację <!DOCTYPE html> która nie odnosi się do żadnego zewnętrznego DTD. Błędne jest stwierdzenie że wszystkie znaczniki HTML muszą być zapisane wielkimi literami. W HTML 4.01 oraz we wszystkich nowoczesnych wersjach języka HTML zaleca się stosowanie małych liter dla znaczników co wpływa na czytelność i zgodność z XHTML. Kolejnym nieporozumieniem jest kwestia użycia znaczników zamykających. W HTML 4.01 dla niektórych znaczników można stosować uproszczenia jednak nie jest to bezwzględny wymóg dla znaczników samozamykających jak w przypadku XHTML gdzie takie wymogi są ściśle przestrzegane. Warto również zauważyć że HTML5 wprowadza jeszcze bardziej elastyczne podejście umożliwiając zarówno stosowanie znaczników zamykających jak i ich pomijanie w pewnych kontekstach co byłoby sprzeczne z zasadami HTML 4.01 Strict. Dlatego dla dokładnego zrozumienia wymagań każdej wersji HTML konieczne jest szczegółowe zapoznanie się z jej specyfikacją i zaleceniami W3C które wytyczają najlepsze praktyki w projektowaniu nowoczesnych stron WWW. Poprawne zrozumienie tematu wymaga uwzględnienia przejściowych różnic pomiędzy poszczególnymi wersjami HTML oraz ich wpływu na rozwój i kompatybilność aplikacji webowych w długofalowej perspektywie

Pytanie 26

Funkcji session_start() w PHP należy używać podczas realizacji

A. ładowania danych z zewnętrznych plików
B. wielostronicowej strony internetowej, która wymaga dostępu do danych przy przechodzeniu między stronami
C. każdej strony, która wykorzystuje ciasteczka
D. przetwarzania formularzy
Funkcja session_start() jest kluczowym elementem zarządzania sesjami w PHP, co jest niezbędne w kontekście wielostronicowych witryn internetowych. Jej głównym zadaniem jest inicjalizacja sesji, która pozwala na przechowywanie i udostępnianie danych użytkownika pomiędzy różnymi stronami serwisu. Gdy wywołasz session_start(), PHP sprawdza, czy istnieje już aktywna sesja. Jeśli tak, został załadowany odpowiedni identyfikator sesji, co umożliwia dostęp do danych przechowywanych w superglobalnej tablicy $_SESSION. Przykładami zastosowania mogą być koszyki zakupowe, gdzie użytkownik dodaje produkty na różnych stronach, a dane o tych produktach muszą być zachowane i dostępne na każdej z nich. Dobre praktyki zalecają, aby session_start() było wywoływane na początku skryptu, przed jakimkolwiek wyjściem na ekran, aby uniknąć problemów z nagłówkami HTTP. Ponadto, zarządzanie sesjami powinno być realizowane z uwzględnieniem bezpieczeństwa, np. poprzez regenerację identyfikatorów sesji po zalogowaniu oraz zabezpieczenie przed atakami CSRF.

Pytanie 27

Który z poniższych sposobów na dodawanie komentarzy do kodu nie jest używany w języku PHP?

A. /* komentarz */
B. // komentarz
C. <!-- komentarz -->
D. # komentarz
Odpowiedź <!-- komentarz --> jest poprawna, ponieważ jest to typowy sposób komentowania w HTML, a nie w PHP. W PHP stosujemy inne konwencje do komentowania kodu. Najczęściej używane metody to: # oraz // dla komentarzy jedno-liniowych oraz /* komentarz */ dla komentarzy wielo-liniowych. Przykładowo, użycie // w kodzie PHP pozwala na dodanie komentarza do linii kodu, co może być pomocne w wyjaśnieniu działania danej sekcji. Komentarze są istotnym elementem kodu, ponieważ pomagają programistom w zrozumieniu logiki programu, zwłaszcza przy pracy w zespole lub przy dłuższych projektach. Zgodnie z dobrymi praktykami programistycznymi, komentarze powinny być jasne i zwięzłe, co ułatwia innym programistom lub przyszłym wersjom siebie zrozumienie kodu. Warto również pamiętać, że odpowiednie komentowanie kodu zwiększa jego czytelność oraz ułatwia późniejsze wprowadzanie zmian.

Pytanie 28

Jak określa się element, który został oznaczony znakiem zapytania w strukturze platformy .NET, a który pozwala na tworzenie indywidualnych aplikacji z wykorzystaniem frameworków oraz na przekształcanie kompilowanego kodu pośredniego na kod maszynowy procesora znajdującego się w komputerze?

Ilustracja do pytania
A. Biblioteka klas bazowych (BCL)
B. Wspólne środowisko programistyczne (CLP)
C. Wspólne środowisko uruchomieniowe (CLR)
D. Infrastruktura językowa (CLI)
Wspólne środowisko uruchomieniowe (CLR) jest kluczowym komponentem platformy .NET, który odpowiada za zarządzanie wykonywaniem programów napisanych w różnych językach programowania. CLR działa jako wirtualna maszyna i umożliwia uruchamianie aplikacji poprzez kompilację kodu pośredniego (CIL) do kodu maszynowego właściwego dla danego procesora. Jednym z głównych zadań CLR jest zarządzanie pamięcią, w tym automatyczne zarządzanie zasobami oraz usuwanie nieużywanych obiektów za pomocą mechanizmu garbage collection. Ponadto CLR zapewnia bezpieczeństwo typów i izolację, co pozwala na lepszą kontrolę nad integralnością aplikacji. Dzięki takiemu podejściu, deweloperzy mogą skupić się na logice aplikacyjnej, nie martwiąc się o niskopoziomowe szczegóły związane z zarządzaniem pamięcią. CLR wspiera także interoperacyjność między różnymi językami, co oznacza, że komponenty napisane w jednym języku mogą być używane w aplikacjach napisanych w innym języku, co zwiększa elastyczność i możliwości wielokrotnego użycia kodu. Dzięki CLR deweloperzy mogą tworzyć stabilne i wydajne aplikacje w sposób efektywny i zgodny z nowoczesnymi standardami programistycznymi.

Pytanie 29

Kaskadowe arkusze stylów są tworzone w celu

A. dodania na stronie internetowej treści tekstowych
B. ulepszenia nawigacji dla użytkownika
C. określenia metod formatowania elementów na stronie internetowej
D. zwiększenia szybkości ładowania grafiki na stronie internetowej
Wybór odpowiedzi, które nie dotyczą głównego celu kaskadowych arkuszy stylów, pokazuje niepełne zrozumienie ich funkcji. Kaskadowe arkusze stylów nie są narzędziem do ułatwienia użytkownikowi nawigacji po stronie, ponieważ nawigacja jest głównie zrealizowana przez HTML oraz JavaScript, a CSS jej nie wspiera w kontekście strukturalnym. CSS wpływa na wygląd elementów, ale nie definiuje samej struktury nawigacyjnej. Z kolei CSS nie służy do dodawania treści tekstowych na stronach internetowych. Treści są wprowadzane poprzez HTML, a CSS jedynie stylizuje te elementy. Tworzenie interfejsu użytkownika to nie tylko kwestia estetyki, lecz także odpowiedniego zarządzania danymi i treściami, co jest zadaniem HTML. Jeśli chodzi o przyspieszanie wyświetlania grafiki, CSS nie jest odpowiedzialny za optymalizację czasu ładowania obrazów; ten aspekt leży w gestii technik takich jak kompresja obrazów, użycie odpowiednich formatów oraz technik lazy loading. CSS skupia się na stylizacji elementów, a nie na ich wydajności. W związku z powyższym, każda z tych odpowiedzi pomija kluczową funkcję CSS, jaką jest definiowanie stylów dla elementów, co jest jego głównym celem.

Pytanie 30

Znacznik <pre> </pre> służy do prezentacji

A. znaku wielokropka
B. treści czcionką o stałej szerokości
C. treści polską czcionką
D. znaku przekreślenia
Znacznik <pre> </pre> jest używany w HTML do wyświetlania tekstu w formacie preformatowanym, co oznacza, że zawartość wewnątrz tego znacznika jest wyświetlana czcionką o stałej szerokości, gdzie wszystkie białe znaki, w tym spacje i nowe linie, są zachowywane tak, jak zostały wpisane. To sprawia, że jest on niezwykle przydatny przy prezentacji kodu źródłowego, skryptów oraz innych danych, gdzie zachowanie dokładnego formatowania jest kluczowe. Przykładem może być kod HTML, JavaScript czy CSS, który można umieścić wewnątrz znacznika <pre> w celu poprawienia czytelności i umożliwienia użytkownikom łatwego skopiowania. Ponadto, znaczniki <pre> są często stosowane w dokumentacji technicznej, gdzie precyzyjne odwzorowanie formatowania jest istotne dla zrozumienia. Ważne jest również, aby zwrócić uwagę na to, że domyślnie tekst w elemencie <pre> nie jest łamany, co pozwala zachować jego oryginalny kształt i układ.

Pytanie 31

Parametr face w znaczniku <font> jest używany do określenia

A. stylów czcionki
B. rozmiaru czcionki
C. typy czcionki
D. koloru czcionki
Parametr <b>face</b> znacznika <b>&lt;font&gt;</b> jest używany do określenia nazwy czcionki, co jest kluczowe dla stylizacji tekstu w dokumentach HTML. Umożliwia on deweloperom wybór konkretnej czcionki, która będzie używana do wyświetlania tekstu, co wpływa na jego estetykę oraz czytelność. Przykładowo, można użyć wartości takiej jak 'Arial', 'Times New Roman' czy 'Courier New', aby zdefiniować preferowaną czcionkę, co jest szczególnie ważne w przypadku identyfikacji wizualnej brandu. W praktyce, dobór odpowiedniej czcionki wpływa na doświadczenie użytkownika, a także na dostępność treści. Warto zaznaczyć, że w nowoczesnych praktykach webowych, stosowanie CSS do stylizacji tekstu stało się bardziej zalecane niż używanie znaczników <font>, co wynika z dążenia do separacji treści od prezentacji. Dobre praktyki wskazują na użycie właściwości CSS takich jak 'font-family', co jest bardziej elastyczne i zgodne z aktualnymi standardami sieciowymi.

Pytanie 32

W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji

<body>
<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
A. getElement('p')
B. getElementsByTagName('p')[0]
C. getElementById('p1')
D. getElementsByClassName('p.1')[0]
Odpowiedź getElementsByTagName("p")[0]; jest poprawna, ponieważ metoda getElementsByTagName zwraca kolekcję wszystkich elementów o danym tagu, w tym przypadku "p". Wywołując tę metodę, otrzymujemy tablicę wszystkich paragrafów na stronie, co pozwala na łatwy dostęp do pierwszego z nich, korzystając z indeksu [0]. Jest to standardowy sposób uzyskiwania dostępu do elementów w DOM w JavaScript. Zastosowanie tej metody jest zgodne z dobrą praktyką, umożliwiającą selekcję elementów w sposób dynamiczny i elastyczny. Przykładowo, jeśli chcemy zmienić tekst pierwszego paragrafu, możemy wykorzystać: document.getElementsByTagName("p")[0].innerText = 'Nowy tekst';. Dzięki temu możemy skutecznie manipulować zawartością stron internetowych, co jest kluczowe w rozwoju front-endu. Dodatkowo, metody takie jak getElementsByTagName są dobrze wspierane przez wszystkie nowoczesne przeglądarki, co zapewnia ich niezawodność w codziennej pracy programisty.

Pytanie 33

W formularzu HTML wykorzystano znacznik <input>. Wyświetlane pole będzie przeznaczone do wprowadzania maksymalnie

Ilustracja do pytania
A. 30 znaków, które są widoczne podczas wpisywania
B. 20 znaków, które są widoczne podczas wpisywania
C. 30 znaków, które nie są widoczne w polu tekstowym
D. 20 znaków, które nie są widoczne w polu tekstowym
Zrozumienie działania atrybutów size i maxlength w znaczniku <input> jest kluczowe dla prawidłowego projektowania formularzy HTML. Atrybut size określa, ile znaków będzie widocznych w polu tekstowym, jednak to nie ogranicza faktycznej liczby znaków, które można wprowadzić. Działa to bardziej jako wskazówka dla użytkownika, jak szerokie może być pole, aby pomieścić określoną liczbę widocznych znaków. Dlatego odpowiedź, że size determinuje maksymalną ilość wprowadzanych znaków, jest błędna. Natomiast atrybut maxlength rzeczywiście ogranicza liczbę znaków, które można wprowadzić. Dzięki temu atrybutowi możemy kontrolować długość danych wejściowych, co jest często wykorzystywane w aplikacjach wymagających wprowadzania haseł lub innych danych tekstowych o określonej długości. W przypadku inputów typu password, wprowadzone znaki są maskowane, co oznacza, że użytkownik nie widzi tego, co wpisuje, a jego odpowiednik wprowadzenia tekstu typu tekstowego nie działa w ten sam sposób. Odpowiedzi zakładające, że dane są widoczne lub że size wpływa na długość wprowadzanych znaków, wynikają z niepełnego zrozumienia działania poszczególnych atrybutów HTML i ich roli w projektowaniu interfejsów użytkownika. Dobre praktyki projektowania formularzy wymagają jasnego rozróżnienia tych dwóch funkcji, co znacznie zwiększa użyteczność i dostępność aplikacji webowych oraz ułatwia użytkownikom korzystanie z formularzy zgodnie z ich przeznaczeniem.

Pytanie 34

Klucz obcy w tabeli jest używany w celu

A. umożliwienia jednoznacznej identyfikacji rekordu w danej tabeli
B. zdefiniowania relacji 1..n łączącej go z kluczem głównym innej tabeli
C. połączenia go z innymi kluczami obcymi w tabeli
D. opracowania formularza do wprowadzania danych do tabeli
Klucz obcy w tabeli pełni kluczową rolę w definiowaniu relacji między tabelami w bazach danych. Dzięki zastosowaniu klucza obcego możliwe jest określenie relacji 1..n, co oznacza, że jeden rekord w tabeli głównej może być powiązany z wieloma rekordami w tabeli podrzędnej. Przykładem może być tabela 'Klienci' i tabela 'Zamówienia', gdzie klucz obcy w tabeli 'Zamówienia' wskazuje na klucz główny w tabeli 'Klienci'. To pozwala na gromadzenie wielu zamówień dla jednego klienta, co jest niezbędne w systemach e-commerce. Praktyczne wdrożenie kluczy obcych wspiera integralność danych oraz zapobiega ich duplikacji. Właściwe projektowanie relacji w bazach danych zgodnie z zasadami normalizacji wprowadza przejrzystość i efektywność w zarządzaniu danymi, a także ułatwia ich późniejszą analizę i raportowanie. W branży IT standardem jest stosowanie kluczy obcych w celu zapewnienia spójności i relacyjności danych, co jest istotne dla każdej aplikacji opierającej się na bazach danych.

Pytanie 35

Jakie zapytanie należy zastosować, aby pokazać tylko imię, nazwisko oraz ulicę wszystkich mieszkańców?

Ilustracja do pytania
A. SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id
B. SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
C. SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id
D. SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id
Niepoprawne podejścia wynikają głównie z braku zastosowania właściwego połączenia między tabelami lub wyboru odpowiednich kolumn. Pierwszym błędem jest użycie SELECT * bez szczegółowego określenia, jakie kolumny są potrzebne. Taki zapis powoduje, że zwracane są wszystkie kolumny z obu tabel, co jest nieefektywne i niezgodne z najlepszymi praktykami, zakładającymi minimalizację przetwarzanych danych. Ponadto, wykorzystanie przecinka zamiast JOIN wprowadza niepotrzebny chaos i może prowadzić do błędów, zwłaszcza w złożonych zapytaniach, gdzie konieczne jest połączenie większej liczby tabel. Druga odpowiedź zawiera niepoprawne użycie ON, które nie jest zgodne z zasadami SQL, co powoduje błędne wyniki lub nawet awarie zapytań. Brak jest również specyfikacji kolumn, co prowadzi do zwrócenia zbyt dużej ilości danych. Dodatkowo, błędnie skonstruowane połączenie prowadzi do niepoprawnego mapowania wierszy, przez co zwracane dane nie odzwierciedlają rzeczywistych relacji między mieszkańcami a adresami. Dobre praktyki nakazują, aby zawsze używać JOIN z wyraźnym określeniem kluczy obcych i głównych, co zapewnia właściwe mapowanie wierszy i minimalizację błędów. Ważne jest również, aby każdorazowo testować zapytanie pod kątem wydajności i poprawności, a także dbać o czytelność i zrozumiałość kodu SQL, co jest kluczowe w kontekście zespołowego rozwoju oprogramowania.

Pytanie 36

Funkcja pg_connect w PHP pozwala na nawiązanie połączenia z bazą danych

A. MS ACCESS
B. mySQL
C. MS SQL
D. PostgreSQL
Wybór niepoprawnych opcji w kontekście polecenia pg_connect w PHP można wytłumaczyć poprzez analizę różnic między systemami zarządzania bazami danych. MySQL jest jednym z najpopularniejszych systemów, jednak używa innego zestawu funkcji do nawiązywania połączeń, takich jak mysqli_connect lub PDO. MySQL, mimo że jest często używany, nie jest obsługiwany przez funkcje pg_connect, które są dedykowane wyłącznie dla PostgreSQL. MS SQL, czyli Microsoft SQL Server, również wymaga innych metod połączeń, takich jak użycie rozszerzenia SQLSRV lub PDO_SQLSRV, które są specyficzne dla środowiska Windows i nie mają związku z funkcją pg_connect. Z kolei MS Access, będący systemem baz danych stworzonym przez Microsoft, nie jest obsługiwany przez PHP w kontekście pg_connect. Połączenie z MS Access wymaga użycia ODBC lub innych interfejsów, co znacznie odbiega od funkcjonalności pg_connect przeznaczonej dla PostgreSQL. Dlatego też, żadna z wymienionych opcji poza PostgreSQL nie jest poprawna w kontekście użycia polecenia pg_connect.

Pytanie 37

Celem testów wydajnościowych jest ocena

A. możliwości oprogramowania do funkcjonowania w warunkach niewłaściwej pracy systemu
B. możliwości oprogramowania do funkcjonowania w warunkach błędnej pracy sprzętu
C. sekwencji zdarzeń, w której prawdopodobieństwo wystąpienia każdego zdarzenia zależy wyłącznie od wyniku zdarzenia poprzedniego
D. poziomu spełnienia wymagań dotyczących wydajności przez system bądź moduł
Odpowiedzi sugerujące, że testy wydajnościowe mają na celu sprawdzenie ciągu zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego, dotyczą zupełnie innej dziedziny – statystyki i teorii prawdopodobieństwa. W kontekście testów wydajnościowych mówimy o analizie zachowania systemu w odpowiedzi na obciążenie, a nie o modelowaniu zdarzeń losowych. Kolejne koncepcje, takie jak zdolność oprogramowania do działania w warunkach wadliwej pracy systemu lub sprzętu, odnoszą się do testów odpornościowych i awaryjnych, a nie do testów wydajnościowych. Testy te mają na celu zbadanie, jak system reaguje na sytuacje awaryjne, jednak nie są one bezpośrednio związane z oceną jego wydajności. Te nieporozumienia mogą wynikać z mylnego założenia, że testy wydajnościowe obejmują wszystkie aspekty funkcjonalności systemu, podczas gdy w rzeczywistości koncentrują się one na specyficznych wymaganiach dotyczących szybkości i efektywności działania. Właściwe rozumienie testów wydajnościowych jako narzędzia do pomiaru i optymalizacji wydajności systemu jest kluczowe dla zapewnienia jego sukcesu na rynku. Każda z tych nieprawidłowych odpowiedzi prowadzi do niedosłownego zrozumienia celów i metodologii stosowanych w testach wydajnościowych, co może skutkować poważnymi błędami w procesie wytwarzania oprogramowania.

Pytanie 38

Definicja obiektu została zapisana w języku JavaScript jako var osoba={imie:"Anna", nazwisko:"Kowalska", rok_urodzenia:1985}; Jak można odwołać się do właściwości nazwisko?

A. osoba[1]
B. osoba::nazwisko
C. osoba[2]
D. osoba.nazwisko
Wszystkie inne odpowiedzi są niepoprawne z różnych powodów technicznych. Pierwsza z nich, osoba[1], opiera się na indeksowaniu tablicy, co jest błędne w kontekście obiektów. W JavaScript obiekty nie mają indeksów; zamiast tego są zorganizowane w pary klucz-wartość, gdzie klucze są nazwami właściwości. Próba uzyskania dostępu do właściwości przez indeksowanie zwróci undefined, ponieważ obiekt nie ma takiego klucza. Kolejna niepoprawna odpowiedź, osoba[2], jest analogicznie błędna, ponieważ odnosi się do drugiego elementu, co również nie ma zastosowania w obiektach. Obiekty w JavaScript nie są tablicami i nie można do nich odwoływać się w sposób, który sugeruje, że mają one numerowane właściwości. Ostatnia odpowiedź, osoba::nazwisko, jest syntaktycznie niepoprawna w JavaScript. Notacja z podwójnymi dwukropkami nie jest stosowana w języku, a niepoprawne użycie operatorów prowadzi do błędów wykonania. W JavaScript poprawny jest tylko dostęp przez notację kropkową lub nawiasową, ponieważ język nie wspiera takiej składni. Te pomyłki mogą wynikać z nieporozumienia w zakresie struktur danych w JavaScript oraz ich właściwego dostępu.

Pytanie 39

Osobistym środkiem ochrony dla oczu i twarzy może być

A. przyłbica
B. osłona pleksi pomiędzy stanowiskami pracy
C. sprzęt filtrujący powietrze
D. fartuch ochronny
Przyłbica jest indywidualnym środkiem ochrony oczu i twarzy, zaprojektowanym w celu ochrony przed szkodliwymi czynnikami mechanicznymi, chemicznymi oraz biologicznymi. Wykorzystanie przyłbic jest szczególnie istotne w środowiskach, gdzie istnieje ryzyko wystawienia pracowników na działanie odprysków, substancji chemicznych lub zagrożeń biologicznych, jak wirusy czy bakterie. Przykładem zastosowania przyłbic jest praca w laboratoriach chemicznych, podczas spawania, bądź w przemyśle drzewnym, gdzie odpryski materiału mogą być niebezpieczne. Dobrze zaprojektowana przyłbica powinna spełniać normy EN 166, które określają wymagania dotyczące ochrony oczu. Warto również zauważyć, że przyłbice mogą być stosowane w połączeniu z innymi środkami ochrony osobistej, takimi jak maski ochronne czy rękawice, co zwiększa poziom bezpieczeństwa pracowników. Dzięki możliwości łatwej dezynfekcji i przejrzystości materiału, przyłbice stanowią wygodny i efektywny sposób na zapewnienie bezpieczeństwa w różnych branżach. W kontekście pandemii COVID-19, ich popularność wzrosła jako dodatkowy środek ochrony zdrowia, co podkreśla ich uniwersalność i znaczenie w nowoczesnym podejściu do BHP.

Pytanie 40

W kodzie CSS użyto stylizacji dla elementu listy, a żadne inne reguły CSS nie zostały ustalone. To zastosowane formatowanie spowoduje, że

Ilustracja do pytania
A. tekst wszystkich elementów listy będzie miał kolor Maroon
B. kolor Maroon obejmie co drugi element listy
C. po najechaniu myszką na element listy, kolor tekstu zmieni się na Maroon
D. tekst wszystkich elementów, którym nadano id „hover”, będzie w kolorze Maroon
W przypadku innych odpowiedzi występuje pewne nieporozumienie dotyczące zasad działania selektorów CSS. Pierwsza odpowiedź sugeruje, że wszystkie elementy z przypisanym id hover zmienią kolor, co jest nieprawidłowe, ponieważ w podanym kodzie nie ma odwołania do id, ale do pseudoklasy :hover. Przypisywanie stylów z użyciem id wymagałoby użycia selektora z hashtagiem, jak na przykład #hover. Kolejna koncepcja sugeruje, że wszystkie elementy listy będą miały kolor maroon. Aby to było prawdziwe, deklaracja CSS musiałaby dotyczyć selektora li bez pseudoklasy :hover. Innymi słowy, aby wszystkie elementy listy były stale w kolorze maroon, kod powinien wyglądać jak li { color: maroon; }. Ostatnia opcja zakłada, że co drugi element listy zmieni kolor. Do takiego działania niezbędne byłoby użycie selektora nth-child w połączeniu z :hover i odpowiednim stylem, na przykład li:nth-child(even):hover { color: maroon; }, co nie jest obecne w dostarczonym kodzie. W związku z tym, prawidłowe zrozumienie funkcji pseudoklas i selektorów CSS jest kluczowe do właściwego interpretowania kodu stylów i unikania typowych błędów w zastosowaniach praktycznych. Dlatego ważne jest, by projektanci stron internetowych dobrze rozumieli różne aspekty CSS, aby efektywnie wykorzystywać możliwości, jakie oferuje ten język stylów, jednocześnie dążąc do osiągnięcia optymalnej funkcjonalności i estetyki w projektach webowych. Poprawne stosowanie selektorów umożliwia tworzenie intuicyjnych i responsywnych interfejsów użytkownika, co stanowi jedno z głównych celów nowoczesnego web designu. Rozumienie tych zasad minimalizuje także ryzyko błędów i nieporozumień w zespole projektowym, przyczyniając się do lepszej współpracy i realizacji projektów.