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: 17 kwietnia 2026 10:14
  • Data zakończenia: 17 kwietnia 2026 10:45

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

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

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. setcookie("ciastko", "", time()-3600);
B. setcookie("$ciastko", "", 0);
C. unsetcookie("$ciastko");
D. deletecookie("ciastko");
Odpowiedź setcookie("ciastko", "", time()-3600) jest prawidłowa, ponieważ do usunięcia ciasteczka w PHP należy ustawić jego wartość na pusty ciąg oraz datę ważności w przeszłości. Funkcja setcookie() jest standardowym sposobem zarządzania ciasteczkami w PHP. Argumenty przekazywane do tej funkcji obejmują nazwę ciasteczka, wartość oraz czas, kiedy ciasteczko wygasa. Ustawiając czas na time()-3600, informujemy przeglądarkę, że ciasteczko jest nieaktualne, co skutkuje jego usunięciem. Dobrą praktyką jest również uzupełnienie argumentów o ścieżkę i domenę, aby upewnić się, że wszystkie instancje ciasteczka są usuwane. Przykładowo, setcookie("ciastko", "", time()-3600, "/", "example.com"); usuwa ciasteczko w kontekście całej witryny. Pamiętaj, aby wywołać tę funkcję przed jakimkolwiek wyjściem HTML, ponieważ nagłówki HTTP muszą być wysyłane przed jakimikolwiek danymi wyjściowymi.

Pytanie 2

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. wyłącznie funkcji z biblioteki PDO
B. metody POST
C. samych kontrolek bez zastosowania formularza
D. metody GET
Wybór metody POST do przesyłania danych z formularza HTML jest odpowiedni, gdyż ta metoda nie ujawnia przesyłanych informacji w adresie URL, co zwiększa bezpieczeństwo danych. Metoda POST wysyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne dla użytkowników, a także nie są rejestrowane w historii przeglądarki ani w logach serwera tak, jak ma to miejsce w przypadku metody GET. W praktyce, metodę POST wykorzystuje się w sytuacjach, gdy przesyłane są wrażliwe dane, takie jak hasła czy dane osobowe. Na przykład, podczas rejestracji użytkownika na stronie internetowej, dane osobowe są najczęściej przesyłane metodą POST, aby zminimalizować ryzyko ich wycieku. Dobrą praktyką jest również stosowanie HTTPS w połączeniu z metodą POST, co dodatkowo zabezpiecza przesyłane dane przed przechwyceniem przez osoby trzecie. W kontekście standardów, zaleca się stosowanie metody POST, gdyż zapewnia ona większą kontrolę nad przesyłanymi danymi i umożliwia większą ilość danych w porównaniu do metody GET, która jest ograniczona do około 2048 znaków w adresie URL.

Pytanie 3

Który z formatów plików używa kompresji stratnej?

A. PNG
B. BMP
C. JPEG
D. GIF
Poprawnie – spośród podanych formatów to właśnie JPEG wykorzystuje kompresję stratną. Oznacza to, że podczas zapisu obrazu część informacji o pikselach jest bezpowrotnie usuwana, żeby zmniejszyć rozmiar pliku. Algorytm JPEG analizuje obraz, rozkłada go na składowe (m.in. za pomocą DCT – dyskretnej transformacji cosinusowej), a następnie odrzuca te detale, których ludzkie oko zazwyczaj i tak nie zauważa, szczególnie w przejściach tonalnych i drobnych teksturach. Dzięki temu zdjęcie może ważyć np. 10 razy mniej niż w BMP, przy akceptowalnej jakości. W praktyce JPEG jest standardem do zapisu fotografii na stronach WWW, w mediach społecznościowych, w aparatach cyfrowych czy telefonach. Stosuje się go tam, gdzie ważniejszy jest mały rozmiar pliku niż idealna, bezstratna jakość – np. galerie produktowe w sklepach internetowych, blogi, portfolia. Dobrą praktyką w webdevie jest używanie JPEG do zdjęć i skomplikowanych obrazów, a PNG lub SVG do grafiki z ostrymi krawędziami, logotypów, ikon. Warto też pamiętać o ustawianiu rozsądnego poziomu kompresji: zbyt mocna kompresja JPEG powoduje widoczne artefakty (blokowe kwadraty, rozmycia krawędzi), zbyt słaba – niepotrzebnie duże pliki. Moim zdaniem sensownie jest testować kilka poziomów jakości (np. 60–80%) i wybierać kompromis między wagą a wyglądem, bo to dokładnie ta decyzja, z którą spotykasz się później w realnych projektach WWW.

Pytanie 4

Ile razy zostanie wykonana pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w trakcie działania pętli?
for ($i = 0; $i <= 10; $i+=2) { .... }

A. 5
B. 6
C. 10
D. 0
Odpowiedź 6 jest poprawna, ponieważ pętla for w języku PHP jest skonstruowana w taki sposób, że iteruje od 0 do 10 w krokach co 2. Inicjalizacja zmiennej $i zaczyna się od 0, a warunek kontynuacji pętli to $i <= 10. Przeanalizujmy zatem wartości, które przyjmie zmienna $i w kolejnych iteracjach: 0, 2, 4, 6, 8, 10. Widzimy, że pętla zatrzyma się po osiągnięciu wartości 10, co daje nam 6 iteracji. W praktyce, takie konstrukcje są bardzo użyteczne w różnych scenariuszach, na przykład, gdy chcemy iterować przez elementy tablicy, które mają parzyste indeksy. Dobrym przykładem może być generowanie dynamicznego kodu HTML, w którym chcemy wyświetlić co drugi element listy, co jest istotne w kontekście optymalizacji wizualnej interfejsów użytkownika. Zrozumienie działania pętli for oraz zasad dotyczących kontrolowania iteracji jest kluczowe w programowaniu, co jest zgodne z najlepszymi praktykami w branży.

Pytanie 5

CMYK to kombinacja czterech podstawowych kolorów stosowanych w druku:

A. czerwonego, purpurowego, żółtego, szarego
B. turkusowego, błękitnego, białego, różowego
C. turkusowego, purpurowego, białego, czarnego
D. turkusowego, purpurowego, żółtego, czarnego
Odpowiedź zawierająca kolory turkusowy, purpurowy, żółty i czarny jest poprawna, ponieważ CMYK to standardowy model kolorów stosowany w druku. Składa się on z czterech podstawowych kolorów: cyjan (turkusowy), magenta (purpurowy), żółty i czarny (key). Model ten jest powszechnie wykorzystywany w przemyśle poligraficznym, ponieważ pozwala na uzyskanie szerokiej gamy kolorów poprzez mieszanie tych czterech odcieni. Przykładem zastosowania CMYK jest druk ulotek, plakatów czy książek, gdzie precyzyjne odwzorowanie kolorów jest kluczowe dla jakości i estetyki produktu. W praktyce, mieszanie kolorów w tym modelu odbywa się przez stosowanie różnych proporcji farb, co pozwala na uzyskanie pożądanych odcieni. Warto również zauważyć, że standard CMYK jest podstawą wielu systemów druku cyfrowego oraz offsetowego, co czyni go fundamentalnym narzędziem w pracy projektantów graficznych oraz drukarzy, którzy muszą zrozumieć jego zasady, aby efektywnie realizować projekty graficzne.

Pytanie 6

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. dwie właściwości
B. dwie metody
C. jedna właściwość
D. dwa obiekty
W przedstawionej klasie w języku PHP zdefiniowano dwie właściwości publiczne: $b oraz $c. Właściwości te są zmiennymi, które mogą przechowywać dane różnego typu i są dostępne z poziomu innych obiektów lub kodu poza klasą dzięki modyfikatorowi dostępu public. W praktyce, właściwości klasy są wykorzystywane do przechowywania stanu obiektu czyli wartości specyficznych dla instancji tej klasy. Należy pamiętać o dobrych praktykach w programowaniu obiektowym, takich jak stosowanie odpowiednich modyfikatorów dostępu (public, private, protected) w celu lepszej enkapsulacji danych oraz korzystanie z metod dostępowych (getterów i setterów) w celu kontroli dostępu i modyfikacji właściwości. Właściwości te mogłyby być użyte na przykład do przechowywania danych użytkownika, takich jak imię i nazwisko, w klasach modelujących obiekty w aplikacjach typu MVC. Zastosowanie właściwości jako mechanizmu przechowywania stanu obiektu jest kluczowym elementem programowania obiektowego i poprawnego projektowania klas.

Pytanie 7

Relacja opisana jako: "Rekord z tabeli A może odpowiadać wielu rekordom z tabeli B. Każdemu rekordowi z tabeli B przyporządkowany jest dokładnie jeden rekord z tabeli A" jest relacją

A. jeden do jednego
B. jeden do wielu
C. wiele do wielu
D. nieoznaczoną
Podejście pojmujące relację jako nieoznaczoną jest mylne, ponieważ nie uwzględnia struktury i powiązań między rekordami w tabelach. Nieoznaczona relacja nie definiuje w żaden sposób, jakie są zależności między danymi, co sprawia, że analizy przeprowadzane na takich danych mogą prowadzić do błędnych wniosków. Natomiast koncepcja relacji wiele do wielu, choć może wydawać się pasująca, nie odzwierciedla opisanego scenariusza, w którym z jednego rekordu w tabeli A wychodzi wiele rekordów w tabeli B, ale z każdego rekordu w tabeli B wychodzi dokładnie jeden rekord w tabeli A. Tego typu podejście prowadzi do błędnych wizji organizacji danych i często do skomplikowanych operacji przy próbie wyodrębnienia potrzebnych informacji. Również zrozumienie relacji jeden do jednego w tym kontekście jest niewłaściwe, ponieważ zakłada, że każdemu rekordowi z tabeli A odpowiada dokładnie jeden rekord w tabeli B, co nie jest zgodne z przedstawionym opisem. Zatem istotne jest, aby podczas projektowania baz danych i definiowania relacji między tabelami stosować klarowne i uzasadnione zasady, które umożliwią prawidłowe zarządzanie danymi i ich analizę. Właściwe zrozumienie tych relacji jest fundamentem dobrych praktyk w inżynierii danych i projektowaniu baz danych.

Pytanie 8

Jak nazywa się organizacja odpowiedzialna za wyznaczanie standardów dla języka HTML?

A. NASK
B. WYSIWYG
C. ISO
D. W3C
Organizacja zajmująca się ustalaniem standardu dla języka HTML nosi nazwę W3C, co oznacza World Wide Web Consortium. Jest to międzynarodowa społeczność, która opracowuje standardy internetowe i zapewnia ich udostępnienie. W3C zostało założone w 1994 roku przez Tima Berners-Lee, twórcę WWW, z celem wspierania rozwijania wspólnych standardów, które mają na celu zapewnienie długoterminowego wzrostu i interoperacyjności w sieci. Standard HTML, a także jego kolejne wersje, są kluczowymi elementami tej inicjatywy. W3C odpowiada również za inne standardy, takie jak CSS, XML czy SVG. Dbanie o zgodność oraz poprawność kodu HTML jest niezbędne dla zapewnienia właściwego działania stron internetowych w różnych przeglądarkach. Przykłady standardów, które W3C wprowadziło, to HTML5, który wprowadził nowe elementy, takie jak <article>, <section> czy <canvas>. Te standardy pozwalają na tworzenie bardziej zaawansowanych interfejsów użytkownika, lepszą dostępność oraz efektywność. Dlatego W3C odgrywa kluczową rolę w ekosystemie internetu, wpływając na sposób, w jaki tworzymy i konsumujemy treści online.

Pytanie 9

W języku CSS zapis

p::first-line {font-size: 150%;}
zastosowany na stronie z wieloma paragrafami, z których każdy zawiera kilka linii, spowoduje, że
A. pierwszy paragraf na stronie w całości będzie miał powiększoną czcionkę
B. cały tekst paragrafu zostanie powiększony o 150%
C. pierwsza linia każdego paragrafu będzie miała mniejszą czcionkę niż pozostałe linie
D. pierwsza linia każdego paragrafu będzie miała większą czcionkę niż pozostałe linie
Odpowiedź jest trafna, bo selektor CSS 'p::first-line' służy do stylizowania wyłącznie pierwszej linii każdego paragrafu. Kiedy przypisujesz styl 'font-size: 150%', to znaczy, że czcionka tej pierwszej linii będzie większa o 50% od standardowego rozmiaru ustalonego w CSS. To dobra praktyka w web designie, bo pomaga w czytelności i nadawaniu hierarchii informacjom. Na przykład, fajnie jest wyróżnić rozpoczęcie tekstu albo zaakcentować ważne dane. Pamiętaj tylko, że efekt będzie widoczny tylko, gdy tekst ma więcej niż jedną linię, bo w przeciwnym razie powiększenie się nie ujawni. Dodatkowo, korzystanie z pseudo-elementów, jak '::first-line', to coś, co jest w standardach CSS i jest naprawdę cenione w branży.

Pytanie 10

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. skorzystanie z narzędzia do walidacji kodu HTML
B. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
C. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
D. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
Korzystanie z emulatora przeglądarek internetowych, takiego jak Browser Sandbox, to jedna z najskuteczniejszych metod na testowanie działania witryny w różnych przeglądarkach i ich wersjach. Emulatory umożliwiają symulację różnych środowisk przeglądarkowych bez potrzeby fizycznego instalowania wielu aplikacji na różnych urządzeniach. To znacząco przyspiesza proces testowania i pozwala na łatwe przełączanie się między wersjami przeglądarek. Przykładowo, za pomocą emulatora można szybko sprawdzić, jak strona zachowuje się w Chrome, Firefox czy Safari, co jest kluczowe dla zapewnienia spójnego doświadczenia użytkownika. Ponadto, korzystanie z takich narzędzi pozwala na testowanie z różnych systemów operacyjnych, co jest istotne w kontekście różnorodności urządzeń używanych przez użytkowników. Dobrze skonfigurowany emulator nie tylko pozwala na testowanie responsywności witryny, ale także na analizowanie błędów związanych z CSS czy JavaScript, co przekłada się na wyższą jakość końcowego produktu. Zastosowanie emulatorów jest zgodne z najlepszymi praktykami w zakresie tworzenia aplikacji webowych, które powinny być dostępne i funkcjonalne w różnych przeglądarkach.

Pytanie 11

Jakim zapisem w dokumencie HTML można stworzyć element, który wyświetli obrazek kotek.jpg z tekstem alternatywnym "obrazek kotka"?

A. <img href="kotek.jpg" alt="obrazek kotka">
B. <img href="kotek.jpg" title="obrazek kotka">
C. <img src="kotek.jpg" alt="obrazek kotka">
D. <img src="kotek.jpg" title="obrazek kotka">
Odpowiedź <img src="kotek.jpg" alt="obrazek kotka"> jest poprawna, ponieważ zgodnie z standardem HTML do wyświetlania obrazów należy używać atrybutu 'src', który wskazuje źródło obrazu. Atrybut 'alt' jest również niezbędny, ponieważ zapewnia tekst alternatywny dla obrazów, co jest kluczowe dla dostępności strony internetowej. Użytkownicy, którzy korzystają z technologii wspomagających, takich jak czytniki ekranu, będą mogli zrozumieć zawartość obrazu poprzez ten tekst. Dobrą praktyką jest również stosowanie odpowiednich nazw plików obrazów oraz opisowych tekstów alternatywnych, co poprawia SEO i użyteczność strony. Na przykład, jeśli w przyszłości planujesz dodać więcej obrazów kotów, warto, aby każdy z nich miał unikalny opis w atrybucie 'alt', co pomoże w lepszym zrozumieniu kontekstu przez użytkowników i roboty wyszukiwarek. W ten sposób poprawiasz zarówno dostępność, jak i indeksowalność swojej strony.

Pytanie 12

Które z poniższych twierdzeń na temat języków programowania jest FAŁSZYWE?

A. PHP jest językiem do tworzenia stron w czasie rzeczywistym
B. C++ jest językiem obiektowym
C. JavaScript jest językiem skryptowym
D. SQL jest językiem programowania strukturalnego
SQL (Structured Query Language) to język zapytań, który służy do zarządzania danymi w relacyjnych bazach danych. Pomimo swojej nazwy, SQL nie jest językiem programowania strukturalnego w tradycyjnym sensie, ponieważ nie obsługuje pełnych konstrukcji programistycznych, takich jak pętle czy warunki, które są charakterystyczne dla języków takich jak C czy Pascal. SQL jest językiem deklaratywnym, co oznacza, że użytkownicy formułują zapytania, które definiują, jakie dane chcą uzyskać, a nie jak je uzyskać. Dzięki temu SQL jest niezwykle efektywny w pracy z dużymi zbiorami danych i umożliwia szybkie wykonywanie operacji na bazach danych. Przykładowe zastosowanie SQL to tworzenie zapytań do wyszukiwania określonych informacji w bazie danych klientów lub przy używaniu funkcji agregujących do analizy danych. Zrozumienie roli SQL w architekturze baz danych oraz umiejętność jego stosowania jest kluczowe w dziedzinie analizy danych i rozwijania aplikacji webowych.

Pytanie 13

Wskaż poprawny warunek w języku PHP, który sprawdza brak połączenia z bazą MySQL.

A. if (mysql_connect_errno()){}
B. if (mysql_connect_error())()
C. if (mysql_connect_error()}{
D. if (mysql_connect_errno()}{
Poprawna odpowiedź, czyli 'if (mysql_connect_errno()){}', jest zgodna z obowiązującymi standardami PHP i umożliwia prawidłowe sprawdzenie błędów połączenia z bazą danych MySQL. Funkcja 'mysql_connect_errno()' zwraca kod błędu, jeżeli wystąpił problem podczas nawiązywania połączenia z bazą danych. Jej użycie w warunku 'if' pozwala na przeprowadzenie odpowiednich operacji, gdy połączenie nie jest możliwe, co jest dobrą praktyką w programowaniu. Warto także zauważyć, że w przypadku, gdy wystąpi błąd, można wykorzystać funkcję 'mysql_connect_error()', aby uzyskać bardziej szczegółowe informacje na temat problemu. Przykład praktyczny zastosowania: 'if (mysql_connect_errno()) { echo "Błąd połączenia: " . mysql_connect_error(); }' pozwala na wyświetlenie komunikatu o błędzie. Takie podejście nie tylko wprowadza porządek w kodzie, ale także zapewnia lepszą kontrolę nad błędami, co jest kluczowe w tworzeniu stabilnych aplikacji webowych.

Pytanie 14

Jakie skutki wywoła poniższy fragment kodu w języku JavaScript? ```n = "Napis1"; s = n.length;```

A. Przypisze zmiennej s wartość odpowiadającą długości tekstu w zmiennej n
B. Wyświetli liczbę znaków napisu z zmiennej n
C. Przypisze wartość zmiennej n do zmiennej s
D. Przypisze zmiennej s część napisu ze zmiennej n o długości określonej przez zmienną length
Fragment skryptu w języku JavaScript, w którym zmienna n jest przypisana do napisu "Napis1", a następnie zmienna s jest przypisana do długości tego napisu, korzysta z właściwości length. Odpowiedź 3 jest poprawna, ponieważ właściwość length dla obiektów typu string zwraca liczbę znaków w danym napisie. W tym przypadku "Napis1" ma 6 znaków, więc zmienna s przyjmie wartość 6. Tego typu operacje są powszechnie stosowane w programowaniu do manipulacji i analizy danych tekstowych, co jest istotnym aspektem tworzenia aplikacji webowych. W praktyce, programiści często muszą sprawdzać długość napisów, aby weryfikować dane wejściowe, przygotowywać napisy do dalszego przetwarzania lub dostosowywać interfejs użytkownika. Dobrym przykładem zastosowania length jest walidacja formularzy, gdzie długość wprowadzonego tekstu musi spełniać określone kryteria, np. minimalną lub maksymalną liczbę znaków. Warto zaznaczyć, że zgodnie ze standardami ECMAScript, wszystkie napisy w JavaScript mają tę właściwość, co czyni ją niezwykle użyteczną w codziennej pracy programisty.

Pytanie 15

Tabela Pracownicy zawiera informacje na temat pracowników różnych działów, co jest zaznaczone przez pole liczbowe dzial. Z racji tego, że zazwyczaj kwerendy dotyczą tylko działu 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;
B. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2;
C. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
D. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2;
Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ wykorzystuje standardowe polecenie SQL do tworzenia widoku. Widok jest wirtualną tabelą, która umożliwia użytkownikom wykonywanie zapytań w oparciu o wcześniej zdefiniowane kryteria, co może znacznie uprościć złożoność zapytań w bazach danych. W tym przypadku, widok 'Prac_dzial2' automatycznie filtruje dane, zwracając jedynie pracowników przypisanych do działu 2. Przy pomocy tego widoku, użytkownicy mogą szybko uzyskać dostęp do tego subsetu danych bez konieczności każdorazowego pisania złożonych zapytań. Z perspektywy zarządzania bazą danych, tworzenie widoków jest uznawane za dobrą praktykę, ponieważ pozwala na lepszą organizację i bezpieczeństwo danych, a także stanowi dodatkową warstwę abstrakcji, która może ułatwić stosowanie polityk dostępu. Na przykład, jeśli firma zmieni strukturę działów, wystarczy zaktualizować definicję widoku, co nie wymaga modyfikacji wszystkich zapytań korzystających z tego widoku.

Pytanie 16

Jakie oznaczenie powinno się zastosować, aby umieścić film na stronie internetowej?

A. <movie>
B. <video>
C. <audio>
D. <media>
Znacznik <video> jest właściwym elementem HTML używanym do osadzania filmów na stronach internetowych. Jest on częścią standardu HTML5, który wprowadził nowoczesne podejścia do multimediów w sieci. Umożliwia on nie tylko osadzanie wideo, ale także dostosowywanie jego odtwarzania, takie jak automatyczne odtwarzanie, powtarzanie oraz kontrolowanie głośności. Przykład użycia znacznika <video>: <video src='film.mp4' controls>Odtwarzacz wideo</video>. Warto również dodać atrybuty, takie jak 'controls', które dodają przyciski do odtwarzania, pauzowania i regulacji głośności, co znacząco poprawia użyteczność dla użytkowników. Dobrą praktyką jest również używanie atrybutu 'poster' do określenia miniatury, która będzie wyświetlana przed rozpoczęciem odtwarzania, co przyciąga uwagę i zwiększa estetykę strony. Znacznik <video> wspiera różne formaty plików, takie jak MP4, WebM i Ogg, co zapewnia szeroką kompatybilność z różnymi przeglądarkami internetowymi, co jest kluczowe w dzisiejszym zróżnicowanym środowisku online.

Pytanie 17

Jaką złożoność obliczeniową posiada algorytm znajdowania elementu w nieposortowanej jednowymiarowej tablicy?

A. stałą, O(1)
B. silnia, O(n!)
C. kwadratową, O(n2)
D. liniową, O(n)
Algorytm wyszukiwania w nieposortowanej tablicy jednowymiarowej charakteryzuje się złożonością obliczeniową O(n), co oznacza, że w najgorszym przypadku będzie wymagał przeszukania każdego elementu tablicy, aby znaleźć poszukiwany element. Przykładem takiego algorytmu jest wyszukiwanie liniowe, które polega na iteracyjnym przeszukiwaniu każdego elementu od początku do końca tablicy, aż zostanie znaleziony żądany element lub zostanie osiągnięty koniec tablicy. W praktyce, algorytmy o złożoności O(n) są często stosowane w sytuacjach, gdy mamy do czynienia z danymi, które nie są posortowane, a szybkie wyszukiwanie nie jest możliwe bez wcześniejszego sortowania. W kontekście standardów branżowych, dobrze jest wiedzieć, że w systemach, w których wydajność jest kluczowa, stosuje się różnorodne techniki optymalizacji, takie jak przetwarzanie równoległe czy użycie struktur danych, które pozwalają na szybsze wyszukiwanie. Warto również zauważyć, że złożoność O(n) jest akceptowalna dla małych i średnich zbiorów danych, jednak w przypadku dużych tablic może prowadzić do zauważalnych opóźnień, dlatego w takich przypadkach warto rozważyć inne algorytmy, które mogą przyspieszyć ten proces, jak np. haszowanie.

Pytanie 18

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego W wyniku wykonania kodu zostanie wypisane imię

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Tomasz
B. Aleksandra
C. Anna
D. Krzysztof
Brawo! Twoja odpowiedź jest poprawna. Zrozumienie jak funkcje w języku PHP przetwarzają i manipulują danymi, szczególnie w kontekście tablic, jest absolutnie kluczowe. W podanym fragmencie kodu PHP, funkcja 'echo' jest użyta do wypisania elementu tablicy '$imiona' o indeksie [2]. Elementem tym jest 'Krzysztof', co jest poprawnym rozwiązaniem. PHP, jako język programowania obsługujący tablice indeksowane i asocjacyjne, pozwala na wybieranie konkretnych elementów tablicy poprzez podanie indeksu w kwadratowych nawiasach po nazwie tablicy. Jest to standardowa i często wykorzystywana praktyka w programowaniu, która umożliwia efektywne zarządzanie danymi. Dzięki temu, możemy manipulować danymi z różnych segmentów kodu, co daje nam większą elastyczność i kontrolę nad programem.

Pytanie 19

System baz danych gromadzi multimedia, co wiąże się z przechowywaniem znacznych ilości danych binarnych. Jakiego typu danych należy użyć w tym przypadku?

A. DOUBLE
B. LONGTEXT
C. ENUM
D. BLOB
Typ BLOB (Binary Large Object) służy do przechowywania dużych ilości danych binarnych, takich jak obrazy, dźwięki, filmy czy inne multimedia. BLOBy są niezwykle przydatne w aplikacjach, które wymagają zarządzania danymi o dużych rozmiarach, ponieważ pozwalają na efektywne przechowywanie i manipulowanie tymi danymi w bazie danych. Przykładem zastosowania BLOBów może być system zarządzania treścią (CMS), w którym użytkownicy mogą przesyłać zdjęcia i filmy. BLOBy umożliwiają przechowywanie tych plików w bazie, co ułatwia ich późniejsze pobieranie i wyświetlanie. W praktyce, stosując BLOBy, należy pamiętać o odpowiednich indeksach oraz optymalizacji zapytań, aby zminimalizować czas dostępu do danych. Warto również rozważyć zastosowanie systemów zarządzania bazami danych, które są dostosowane do pracy z danymi multimedialnymi, takich jak PostgreSQL czy MySQL, które obsługują typy BLOB i inne odpowiednie struktury danych. Standardy SQL definiują BLOB jako typ danych, co sprawia, że jego użycie jest zgodne z najlepszymi praktykami programowania baz danych.

Pytanie 20

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się

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

Pytanie 21

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>
A. Znacznik <br> musi być zamknięty.
B. Znaczniki powinny być zapisane wielkimi literami.
C. Pierwszy znacznik <p> nie został zamknięty.
D. Nagłówek szóstego poziomu nie istnieje.
W tym zadaniu chodziło o rozpoznanie typowego błędu związanego z poprawnym zamykaniem znaczników HTML, a dokładniej – ze znacznikiem <p>. W przedstawionym kodzie rzeczywiście pierwszy znacznik <p> nie został zamknięty przed pojawieniem się kolejnego bloku <p>, co powoduje naruszenie struktury dokumentu. Według specyfikacji HTML5, element <p> nie powinien być zagnieżdżany ani przerwany przez inny blokowy element (w tym przypadku przez drugi <p>). Przeglądarki zwykle próbują automatycznie domykać taki znacznik, ale nie jest to dobra praktyka – takie poleganie na mechanizmach autokorekty może później prowadzić do trudnych do wykrycia błędów wizualnych albo nieprzewidywalnych efektów w stylach CSS. Z mojego doświadczenia wynika, że konsekwentne zamykanie znaczników nie tylko poprawia czytelność kodu, ale i ułatwia pracę zespołową oraz skalowanie projektu. Przykład: jeśli piszesz większy artykuł i zapomnisz zamknąć <p>, cała dalsza część tekstu może zostać potraktowana jako jeden paragraf. To potrafi solidnie namieszać, nawet w prostych stronach! Branża webowa od lat promuje zasadę – pisz zgodnie ze specyfikacją, a będziesz miał mniej problemów później. Zawsze lepiej przejrzeć strukturę dokumentu dwa razy, niż potem szukać błędów na produkcji. Przy pracy z edytorami kodu warto korzystać z funkcji podświetlania składni lub walidatorów HTML, które od razu wyłapują takie potknięcia.

Pytanie 22

Program FileZilla może być użyty do

A. walidacji strony internetowej
B. publikacji strony internetowej na serwerze
C. zmiany domyślnych ustawień hostingu dla strony internetowej
D. zarządzania bazami danych strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 23

W tabeli podzespoly należy zaktualizować wartość pola URL na 'toshiba.pl' dla wszystkich rekordów, gdzie pole producent to TOSHIBA. W języku SQL ta zmiana będzie wyglądała następująco

A. UPDATE podzespoly.producent='TOSHIBA' SET URL='toshiba.pl';
B. UPDATE producent='TOSHIBA' SET URL='toshiba.pl';
C. UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA';
D. UPDATE podzespoly SET URL='toshiba.pl';
Odpowiedź ta jest prawidłowa, ponieważ poprawnie wykorzystuje składnię języka SQL do aktualizacji danych w tabeli. W instrukcji UPDATE podzespoly SET URL='toshiba.pl' WHERE producent='TOSHIBA'; najpierw wskazujemy tabelę, w której chcemy dokonać zmian, czyli 'podzespoly'. Następnie używamy klauzuli SET, aby zdefiniować nową wartość pola URL, a klauzula WHERE precyzuje, które rekordy mają zostać zaktualizowane, w tym przypadku te, gdzie producent to 'TOSHIBA'. To podejście jest zgodne z dobrymi praktykami, ponieważ stosowanie klauzuli WHERE zapobiega masowym aktualizacjom, które mogą prowadzić do niezamierzonych zmian w danych. Przykładowo, jeśli chcielibyśmy zaktualizować tylko określoną grupę produktów, klauzula WHERE pozwala na precyzyjne określenie zakresu zmian. Wprowadzenie takiej modyfikacji w bazie danych, z uwzględnieniem warunków, minimalizuje ryzyko błędów i poprawia integralność danych.

Pytanie 24

W CSS należy ustawić tło dokumentu na obrazek rys.png. Obrazek powinien się powtarzać tylko w poziomej osi. Jaką definicję powinien mieć selektor body?

A. {background-image: url("rys.png"); background-repeat: round;}
B. {background-image: url("rys.png"); background-repeat: repeat-x;}
C. {background-image: url("rys.png"); background-repeat: repeat;}
D. {background-image: url("rys.png"); background-repeat: repeat-y;}
Wybrana odpowiedź {background-image: url("rys.png"); background-repeat: repeat-x;} jest poprawna, ponieważ precyzyjnie definiuje tło dokumentu jako obrazek 'rys.png', który ma się powtarzać wyłącznie w poziomie. W CSS, właściwość 'background-image' pozwala na ustawienie obrazu jako tła, a 'background-repeat' kontroluje, w jaki sposób tło się powtarza. Użycie wartości 'repeat-x' oznacza, że obrazek będzie powtarzany tylko w osi poziomej, co jest idealne dla wzorów, które powinny być rozciągnięte na całej szerokości ekranu, ale nie na wysokości. Przykładem zastosowania może być stworzenie tła z deseniem, które ma być widoczne w poziomie, np. paski lub linie, co jest powszechnie stosowane w projektowaniu stron internetowych. Zgodnie z dobrymi praktykami, warto również pamiętać, aby dostosować rozmiar obrazka do wymagań responsywności, aby zapewnić optymalne wyświetlanie na różnych urządzeniach.

Pytanie 25

Zachowanie integralności encji w bazie danych będzie miało miejsce, jeżeli między innymi

A. klucz główny zawsze będzie liczbą całkowitą
B. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
C. każdej kolumnie przypisany zostanie typ danych
D. dla każdej tabeli zostanie ustanowiony klucz główny
Utworzenie klucza głównego dla każdej tabeli w bazie danych jest fundamentalnym krokiem w zapewnieniu integralności encji. Klucz główny jest unikalnym identyfikatorem rekordu w tabeli, co oznacza, że nie może się powtarzać i nie może mieć wartości NULL. Dzięki temu każdy wpis w tabeli można jednoznacznie zidentyfikować, co jest kluczowe dla zarządzania danymi i ich integralności. Przykładowo, w bazie danych klientów, klucz główny może być numerem identyfikacyjnym klienta, co pozwala na łatwe i efektywne wyszukiwanie, aktualizowanie oraz usuwanie danych. Stosowanie kluczy głównych jest zgodne z zasadami normalizacji baz danych, które mają na celu eliminację redundancji i zapewnienie spójności danych. W praktyce wiele systemów zarządzania bazami danych (DBMS) wymaga zadeklarowania klucza głównego podczas tworzenia tabeli, co podkreśla znaczenie tego elementu w architekturze baz danych.

Pytanie 26

Jakiej funkcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie tak, aby widoczne było jedynie to, co mieści się w ramce?

Ilustracja do pytania
A. Perspektywa
B. Kadrowanie
C. Zmiana rozmiaru
D. Lustro
Odbicie w edytorze grafiki rastrowej to jakby lustrzane odbicie całego obrazu albo jego fragmentów, co może być użyteczne, ale nie ma nic wspólnego z usuwaniem elementów z kadru. W przypadku skalowania chodzi o zmianę rozmiaru obrazu, a to nie za bardzo działa, jeśli chcemy skupić się na jednym obszarze. Perspektywa to natomiast coś, co zmienia geometrię obrazu, by dodać głębi, ale też nie służy do kadrowania konkretnej części. Często ludzie mylą te funkcje i przez to mają problemy. Ważne jest, żeby znać te różnice, bo pomagają nam lepiej używać narzędzi graficznych. Jeśli chcemy osiągnąć konkretne efekty wizualne i optymalizować grafikę na stronie, to musimy dobrze rozumieć, co jak działa. Używanie niewłaściwych narzędzi może strasznie skomplikować pracę i wpłynąć na jakość końcowego efektu. Warto znać specyfikę każdego narzędzia, żeby robić to dobrze i sprawnie w edycji grafiki rastrowej.

Pytanie 27

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. klasy
B. identyfikatora
C. selektora akapitu
D. pseudoklasy
Pseudoklasy w CSS są używane do stylizowania elementów w określonym stanie, np. :hover dla zmiany stylu po najechaniu myszą. Nie są odpowiednie do przypisywania unikalnych stylów do konkretnych elementów. Identyfikator w CSS, oznaczany przez #, jest używany do stylizowania jednego unikalnego elementu na stronie. Jego użycie jest ograniczone do jednego elementu, co jest zgodne z zasadą unikalności identyfikatorów w dokumencie HTML. Nie nadaje się do sytuacji, gdy ten sam styl ma być stosowany do wielu elementów, ponieważ zmuszałoby to do definiowania i przypisywania wielu unikalnych identyfikatorów do każdego z nich, co jest przeciwieństwem DRY (Don't Repeat Yourself). Selektor akapitu bezpośrednio odnosi się do wszystkich elementów danego typu, np. p dla wszystkich akapitów. Nie jest on elastyczny, gdy chcemy zastosować styl tylko do niektórych elementów danego typu. Klasy oferują większą elastyczność w zarządzaniu stylami wielu elementów, ponieważ mogą być stosowane do różnych typów elementów w różnych miejscach dokumentu HTML. Ponadto, klasy są bardziej czytelne i ułatwiają utrzymanie kodu, co jest zgodne z najlepszymi praktykami w programowaniu front-endowym. Użycie klas wspiera również lepszą strukturę i modularność kodu CSS, co jest istotne w kontekście pracy zespołowej oraz skalowalności projektu.

Pytanie 28

Który znacznik lub grupa znaczników nie są stosowane do definiowania struktury strony HTML?

A. <div>
B. <header>, <footer>
C. <i>, <b>, <u>
D. <section>
Znacznik <i>, <b>, <u> jest stosowany głównie do celów prezentacyjnych, a nie do definiowania struktury dokumentu HTML. <i> oznacza tekst kursywą, <b> tekst pogrubiony, a <u> tekst podkreślony. Te znaczniki są częścią HTML, ale ich główną funkcją jest wzbogacenie wizualne treści, co nie ma związku z logiczną strukturą strony. W kontekście dobrych praktyk webowych, zaleca się stosowanie znaczników semantycznych, które dostarczają bardziej zrozumiałych informacji o treści strony wyszukiwarkom i asystentom technologicznym. Przykładowo, zamiast używać <b> dla podkreślenia znaczenia tekstu, warto skorzystać z <strong>, który również pogrubia tekst, ale dodatkowo wskazuje, że jest on istotny. Dobre praktyki sugerują, aby struktura strony była wyraźna i zrozumiała, co ułatwia nawigację oraz dostępność. Właściwe użycie znaczników takich jak <header>, <footer> czy <section> pomaga w tworzeniu jasnej i logicznej hierarchii dokumentu.

Pytanie 29

Wskaż, jaki błąd walidacyjny zawiera przedstawiony fragment kodu w języku HTML 5.

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący ...</p>
A. Znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania
B. Znacznik h6 nie jest używany w HTML5
C. Znacznik br nie został prawidłowo zamknięty
D. Znacznik br nie powinien znajdować się wewnątrz znacznika p
W analizowanym fragmencie kodu HTML, znacznik zamykający /b jest niezgodny z zasadą zagnieżdżania. W prawidłowej konstrukcji HTML, znaczniki powinny być zamykane w odwrotnej kolejności do ich otwierania — nazywa się to zasadą LIFO (Last In, First Out). W przedstawionym kodzie, znacznik <b> jest otwierany przed znacznikiem <i>, ale zamykany po nim, co jest błędem strukturalnym. Poprawny zapis powinien wyglądać tak: <b><i>Cascading Style Sheets</i></b>. Ważne jest, aby zawsze pamiętać o poprawnej strukturze dokumentu HTML, ponieważ nieprzestrzeganie tej zasady może prowadzić do nieprzewidywalnych wyników renderowania na różnych przeglądarkach. Zasada ta jest kluczowa w zapewnieniu, że znaczniki są zagnieżdżone poprawnie i że style oraz skrypty działają zgodnie z oczekiwaniami. Tego rodzaju błędy mogą również negatywnie wpływać na dostępność strony dla użytkowników korzystających z czytników ekranowych.

Pytanie 30

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy: ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';``` Wskaź, które zapytanie zwróci te same dane.

A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 31

Aby uzyskać dane dotyczące środowiska, w którym działa serwer obsługujący PHP, należy użyć funkcji

A. phpinfo()
B. phpgetinfo()
C. phpinformation()
D. php()
Funkcja phpinfo() jest kluczowym narzędziem dla programistów i administratorów systemów, pozwalającym na uzyskanie szczegółowych informacji o środowisku PHP zainstalowanym na serwerze. Po jej wywołaniu otrzymujemy kompletny zestaw danych, który obejmuje wersję PHP, zainstalowane rozszerzenia, konfiguracje oraz informacje o serwerze, takie jak wersja serwera HTTP. Przykładowe użycie polega na umieszczeniu w skrypcie PHP linii <?php phpinfo(); ?>, co spowoduje wygenerowanie strony z informacjami, które mogą być przydatne w diagnostyce problemów lub podczas optymalizacji aplikacji. Funkcja ta jest zgodna ze standardami PHP i jest powszechnie stosowana w celu monitorowania środowiska pracy. Ważne jest, aby pamiętać, że udostępnianie wyników phpinfo() publicznie może stanowić zagrożenie dla bezpieczeństwa, dlatego zaleca się ograniczenie dostępu do tej informacji tylko do zaufanych użytkowników i środowisk deweloperskich. W kontekście rozwoju aplikacji, phpinfo() jest również pomocne przy identyfikacji dostępnych ustawień konfiguracyjnych oraz ich wartości, co jest nieocenione podczas procesu rozwoju i testowania.

Pytanie 32

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:active { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:hover { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 33

Do jakiego celu służy certyfikat SSL?

A. zapisywania informacji o sesjach generowanych w witrynie
B. blokowania złośliwego oprogramowania na stronie
C. deszyfracji danych przesyłanych w sieci
D. zidentyfikowania posiadacza witryny
Odpowiedzi związane z blokowaniem szkodliwego oprogramowania, zapisywaniem danych o sesjach oraz deszyfracją transmitowanych danych są niepoprawne w kontekście funkcji certyfikatu SSL. Certyfikat SSL nie ma funkcji blokowania złośliwego oprogramowania, ponieważ jego zadaniem jest zapewnienie bezpieczeństwa komunikacji poprzez szyfrowanie danych. Złośliwe oprogramowanie jest zazwyczaj eliminowane przez oprogramowanie zabezpieczające, a nie przez SSL. W odniesieniu do zapisania danych o sesjach, certyfikat SSL nie przechowuje informacji o sesjach ani o użytkownikach. Sesje są zarządzane przez aplikacje serwerowe, a SSL jedynie zabezpiecza przesyłane dane podczas sesji. Co więcej, SSL nie zajmuje się deszyfracją transmitowanych danych, ponieważ szyfrowanie i deszyfrowanie danych odbywa się w momencie komunikacji, a nie jako osobny proces czy funkcja certyfikatu. SSL działa na zasadzie wymiany kluczy szyfrujących pomiędzy serwerem a klientem, gdzie dane są szyfrowane w momencie przesyłania, a następnie deszyfrowane przez odbiorcę, co również nie jest funkcją certyfikatu, ale całego protokołu zabezpieczeń.

Pytanie 34

Jakie funkcje w języku PHP umożliwiają weryfikację wartości oraz typu zmiennej?

A. implode()
B. readfile()
C. strlen()
D. var_dump()
Pozostałe funkcje, takie jak readfile(), implode() oraz strlen(), nie są przeznaczone do sprawdzania wartości i typu zmiennych w PHP, co czyni je niewłaściwymi odpowiedziami w kontekście postawionego pytania. readfile() służy do odczytu zawartości pliku i wysłania jej bezpośrednio do wyjścia standardowego, co czyni ją narzędziem do pracy z plikami, a nie do analizy zmiennych. Funkcja ta jest wykorzystywana głównie w kontekście serwisów internetowych do generowania plików do ściągnięcia lub wyświetlania ich zawartości, a zatem nie spełnia roli analitycznej. implode() to funkcja, która łączy elementy tablicy w jeden ciąg znaków, co również nie ma związku z oceną typów lub wartości zmiennych. Jej głównym zastosowaniem jest manipulacja danymi tekstowymi, co sprawia, że jest użyteczna w innych kontekstach, ale nie w analizie zmiennych. Z kolei strlen() oblicza długość łańcucha znaków, zwracając liczbę znaków w danym ciągu, co jest użyteczne w kontekście walidacji danych lub ich przetwarzania, ale nie dostarcza informacji o typie czy wartości zmiennej. W tym kontekście każda z tych funkcji ma swoje specyficzne zastosowania, jednak żadna z nich nie jest odpowiednia do bezpośredniego sprawdzania typu oraz wartości zmiennej, co czyni je błędnymi odpowiedziami na postawione pytanie.

Pytanie 35

Który składnik języka HTML jest niezbędny, aby uniknąć błędu w walidacji HTML5?

A. prologu <!DOCTYPE html>
B. przynajmniej jednego <h1>
C. <meta name="author" content="....">
D. <body>
Prolog <!DOCTYPE html> jest kluczowym elementem każdego dokumentu HTML5, który definiuje typ dokumentu i jego wersję. Jego obecność umożliwia przeglądarkom internetowym prawidłowe interpretowanie i renderowanie treści strony. Bez tego prologu przeglądarka nie ma informacji o tym, że strona powinna być interpretowana jako dokument HTML5, co może prowadzić do nieprzewidywalnych wyników w renderowaniu i działaniu strony. W praktyce, dodanie <!DOCTYPE html> na początku dokumentu HTML jest fundamentalnym krokiem, który powinien być zawsze przestrzegany. Standardy W3C jasno określają, że prolog jest niezbędny, aby zapewnić zgodność z HTML5 i uniknąć błędów walidacji. Na przykład, jeśli zapomnimy o tym elemencie, nasza strona może nie wyświetlać się poprawnie w różnych przeglądarkach, co z kolei wpłynie na doświadczenia użytkowników oraz pozycjonowanie strony w wyszukiwarkach. Dlatego każdy programista powinien traktować <!DOCTYPE html> jako nieodłączny element kodu HTML, zapewniając tym samym stabilność i spójność prezentowanej treści.

Pytanie 36

Jakie wartości powinny mieć zmienne w funkcji z biblioteki mysqli, by ustanowić połączenie z serwerem i bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
B. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
C. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
D. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
Wybór złych odpowiedzi pewnie wynika z tego, że nie do końca zrozumiałeś, jak ważna jest prawidłowa kolejność argumentów w funkcji mysqli_connect. Często zdarza się pomylić kolejność argumentów przy połączeniu z bazą danych. Rozumienie tej logiki jest naprawdę istotne: pierwszy argument to adres serwera, np. localhost, a drugi to nazwa użytkownika. Trzeci to hasło do bazy, a czwarty to nazwa bazy, z którą chcesz się połączyć. Jak zmienisz kolejność tych zmiennych, to nie uda się nawiązać połączenia, bo serwer nie będzie wiedział, jak uwierzytelnić użytkownika ani znaleźć bazy. Użytkownikom, którzy nie czują się pewnie w tym temacie, może to być frustrujące. Z mojego doświadczenia, kluczem jest dobrze poznać specyfikację funkcji oraz myśleć logicznie, żeby przypisać zmienne do odpowiednich argumentów. Jak to ogarniesz, to unikniesz wielu błędów i lepiej sobie poradzisz z bazami danych w przyszłości.

Pytanie 37

W SQL wykonano poniższe instrukcje GRANT. Kto będzie miał prawa do przeglądania oraz modyfikacji danych?

GRANT ALL ON firmy TO 'admin'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Tomasz i Adam
B. Tomasz i Anna
C. Adam i Anna
D. Tylko Tomasz
Nieprawidłowe rozumienie problemu wynika z błędnej interpretacji przyznanych uprawnień SQL. Anna choć posiada uprawnienia ALTER CREATE i DROP które odnoszą się do zarządzania strukturą bazy danych takie jak dodawanie czy usuwanie tabel lub zmiana ich struktury nie ma uprawnień do przeglądania czy modyfikowania zawartości tabel. To oznacza że nie może przeglądać ani modyfikować danych co wyklucza ją jako osobę mającą prawo do przeglądania i zmiany danych w kontekście tego pytania. Adam w przesłanych komendach nie jest wymieniony co jasno wskazuje że żadne uprawnienia nie zostały mu przyznane. Często popełnianym błędem jest założenie że posiadanie uprawnień do zmiany struktury bazy danych automatycznie pozwala na przeglądanie danych jednak w rzeczywistości uprawnienia te są rozdzielone co jest kluczowe dla zapewnienia bezpieczeństwa danych. Rozróżnienie między uprawnieniami do zarządzania danymi a ich strukturyzowania jest fundamentalne w pracy z bazami danych i niezbędne do skutecznego administrowania dostępem użytkowników. Tomasz jako jedyny uzyskał odpowiednie uprawnienia do przeglądania i modyfikacji danych co jasno wynika z przyznanych mu uprawnień SQL.

Pytanie 38

W PHP, aby połączyć się z bazą danych MySQL przy użyciu biblioteki mysqli, w zapisie zamieszczonym poniżej, w miejscu litery 'c' powinno się wpisać

Ilustracja do pytania
A. nazwę bazy danych
B. nazwę użytkownika
C. hasło użytkownika
D. lokalizację serwera bazy danych
Rozważając, co powinno znajdować się na miejscu oznaczonym literą 'c', należy zrozumieć, jak działa funkcja mysqli w PHP. Pierwszym argumentem jest lokalizacja serwera bazy danych, często jest to 'localhost' dla lokalnych połączeń, co może prowadzić do błędnego założenia, że to właśnie ten parametr znajduje się pod literą 'c'. Drugi parametr powinien być nazwą użytkownika bazy danych, co w kontekście bezpieczeństwa jest elementem, na który zawsze trzeba zwracać uwagę. Hasło użytkownika znajduje się na trzeciej pozycji i jest kluczowe dla zapewnienia, że tylko uprawnione osoby mogą uzyskać dostęp do bazy. Czwarty parametr to nazwa bazy danych, która jest niezbędna do określenia, z którą bazą chcemy pracować w ramach danego połączenia. Często błędnie przyjmuje się, że nazwa bazy powinna być na pierwszym miejscu, co wynika z zamieszania co do struktury danych wejściowych. Warto dodać, że lokalizacja serwera, choć czasem zaniedbywana, jest kluczowa w środowiskach rozproszonych, gdzie połączenia mogą być nawiązywane z różnych serwerów lub maszyn wirtualnych. Każdy z tych elementów jest istotny i musi być poprawnie zidentyfikowany, aby połączenie z bazą danych było skuteczne i bezpieczne. Praktyczne umiejętności w tej dziedzinie są kluczowe, zwłaszcza przy projektowaniu i wdrażaniu aplikacji działających w profesjonalnym środowisku produkcyjnym.

Pytanie 39

Specjalna funkcja danej klasy stosowana w programowaniu obiektowym, która jest wywoływana automatycznie w momencie tworzenia obiektu, a jej głównym celem jest zazwyczaj inicjalizacja pól, to

A. konstruktor
B. destruktor
C. specyfikator dostępu
D. obiekt
Obiekt, destruktor oraz specyfikator dostępu to terminy związane z programowaniem obiektowym, jednak nie odnoszą się one do mechanizmu inicjowania obiektów w taki sposób, jak to robi konstruktor. Obiekt to instancja klasy, która powstaje jako rezultat działania konstruktora. Bezpośrednio nie pełni on żadnej roli w procesie tworzenia, a jedynie jest jego efektem. Destruktor, przeciwnie do konstruktora, jest wywoływany automatycznie, gdy obiekt przestaje być potrzebny, a jego zadaniem jest zwolnienie zasobów zajmowanych przez obiekt. Błędne jest przyjęcie, że destruktor mógłby inicjować pola obiektu, gdyż jego rola dotyczy sprzątania po obiekcie, a nie jego tworzenia. Specyfikator dostępu to termin odnoszący się do modyfikatorów, które kontrolują widoczność członków klasy, takich jak public, private, czy protected. To pojęcie nie ma związku z procesem tworzenia, a jedynie z kontrolowaniem dostępu do poszczególnych elementów klasy. Pojęcia te mogą być mylone przez osoby, które nie mają pełnej wiedzy na temat podstawowych zasad programowania obiektowego, co prowadzi do nieporozumień i błędnych wniosków o funkcjach i rolach poszczególnych elementów w tym paradygmacie. Kluczowe jest zrozumienie, że konstruktor jest jedynym mechanizmem bezpośrednio odpowiedzialnym za inicjowanie nowych obiektów.

Pytanie 40

W przedstawionym kodzie PHP, co powinno się wyświetlić zamiast znaków zapytania?

$x = mysql_query('SELECT * FROM mieszkancy');
if(!$x)
echo "???????????????????????";
A. Zapytanie zostało zrealizowane pomyślnie
B. Nieprawidłowe hasło do bazy danych
C. Niepoprawna nazwa bazy danych
D. Błąd w trakcie przetwarzania zapytania
W przypadku odpowiedzi Nieprawidłowe hasło do bazy danych taki komunikat pojawiłby się raczej na wcześniejszym etapie procesu nawiązywania połączenia z bazą danych a nie podczas przetwarzania samego zapytania SQL Błąd związany z hasłem jest związany z funkcją mysql_connect a nie z mysql_query co wskazuje na niepoprawne zrozumienie sekwencji działań w PHP Podobnie odpowiedź Nieprawidłowa nazwa bazy danych sugeruje problem na etapie nawiązywania połączenia z bazą danych zanim jakiekolwiek zapytanie zostanie wykonane Takie błędy zwykle wynikają z podania niepoprawnych parametrów w funkcji łączącej z bazą danych a nie podczas wykonywania zapytania Dodatkowo wybór tej odpowiedzi wskazuje na brak zrozumienia jak działa mechanizm wyboru bazy danych w PHP Odpowiedź Zapytanie przetworzono pomyślnie jest logicznie błędna w kontekście użycia bloku if(!x) który wyraźnie wskazuje na reakcję na niepowodzenie zadania więc nie może być wybrana jako prawidłowa w sytuacji gdy oczekiwane jest wystąpienie błędu Takie błędy myślowe często wynikają z niezrozumienia struktury warunkowej w PHP oraz sposobu obsługi błędów Praktyczną wskazówką jest zawsze testowanie i logowanie komunikatów zwracanych przez funkcje PHP co jest zgodne z dobrymi praktykami programistycznymi i pozwala unikać takich pomyłek