Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 15 maja 2026 08:01
  • Data zakończenia: 15 maja 2026 08:12

Egzamin niezdany

Wynik: 14/40 punktów (35,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Jakie polecenie w CSS umożliwia dodanie zewnętrznego arkusza stylów?

A. import
B. include
C. open
D. require
Użycie poleceń takich jak 'require', 'include' czy 'open' w kontekście CSS jest błędne, ponieważ nie są one częścią standardowego języka CSS. 'Require' i 'include' są terminami używanymi w kontekście języków programowania, takich jak PHP, gdzie umożliwiają one włączanie plików, ale nie mają zastosowania w CSS. Przykładowo, w PHP można załączyć plik z funkcjami w ten sposób: 'include 'functions.php';', co pokazuje, jak specyficzne języki programowania mają swoje własne mechanizmy włączania plików. W przypadku CSS, celem jest stylizacja dokumentów HTML, a nie manipulacja strukturą plików. 'Open' natomiast nie jest terminem związanym z załączaniem stylów i nie ma odpowiednika w CSS. Powszechnym błędem jest mylenie koncepcji załączania plików, które są specyficzne dla danej technologii. W CSS jedyną poprawną metodą jest użycie '@import', co zapewnia, że style są ładowane w odpowiedniej kolejności i w odpowiednich kontekście, co jest kluczowe dla zachowania integralności wizualnej i funkcjonalnej strony. Dlatego ważne jest, aby zwracać uwagę na specyfikę każdego języka i stosować odpowiednie dla niego mechanizmy, unikając przenoszenia koncepcji z innych technologii, co może prowadzić do nieporozumień.

Pytanie 2

Jakie imiona spełniają warunki klauzuli LIKE w zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Krzysztof, Krystyna, Romuald
B. Gerald, Jarosław, Marek, Tamara
C. Arleta, Krzysztof, Krystyna, Tristan
D. Rafał, Rebeka, Renata, Roksana
Zapytanie SQL wykorzystuje klauzulę LIKE, która pozwala na wyszukiwanie wzorców w danych tekstowych. W tym przypadku wzór '_r%' oznacza, że szukamy imion, które mają na drugiej pozycji literę 'r' i mogą mieć dowolne znaki po tej literze. W analizowanych imionach, Arleta, Krzysztof, Krystyna oraz Tristan spełniają ten warunek, ponieważ: Arleta ma 'r' na drugiej pozycji, Krzysztof również, Krystyna także, a Tristan ma 'r' na drugiej pozycji. Przykład użycia klauzuli LIKE jest szczególnie przydatny w systemach, gdzie często zachodzi potrzeba filtrowania danych tekstowych na podstawie określonych wzorców. W praktyce, stosowanie klauzuli LIKE w zapytaniach SQL powinno być zgodne z najlepszymi praktykami, takimi jak optymalizacja indeksów i unikanie nadmiernego używania znaków wieloznacznych, które mogą prowadzić do spadku wydajności. Warto również pamiętać, że w wielu systemach baz danych klauzula LIKE jest czuła na wielkość liter, co może wpływać na wyniki zapytań.

Pytanie 3

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. wszystkich akapitów
B. akapitów, którym przypisano klasę uzytkownik
C. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik
D. wyłącznie znaczników tekstowych takich jak <p>, <h1>
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.

Pytanie 4

Zapis CSS w postaci: ```ul{ list-style-image:url('rys.gif');}``` spowoduje, że na stronie internetowej

A. rys.gif będzie służyć jako tło dla nienumerowanej listy
B. rysunek rys.gif zostanie wyświetlony jako punkt listy nienumerowanej
C. punktorem nienumerowanej listy stanie się rys.gif
D. każdy element listy zyska indywidualne tło pochodzące z grafiki rys.gif
Podane odpowiedzi, które sugerują alternatywne interpretacje, nie są zgodne z rzeczywistością techniczną CSS. Przede wszystkim, twierdzenie, że rys.gif będzie stanowił ramkę dla listy nienumerowanej, jest błędne, ponieważ właściwość 'list-style-image' nie ma wpływu na obramowanie listy, a jedynie na sposób, w jaki są wyświetlane punkty listy. CSS do definiowania obramowań używa innych właściwości, takich jak 'border'. Z kolei stwierdzenie o wyświetlaniu rysunku rys.gif jako tł listy nienumerowanej jest mylące; to nie jest tło całej listy, ale pojedyncze punkty, które zastępują tradycyjne znaczniki. Ostatnia niepoprawna odpowiedź sugeruje, że każdy punkt listy miałby osobne tło pobrane z grafiki rys.gif. Jest to błędne, ponieważ definicja tła w CSS dotyczy całego elementu, a nie poszczególnych znaczników. Aby uzyskać różne tła dla elementów listy, należałoby użyć oddzielnych właściwości CSS dla każdego z nich zamiast 'list-style-image'. Dlatego wszystkie te odpowiedzi nie uwzględniają zasadniczej funkcji właściwości CSS, jaką jest kontrolowanie wizualnych markerów listy.

Pytanie 5

W CSS zastosowano stylowanie elementu listy, przy czym żadne inne style CSS nie zostały ustalone. Użyte stylowanie spowoduje, że

li :hover { color: Maroon; }
A. Wszystkie teksty elementów listy będą w kolorze Maroon.
B. Kolor Maroon będzie dotyczył co drugiego elementu listy.
C. Po najechaniu kursorem na element listy, kolor tekstu zmieni się na Maroon.
D. Teksty wszystkich elementów, którym nadano id „hover”, będą w kolorze Maroon.
Twoja odpowiedź jest na pewno trafna, bo reguła CSS li:hover { color: Maroon; } działa w kontekście pseudo-klasy :hover. To znaczy, że jak najedziesz kursorem na element listy (li), to jego kolor tekstu zmienia się na Maroon. Fajnie, że to wiesz! Takie podejście jest zgodne z zasadami CSS, które pozwalają na dynamiczne zmiany wyglądu elementów, gdy użytkownik z nimi interaguje. Na przykład, jeżeli masz listę z elementami <li>, to najeżdżając na nie, kolor tekstu zmienia się na Maroon. To może naprawdę poprawić użytkowanie strony i wyróżnić ważne elementy w interfejsie. Używanie pseudo-klas, jak :hover, to standard w projektowaniu stron, które są responsywne i interaktywne, co znacznie podnosi komfort przeglądania.

Pytanie 6

W CSS, aby zmienić kolor czcionki dowolnego elementu HTML po najechaniu na niego kursorem, należy użyć pseudoklasy

A. :hover
B. :active
C. :visited
D. :coursor
Pseudoklasa :hover jest kluczowym elementem w CSS, umożliwiającym stylizację elementów HTML w momencie, gdy użytkownik najeżdża na nie kursorem myszy. Dzięki temu możemy w sposób dynamiczny zmieniać właściwości prezentacyjne, takie jak kolor czcionki, tło, obramowanie, a także inne atrybuty, co znacząco zwiększa interaktywność strony. Definiując regułę CSS z użyciem :hover, możemy na przykład zmienić kolor tekstu z szarego na niebieski, co przyciąga uwagę użytkownika. Przykładowa reguła CSS wygląda następująco: `a:hover { color: blue; }`, co oznacza, że elementy linków zmienią kolor na niebieski po najechaniu na nie kursorem. Pseudoklasa :hover jest zgodna z W3C CSS Specification i działa w większości nowoczesnych przeglądarek, co czyni ją niezbędnym narzędziem w arsenale każdego web developera. Używanie tej pseudoklasy pomaga w budowaniu responsywnych interfejsów użytkownika, które są bardziej przyjazne i angażujące. Poprawne zastosowanie :hover zwiększa również dostępność witryn, ponieważ użytkownicy mogą lepiej orientować się w interakcji z elementami strony.

Pytanie 7

W języku PHP nie można wykonać

A. Obsługiwania danych z formularzy
B. Dynamicznej zmiany treści strony HTML w przeglądarce
C. Tworzenia dynamicznej treści strony
D. Operacji na danych zgromadzonych w bazie danych
Przetwarzanie danych formularzy, przetwarzanie danych zgromadzonych w bazie danych oraz generowanie dynamicznej zawartości strony to wszystkie operacje, które PHP wykonuje na serwerze. Przetwarzanie danych formularzy jest jednym z podstawowych zastosowań PHP; skrypty PHP odbierają dane wysłane przez użytkowników, wykonują na nich różne operacje, takie jak walidacja czy zabezpieczenie, a następnie mogą zapisywać je w bazie danych lub wykorzystywać do generowania odpowiedzi. Korzystając z PHP, programiści mogą łączyć się z bazami danych, takimi jak MySQL, aby przetwarzać duże ilości danych. To pozwala na dynamiczne generowanie treści na stronie w odpowiedzi na zapytania użytkowników, co czyni aplikacje bardziej interaktywnymi. Generowanie dynamicznej zawartości oznacza, że na podstawie danych wejściowych PHP może tworzyć różnorodne widoki, które są dostosowane do potrzeb użytkowników. Często jednak zapomina się, że przetwarzanie tych danych i generowanie odpowiedzi odbywa się jedynie na etapie serwera, co ogranicza jego zdolność do reagowania na zmiany w czasie rzeczywistym na stronie bez ponownego załadowania. To prowadzi do mylnego wrażenia, że PHP może również zmieniać zawartość strony w przeglądarce, co nie jest prawdą. Do osiągnięcia takich efektów konieczne jest wykorzystanie języków skryptowych działających po stronie klienta, takich jak JavaScript, które są odpowiedzialne za interakcję z DOM i dynamiczne modyfikowanie treści wyświetlanej użytkownikowi.

Pytanie 8

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. aktualnej wersji kopii zapasowej
B. kompletnej listy użytkowników serwera
C. najświeższej wersji instalacyjnej serwera
D. opisu struktur danych w tabelach
Aby skutecznie przywrócić działanie bazy danych po jej uszkodzeniu, kluczowe jest wykorzystanie aktualnej wersji kopii zapasowej. Kopie zapasowe są fundamentem każdego planu odzyskiwania danych i powinny być regularnie tworzone zgodnie z polityką zarządzania danymi. Przykładowo, jeśli korzystamy z bazy danych w środowisku produkcyjnym, zaleca się wykonywanie codziennych kopii zapasowych oraz pełnych kopii co tydzień. W przypadku awarii, przywrócenie systemu do stanu sprzed incydentu za pomocą najnowszej kopii zapasowej minimalizuje utratę danych i przestoje. Praktyki takie jak backup w czasie rzeczywistym (real-time backup) mogą być również rozważane, aby ograniczyć ryzyko utraty danych. W kontekście standardów branżowych, organizacje powinny stosować zasady RTO (Recovery Time Objective) i RPO (Recovery Point Objective), które pomogą w określeniu najodpowiedniejszej strategii tworzenia kopii zapasowych i ich przechowywania. Zastosowanie aktualnych kopii zapasowych jest zatem najskuteczniejszym sposobem na przywrócenie funkcjonalności bazy danych.

Pytanie 9

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <head>Moja strona</head>
B. <title>Moja strona</title>
C. <meta name="title" content="Moja strona" />
D. <meta title="Moja strona">
Element <title> jest absolutnie podstawą, jeśli chodzi o definiowanie tytułu strony w HTML. Umieszcza się go zawsze wewnątrz sekcji <head>, a jego zawartość jest tym, co wyświetla się na karcie przeglądarki. Moim zdaniem to jedna z tych rzeczy, które – choć wydają się drobiazgiem – mają duży wpływ na użyteczność i pozycjonowanie strony. Jeśli budujesz własną stronę lub pracujesz przy większym projekcie, warto pamiętać, żeby tytuł był unikalny i możliwie krótki, bo to właśnie on pojawia się również w wynikach wyszukiwania Google. Organizacje takie jak W3C wyraźnie podkreślają, że <title> jest wymagany w każdym dokumencie HTML5. Często też spotykałem się z przypadkami, gdzie ktoś zapominał o tym tagu i potem dziwił się, że przeglądarka pokazuje „Untitled” albo po prostu adres URL na pasku zakładki. Z praktyki – zawsze warto od razu na początku pracy nad stroną ustawić sensowny tytuł, bo potem łatwo o tym zapomnieć. A jak już masz kilka kart z otwartymi projektami, czy klient patrzy na podgląd w wyszukiwarce – profesjonalnie przygotowany tytuł robi robotę. Pamiętaj też, że <title> nie jest miejscem na wrzucanie dodatkowego kodu HTML, tylko sam tekst. Prosta sprawa, a oszczędza potem sporo nerwów.

Pytanie 10

Najprostszy sposób zamiany obiektu oznaczonego cyfrą 1 na obiekt oznaczony cyfrą 2 polega na

Ilustracja do pytania
A. animowaniu obiektu.
B. zmianie warstwy obiektu.
C. narysowaniu docelowego obiektu.
D. geometrycznym transformowaniu obiektu.
Wybrałeś poprawną odpowiedź, która jest 'geometrycznym transformowaniem obiektu'. Kiedy mówimy o transformacji geometrycznej, mamy na myśli różne operacje, które można wykonać na obiektach, takie jak skalowanie, obracanie i przesuwanie. W przypadku obiektu oznaczonego numerem 1 i numerem 2 na obrazku, najprostszym sposobem na przekształcenie jednego w drugi jest używanie transformacji geometrycznej. Obiekt numer 2 jest większy i obrócony w stosunku do obiektu numer 1. Dzięki transformacjom geometrycznym mogliśmy osiągnąć ten efekt, skalując i obracając obiekt numer 1. Transformacje geometryczne są podstawą wielu operacji w dziedzinach takich jak grafika komputerowa, projektowanie CAD, animacja, a także w wielu innych dziedzinach technologii i nauki.

Pytanie 11

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { float: right; }
W tym zadaniu kluczowe jest zrozumienie, jak naprawdę działa float, a nie tylko samo skojarzenie, że „left to lewo, right to prawo”. Wiele osób myśli, że wystarczy ustawić jeden element na lewo, drugi na prawo i wszystko magicznie się poukłada. W praktyce przeglądarka trzyma się bardzo konkretnych reguł: najpierw liczy kolejność elementów w HTML, potem dopiero stosuje float i układa je możliwie jak najwyżej i jak najbliżej odpowiedniej krawędzi. Jeśli nada się float tylko dla aside albo tylko dla nav, to zmienia się ich pozycja, ale układ trzech bloków nie spełni warunku z zadania: aside i nav nie zamienią się miejscami z pozostawieniem section w środku. Przykładowo, samo float: left na aside niczego nie „zamieni”, bo element i tak pojawia się jako pierwszy w kodzie, więc będzie u góry, tylko że „przyklejony” do lewej. Z kolei ustawienie nav na prawą stronę bez odpowiedniego floatowania section prowadzi do sytuacji, gdzie section nadal zachowuje się jak normalny blok, zwykle ląduje pod elementami pływającymi albo obok nich w sposób mało przewidywalny dla początkującego. Częsty błąd myślowy polega też na tym, że ktoś próbuje wszystkim elementom dać float: left, licząc na to, że przeglądarka „ułoży je po swojemu”. Wtedy jednak wszystkie te bloki ustawiają się w jednym kierunku, w kolejności z HTML, więc nie ma mowy o świadomym „zamienianiu miejsc”. Brak zrozumienia, że float wyjmuje element z normalnego przepływu i wpływa na to, jak kolejne elementy zawijają się wokół niego, prowadzi właśnie do takich błędnych odpowiedzi. Z mojego doświadczenia lepiej jest najpierw narysować sobie prosty schemat: w jakiej kolejności idą znaczniki i które z nich mają pływać w prawo, a które zostać w naturalnym układzie. Dopiero wtedy dobiera się konkretne deklaracje CSS. Takie myślenie przydaje się nie tylko przy float, ale też przy nauce flexboxa czy grida, gdzie kolejność w DOM i własności układu też grają ogromną rolę.

Pytanie 12

Angielskim tłumaczeniem słowa "zapytanie", używanym w bazach danych SQL jest

A. query.
B. keyword.
C. select.
D. asterisk.
Poprawnie – w kontekście baz danych SQL angielskim odpowiednikiem słowa „zapytanie” jest „query”. W całym ekosystemie bazodanowym, zarówno w dokumentacji technicznej, jak i w praktyce zawodowej, przyjęło się, że query to właśnie żądanie skierowane do silnika bazy danych o zwrócenie, modyfikację lub analizę danych. Może to być zarówno proste zapytanie SELECT, jak i bardziej złożone polecenia typu INSERT, UPDATE, DELETE czy nawet zagnieżdżone podzapytania. Mówiąc, że „piszemy query do bazy”, mamy na myśli kompletne zapytanie SQL, które serwer interpretuje i wykonuje. W praktyce, w narzędziach takich jak phpMyAdmin, SQL Server Management Studio, pgAdmin czy nawet w ORM-ach (np. w Laravelu, Django), wszędzie pojawia się pojęcie „query builder”, „query log”, „query optimization”. To wszystko odnosi się właśnie do zapytań. Warto też kojarzyć, że w literaturze i kursach często rozróżnia się pojęcie „query” (czyli konkretne zapytanie) od „statement” (instrukcja, polecenie w języku SQL), ale w mowie potocznej programistów często się to miesza. Dobrą praktyką jest używanie słowa „query” zawsze wtedy, gdy mówimy o operacji odczytu lub ogólnie o wysłaniu zapytania SQL do bazy, a nie np. o nazwie słowa kluczowego czy znaku specjalnym. W projektach komercyjnych, logach aplikacji, monitoringu wydajności, wszędzie będzie pojawiać się termin „slow queries”, „expensive queries” – i to zawsze oznacza wolno działające zapytania. Moim zdaniem warto się szybko przyzwyczaić do tego terminu, bo jest absolutnie podstawowy w pracy z bazami danych.

Pytanie 13

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 JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id
B. SELECT imie, nazwisko, ulica FROM Mieszkancy, 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
Prawidłowa odpowiedź wykorzystuje funkcję JOIN, aby połączyć tabele Mieszkancy i Adresy na podstawie wspólnego klucza, czyli Adresy_id z tabeli Mieszkancy i id z tabeli Adresy. Takie podejście jest zgodne z dobrymi praktykami baz danych, ponieważ zapewnia, że tylko powiązane wiersze są zwracane w wyniku. W zapytaniu SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id jasno określamy, że chcemy wyciągnąć tylko kolumny imie, nazwisko oraz ulica, co minimalizuje ilość przetwarzanych danych, a co za tym idzie, zwiększa wydajność. W rzeczywistych scenariuszach, takie zapytania są kluczowe w aplikacjach, gdzie konieczne jest uzyskanie pełnych danych dotyczących mieszkańców i ich adresów bez zbędnych informacji. Dobre praktyki SQL sugerują, aby zawsze wybierać tylko te kolumny, które są potrzebne, co pomaga w optymalizacji zasobów serwera i poprawie szybkości przetwarzania zapytań. JOIN jest preferowany nad starym stylem, jakim jest użycie przecinków i warunku w WHERE, z powodu lepszej czytelności i mniejszej podatności na błędy, co czyni kod bardziej zrozumiałym i łatwiejszym do utrzymania.

Pytanie 14

Wskaż problem z walidacją w podanym fragmencie kodu HTML

<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 br nie został poprawnie zamknięty
B. Znacznik br nie może występować wewnątrz znacznika p
C. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania
D. Nieznany znacznik h6
W przypadku innych odpowiedzi warto zrozumieć dlaczego są one niepoprawne Znacznik br jest rzeczywiście samodzielnym znacznikiem i w starszych wersjach HTML można było go nie zamykać jednak w HTML5 a także dla zachowania zgodności z XML należy go zamykać jako br co zapobiega potencjalnym błędom przy przetwarzaniu dokumentu Znacznik h6 jest jednym z nagłówków dostępnych w HTML i jest jak najbardziej prawidłowy i znany HTML udostępnia sześć poziomów nagłówków od h1 do h6 każdy z nich służy do strukturalnego wyróżnienia treści na stronie Ostatecznie jeśli chodzi o znacznik br umieszczony wewnątrz znacznika p jest to zgodne z HTML mimo że takie użycie może prowadzić do nieczytelności kodu i jest ogólnie odradzane gdyż może zakłócać semantykę dokumentu W tym wypadku lepiej byłoby używać CSS do kontrolowania odstępów między elementami a nie polegać na znaczniku br w paragrafach Błędy te są powszechne wśród początkujących i wynikają często z braku zrozumienia struktury dokumentu HTML oraz jego semantyki Warto zatem zgłębić zasady poprawnego pisania HTML aby zapewnić zgodność z przeglądarkami oraz poprawną prezentację treści na stronie internetowej

Pytanie 15

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 2200
B. 2600
C. 1300
D. 5400
Rozważając pozostałe opcje odpowiedzi możemy zauważyć że błędem jest nieuwzględnianie warunku WHERE pensja < 3000 w kwerendzie. Opcja 1300 jest niższa niż 2600 ale nie jest maksymalną wartością z zestawu spełniającego kryteria zapytania. Wartość 5400 jest w ogóle poza zakresem warunku ponieważ nie spełnia kryterium pensja mniejsza niż 3000. Takie niepoprawne zrozumienie zapytania często wynika z nieuwzględnienia klauzuli ograniczającej co jest częstym błędem w analizie danych. Brak zrozumienia logiki warunkowej prowadzi do błędnych wniosków co w praktycznych zastosowaniach może skutkować wyciągnięciem nieprawidłowych danych. W pracy z SQL istotne jest dokładne zrozumienie działania klauzul takich jak WHERE oraz funkcji agregujących takich jak MAX które pozwalają na precyzyjne określenie zakresu analizowanych danych. Zrozumienie błędów logicznych w interpretacji danych jest kluczowe dla unikania pomyłek w rzeczywistych scenariuszach biznesowych. Wykorzystanie filtrów w SQL pozwala na tworzenie bardziej złożonych i precyzyjnych zapytań co jest niezbędne dla dokładnej analizy i raportowania w kontekście biznesowym co jest zgodne z najlepszymi praktykami w dziedzinie analizy danych.

Pytanie 16

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen
B. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. ustawić wartość pola Uczen na 1
Analizując podane odpowiedzi możemy dostrzec kilka błędnych koncepcji które warto omówić Zrozumienie działania polecenia SQL jest kluczowe dla jego poprawnego zastosowania Pierwsza odpowiedź sugeruje że polecenie ustawia wartość na 1 dla pola Uczen co jest błędne ponieważ nie ma w nim żadnej instrukcji wskazującej na ustawienie wartości na określoną liczbę zatem nie odnosi się do pola Uczen lecz do kolumny id_klasy Druga odpowiedź zakłada że wartość pola Uczen zostanie zwiększona o jeden co również jest błędne ponieważ w poleceniu SQL nie występuje żadne odniesienie do pola Uczen lecz jedynie do id_klasy Poprawne zrozumienie struktury tabeli oraz dokładne czytanie polecenia jest tu kluczowe Trzecia odpowiedź sugeruje że wszystkie wartości id_klasy zostaną ustawione na 1 co jest mylne ponieważ polecenie wyraźnie wskazuje na operację zwiększania wartości a nie ich ustawiania na stałą liczbę Typowe błędy myślowe wynikają tu z braku dokładnej analizy składni SQL oraz niepełnego zrozumienia celu operacji UPDATE który często stosuje się do manipulacji danymi w sposób zautomatyzowany i kontrolowany Uważna analiza i testowanie poleceń SQL w środowisku testowym przed wdrożeniem w środowisku produkcyjnym jest kluczowym elementem dobrych praktyk branżowych Pozwoli to uniknąć potencjalnych błędów oraz zapewnić poprawne działanie aplikacji zarządzających danymi

Pytanie 17

W bazie danych znajduje się tabela uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL należy wykorzystać, aby znaleźć imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
B. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = 'M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
D. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
Podejście, które wykorzystuje IN w kontekście wyszukiwania wzorców jest niepoprawne, ponieważ operator IN służy do porównywania wartości z zestawem możliwych wartości, a nie do wyszukiwania wzorców. W SQL IN używa się, gdy chcemy sprawdzić, czy dana kolumna posiada jedną z kilku określonych wartości. Na przykład, gdybyśmy chcieli znaleźć wszystkich uczniów o nazwiskach 'Mroz', 'Michał' lub 'Malinowski', moglibyśmy użyć zapytania z IN, ale nie w kontekście wzorców. Kolejny błąd w zapytaniu dotyczy użycia ORDER BY w sposób, który nie ma sensu w kontekście filtrowania danych. ORDER BY służy do sortowania wyników, a nie do ich selekcji. Próba użycia tej konstrukcji do stworzenia warunku wyszukiwania prowadzi do nieporozumień, ponieważ nie można łączyć warunków filtrujących z sortowaniem w jednym poleceniu w podany sposób. Podobnie, użycie '=' w połączeniu z LIKE jest błędne, ponieważ '=' nie obsługuje symboli wieloznacznych. Typowym błędem jest mylenie funkcji służących do wyszukiwania z funkcjami do porządkowania danych, co skutkuje niepoprawnym zrozumieniem sposobu działania SQL. Ważne jest, aby znać funkcjonalność i ograniczenia poszczególnych operatorów SQL, aby poprawnie formułować zapytania i osiągać zamierzone cele w pracy z bazami danych.

Pytanie 18

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

A. kolumny
B. formularza
C. kwerendy
D. kopii
Formularz to interfejs użytkownika, który umożliwia wprowadzanie informacji, ale nie jest związany z operacjami na bazach danych. To narzędzie wizualne, które może być używane do zbierania danych w sposób zorganizowany, jednak samo w sobie nie wykonuje żadnych operacji na danych w bazie. Koncepcja kolumny odnosi się do struktury tabeli w bazie danych, gdzie kolumny definiują typy danych przechowywanych w danej tabeli, ale nie są one powiązane z wykonywaniem zapytań czy operacji na danych. Kopią można określić duplikat danych lub backup, ale również nie ma ona zastosowania w kontekście wysyłania poleceń do serwera bazy danych. Istnieje ryzyko, że błędne zrozumienie terminów związanych z bazami danych prowadzi do mylnych interpretacji, co może skutkować trudnościami w pracy z danymi. Kluczowe jest zrozumienie, że kwerenda jest specyficznym poleceniem, które oddziałuje na strukturę danych, a nie narzędziem do ich wizualizacji czy opisu. Błędy te mogą prowadzić do niewłaściwego projektowania systemów baz danych oraz do ograniczonej efektywności w realizacji zadań związanych z zarządzaniem danymi.

Pytanie 19

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_list_fields
B. mysql_fetch_lengths
C. mysql_fetch_row
D. mysql_field_len
Wszystkie inne odpowiedzi są nieprawidłowe z różnych powodów, które warto dokładnie zrozumieć. mysql_field_len to funkcja używana do uzyskania długości pola w danej tabeli, a więc nie ma zastosowania w kontekście pobierania wierszy danych. To podejście jest typowym błędem myślowym, w którym zamiast skupić się na operacji, która dotyczy danych wynikowych, użytkownik myli funkcje związane z metadanymi i długościami pól. mysql_list_fields, z kolei, służy do uzyskiwania listy pól w danej tabeli, co również nie odpowiada na potrzebę pobrania danych z kwerendy. Znowu, może to wynikać z nieporozumienia dotyczącego różnicy między metadanymi a rzeczywistymi danymi. Ostatnia funkcja, mysql_fetch_lengths, zwraca długości wszystkich pól w ostatnio pobranym wierszu, co jest przydatne, ale również nie sprosta zadaniu pobrania wiersza danych. Zrozumienie, że różne funkcje mają różne zastosowania, jest kluczowe w programowaniu, szczególnie w pracy z bazami danych, gdzie precyzyjność i znajomość funkcjonalności API są niezbędne do efektywnego działania aplikacji. Warto również dodać, że w kontekście nowoczesnych aplikacji zamiast przestarzałych funkcji mysql, lepiej jest używać mysqli lub PDO, które są bardziej bezpieczne i oferują lepsze wsparcie dla nowoczesnych praktyk programistycznych.

Pytanie 20

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

A. <body>
B. prologu <!DOCTYPE html>
C. <meta name="author" content="....">
D. przynajmniej jednego <h1>
Brak prologu <!DOCTYPE html> w dokumencie HTML5 prowadzi do nieprawidłowego działania strony, ale inne elementy również odgrywają istotne role. <meta name="author" content="...."> jest używany do wskazania autora dokumentu, jednak jego brak nie spowoduje błędu walidatora HTML5. Ta informacja jest pomocna w kontekście SEO i nie wpływa na sposób, w jaki strona jest renderowana przez przeglądarki. Podobnie, przynajmniej jedno wystąpienie nagłówka <h1> jest zalecane dla SEO i struktury dokumentu, ale nie jest to element wymagany do uznania dokumentu za poprawny. Brak <h1> może prowadzić do problemów z dostępnością i indeksowaniem, lecz nie spowoduje błędu walidacji. Element <body> jest z kolei kluczowy dla struktury dokumentu, ponieważ zawiera widoczną zawartość strony. Jego brak spowoduje problemy z renderowaniem, ale nie wpłynie na walidację do poziomu HTML5. Warto zauważyć, że typowe błędy myślowe mogą prowadzić do przekonania, że każdy element jest równie ważny dla walidacji dokumentu, tymczasem to <!DOCTYPE html> pełni unikalną rolę w definiowaniu, że przeglądarka powinna interpretować stronę jako HTML5. Znajomość tych różnic jest kluczowa dla skutecznego tworzenia stron internetowych zgodnych ze standardami.

Pytanie 21

Atrybut colspan służy do poziomego łączenia komórek tabeli, natomiast rowspan pozwala na łączenie ich w pionie. Którą z poniższych tabel ukazuje fragment kodu napisany w języku HTML?
<table border="1" cellspaing="0" cellpadding="10" >
<tr> <td rowspan="2"> </td> <td> </td> </tr>
<tr> <td> </td> </tr>
</table>

Ilustracja do pytania
A. rys. A
B. rys. C
C. rys. B
D. rys. D
Zastosowanie atrybutu rowspan w HTML wymaga zrozumienia jak działa scalanie komórek w pionie co może prowadzić do pewnych nieporozumień w interpretacji wynikowego układu tabeli Błąd w rozumieniu funkcji rowspan może wynikać z mylnego przypisania skali poziomej do pionowej co wprowadza chaos w strukturze tabeli Jeśli zamiast rowspan użyto by colspan komórki byłyby łączone w poziomie co zmieniłoby całkowicie układ i wizualizację tabeli Niepoprawne rozumienie tego mechanizmu często skutkuje wyborem niewłaściwej odpowiedzi ponieważ kolumny z atrybutem rowspan są błędnie postrzegane jako poziome połączenia Dodatkowo brak świadomości że odstępy między komórkami oraz ich ramki mogą być konfigurowane wpływa na percepcję układu tabeli co może prowadzić do złego rozpoznania poprawnego rysunku W przypadku złego przypisania rowspan w tabeli możemy uzyskać niespójny układ co jest sprzeczne z dobrą praktyką projektowania interfejsów użytkownika gdzie spójność i czytelność są kluczowe Dlatego ważne jest aby dokładnie analizować kod i jego efekty na strukturę tabeli oraz stosować się do standardów HTML które zapewniają poprawność i czytelność danych w tabelach

Pytanie 22

W tabeli produkt znajdują się przedmioty wyprodukowane po roku 2000, z kolumnami nazwa i rok_produkcji. Klauzula SQL pokaże listę przedmiotów wyprodukowanych

SELECT * FROM `produkt` WHERE SUBSTR(rok_produkcji,3,2)=17;
A. w latach innych niż 2017
B. przed rokiem 2017
C. w roku 2017
D. po roku 2017
Wybranie odpowiedzi, że przedmioty zostały wyprodukowane po roku 2017 jest niewłaściwe, ponieważ funkcja SUBSTR użyta w zapytaniu SQL jednoznacznie identyfikuje tylko przedmioty wyprodukowane w roku 2017. Użycie wartości '17' jako kryterium wyszukiwania nie pozwala na objęcie przedmiotów wyprodukowanych w późniejszych latach, jak 2018 czy 2019. Podobnie, odpowiedzi sugerujące, że przedmioty są wyprodukowane w latach innych niż 2017 lub przed rokiem 2017, są błędne z tych samych powodów. W kontekście SQL, ważne jest zrozumienie, jak funkcje manipulacji łańcuchami wpływają na wyniki zapytań. Typowym błędem jest zakładanie, że wynik z SUBSTR będzie obejmował więcej niż jedną wartość, co wprowadza w błąd i prowadzi do niepoprawnych wniosków. Zamiast tego, analiza danych powinna opierać się na jasnym zrozumieniu struktury danych i tego, jak operacje na nich wpływają na wyniki. Zawsze warto testować zapytania na próbkach danych, aby upewnić się, że wyniki są zgodne z oczekiwaniami oraz stosować dobre praktyki w zakresie formatowania danych. To pozwala uniknąć błędów podczas przetwarzania informacji.

Pytanie 23

Aby zwiększyć wydajność operacji w bazie danych, należy skupić się na polach, które są często wyszukiwane lub sortowane

A. stworzyć oddzielną tabelę przechowującą wyłącznie te pola
B. dodać klucz obcy
C. dodać więzy integralności
D. utworzyć indeks
Utworzenie indeksu w bazie danych jest kluczowym krokiem w optymalizacji operacji wyszukiwania i sortowania. Indeksy działają jak spis treści w książce, umożliwiając szybsze odnajdywanie danych bez konieczności przeszukiwania całej tabeli. Gdy zapytania często wykorzystują konkretne kolumny do filtracji lub sortowania, indeksowanie tych kolumn znacznie przyspiesza wydajność. Na przykład, jeśli często wyszukujesz klientów według ich nazwisk, utworzenie indeksu na kolumnie nazwiska pozwoli bazie danych szybko zlokalizować odpowiednie rekordy. Standardy branżowe, takie jak SQL Server czy MySQL, zalecają stosowanie indeksów zwłaszcza na dużych tabelach, gdzie operacje skanowania mogą być czasochłonne. Dobrą praktyką jest również monitorowanie wydajności i regularne dostosowywanie indeksów w zależności od zmieniających się wzorców zapytań. Należy jednak pamiętać, że nadmierna liczba indeksów może wpłynąć negatywnie na operacje zapisu, dlatego kluczowe jest znalezienie odpowiedniej równowagi.

Pytanie 24

W HTML, aby ustawić tytuł dokumentu na "Moja strona", który pojawi się na karcie przeglądarki internetowej, należy użyć zapisu

A. <meta name="title" content="Moja strona">
B. <head>Moja strona</head>
C. <meta title="Moja strona">
D. <title>Moja strona</title>
Element <title> w HTML jest naprawdę ważny, bo to właśnie on ustala, co zobaczysz na zakładce w przeglądarce. Powinien być umieszczony w sekcji <head>, co jest zgodne z tym, co mówi W3C. Poprawny zapis wygląda tak: <title>Moja strona</title>, co sprawia, że "Moja strona" będzie się pokazywać jako tytuł w przeglądarce. Tytuł strony ma spore znaczenie dla SEO, bo wpływa na to, jak strona jest pozycjonowana w wynikach wyszukiwania. Warto, żeby tytuł był krótki, ale jednocześnie zawierał istotne informacje, a najlepiej, żeby nie miał więcej niż 60 znaków, żeby się nie obcinał w wynikach. Fajnie też umieścić w tytule kluczowe słowa, które opisują, o czym jest strona, bo to może zwiększyć jej atrakcyjność i CTR. Dobrze skonstruowany tytuł to też lepsza dostępność, bo ułatwia użytkownikom poruszanie się i orientowanie w otwartych zakładkach.

Pytanie 25

Ile maksymalnie znaczników <td> może być zastosowanych w tabeli, która ma trzy kolumny oraz trzy wiersze, nie zawierając przy tym złączeń komórek i wiersza nagłówkowego?

A. 6
B. 9
C. 3
D. 12
Wybór odpowiedzi, która wskazuje na inną liczbę znaczników <td> niż 9 może wynikać z nieporozumienia dotyczącego struktury tabeli. Na przykład odpowiedzi sugerujące 3, 6 lub 12 mogą wskazywać na błędną interpretację liczby komórek w tabeli. Odpowiedź 3 mogła wynikać z założenia, że chodzi o liczbę wierszy. W rzeczywistości każdy wiersz zawiera 3 komórki, co prowadzi do błędnego wniosku. Odpowiedź 6 mogła zostać wybrana przez kogoś, kto pomylił się i zinterpretował liczbę jako wierszy w tabeli, myśląc, że istnieje tylko jeden wiersz. Z kolei 12 sugeruje, że uczestnik mógł pomylić liczbę kolumn z liczbą komórek, co jest istotnym błędem koncepcyjnym. Przy tworzeniu tabel HTML ważne jest, aby pamiętać, że każdy wiersz w tabeli musi zawierać 3 komórki, co z kolei wpływa na całkowitą liczbę użytych znaczników <td>. Błędy te mogą prowadzić do nieefektywnego projektowania interfejsów, gdzie zrozumienie struktury danych w HTML jest kluczowe dla prawidłowego renderowania treści na stronach internetowych.

Pytanie 26

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL

A. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
C. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
D. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
W tym zadaniu kluczowe są dwie rzeczy: poprawna składnia SQL i właściwe zrozumienie logiki warunków w klauzuli WHERE. Wiele osób intuicyjnie skupia się tylko na treści pytania i trochę pomija formalne wymagania języka, a to potem mści się w realnych systemach. Pierwszy typ błędu to pomijanie klauzuli FROM. Instrukcje w stylu SELECT imie, nazwisko WHERE wiek < 18 ... wyglądają na pierwszy rzut oka sensownie, bo jest wybór kolumn i jest warunek, ale w SQL standardowo nie da się filtrować rekordów bez wskazania źródła danych. Serwer bazodanowy musi wiedzieć, z której tabeli pobrać kolumny imie, nazwisko, wiek i lekarz_id. Brak FROM Pacjenci powoduje po prostu błąd składni, a nie „prawie działającą” kwerendę. Z mojego doświadczenia to bardzo typowy błąd osób zaczynających przygodę z SQL: mieszanie logiki „co chcę” z tym „jak to ma być zapisane w języku”. Drugi, bardziej podstępny problem to mylenie operatorów logicznych AND i OR. W zadaniu chodzi o pacjentów poniżej 18 roku życia, którzy jednocześnie są przypisani do lekarza o id = 6. To jest klasyczny przypadek koniunkcji – oba warunki muszą być spełnione. Użycie OR zamiast AND powoduje zupełnie inne działanie: zapytanie zwróci wszystkich pacjentów młodszych niż 18 lat niezależnie od lekarza, a dodatkowo wszystkich pacjentów lekarza nr 6 w każdym wieku. W praktyce taki raport byłby kompletnie niezgodny z założeniem, a co gorsza, na pierwszy rzut oka mógłby wyglądać „prawie dobrze”, bo część wyników się zgadza. Warto też zwrócić uwagę na to, że przy prostych warunkach AND/OR bez nawiasów kolejność oceny może być myląca, dlatego dobrą praktyką w bardziej złożonych zapytaniach jest stosowanie nawiasów, np. WHERE (wiek < 18 AND lekarz_id = 6) OR ... itd. Tutaj warunek jest prosty, ale nawyk myślenia o logice boole’owskiej bardzo się przydaje. Podsumowując, poprawne zapytanie musi mieć: wskazaną tabelę w klauzuli FROM, właściwie dobrane kolumny w SELECT oraz warunek z użyciem AND, który zawęża wynik do rekordów spełniających oba kryteria jednocześnie. Pomyłki w którymkolwiek z tych elementów prowadzą albo do błędu składni, albo – co gorsza – do logicznie błędnych raportów, których użytkownik nie zauważy od razu, a to w systemach produkcyjnych bywa naprawdę groźne.

Pytanie 27

W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?

<div class="menu"></div>
A. menu { background-color: rgb(0,255,0); }
B. #menu { background-color: rgb(0,255,0); }
C. div.menu { background-color: green; }
D. div:menu { color: green; }
Błędne odpowiedzi wynikają z niewłaściwego zastosowania selektorów w języku CSS. Selektor #menu sugeruje użycie ID, jednak w HTML identyfikator musi być unikalny, a zadanie dotyczy klasy, co implikuje użycie selektora klasy poprzedzonego kropką. Takie błędne użycie prowadzi do niezrozumienia podstawowej różnicy między klasami a identyfikatorami w CSS, co jest kluczowe w projektowaniu stron internetowych. Z kolei selektor menu { background-color: rgb(0,255,0); } jest niepoprawny, ponieważ nie odnosi się do konkretnego elementu. Chociaż specyfikacja CSS pozwala na selektory nazwane, najczęściej stosuje się je w kontekście semantycznym dla elementów HTML, a nie tych określonych przez klasy. Wreszcie, definicja div:menu { color: green; } używa błędnej składni, ponieważ pseudo-klasy w CSS są używane do stylizacji specyficznych stanów elementów, takich jak hover, active czy focus, a nie do stylizacji klas. Istotne jest zrozumienie, że użycie pseudo-klas wymaga odpowiedniego kontekstu, który w tym przypadku jest niepoprawnie użyty. Kluczem do poprawnego stosowania CSS jest zrozumienie specyfiki selektorów i ich właściwe wykorzystanie, co pozwala na efektywne zarządzanie stylem w projekcie webowym. Podstawową zasadą powinno być projektowanie stylów z myślą o ich wielokrotnym wykorzystaniu i utrzymaniu czystości kodu.

Pytanie 28

Która lista jest interpretacją przedstawionego kodu?

<ol>
    <li>muzyka
        <ul>
            <li>Wpis1</li>
            <li>Wpis2</li>
        </ul>
    </li>
    <li>filmy
        <ul>
            <li>Wpis3</li>
            <li>Wpis4</li>
        </ul>
    </li>
</ol>
A. Lista uporządkowana z podpunktami zapisanymi w formie numeracji dziesiętnej (np. 1.1, 1.2).
B. Lista uporządkowana z sześcioma następującymi elementami.
C. Lista nieuporządkowana zawierająca wszystkie składniki, jeden za drugim.
D. Lista uporządkowana z dwoma składnikami, z których każdy ma wewnętrzną listę nieuporządkowaną.
Często błędnym założeniem przy interpretacji zagnieżdżonych list w HTML jest pomylenie uporządkowanych i nieuporządkowanych struktur. Listy uporządkowane oznaczone są tagiem <ol> i wprowadzenie błędnego zrozumienia ich znaczenia może prowadzić do niepoprawnego wyświetlania treści w przeglądarce. Nieuporządkowane listy z kolei identyfikowane są przez tag <ul> i często stosowane są tam gdzie kolejność nie ma znaczenia. W błędnych odpowiedziach często widzimy brak zrozumienia semantyki HTML gdzie hierarchia i zagnieżdżenie elementów mają istotne znaczenie. Niepoprawna interpretacja może skutkować utratą przejrzystości kodu co wpływa na dalszą możliwość jego rozwijania i utrzymania. Typowym błędem jest także nieuwzględnienie poprawnego zamknięcia tagów co jest fundamentalnym wymogiem w HTML aby zapewnić poprawne parsowanie dokumentu przez przeglądarki. W kontekście tworzenia stron internetowych dobór odpowiednich elementów HTML i ich poprawne stosowanie jest fundamentem zgodności ze standardami sieciowymi oraz praktykami projektowania stron co wpływa bezpośrednio na ich funkcjonalność i dostępność dla użytkowników i przeglądarek internetowych. Zrozumienie tych zasad jest kluczowe dla każdego rozwijającego się profesjonalisty zajmującego się frontendem webowym i wpływa na jakość tworzonego oprogramowania internetowego.

Pytanie 29

W teorii relacji operacja selekcji polega na

A. pozbywaniu się pustych wierszy
B. eliminuje krotki z powtarzającymi się polami
C. wybraniu krotek, które nie zawierają wartości NULL
D. wybraniu krotek, które spełniają określone warunki
W kontekście algebry relacji, operacja selekcji nie polega na eliminowaniu krotek z powtarzającymi się polami czy też usuwaniu pustych wierszy. Tego rodzaju zrozumienie jest mylące, ponieważ w rzeczywistości selekcja ma na celu wydobycie krotek, które spełniają określone kryteria. Eliminowanie krotek z powtarzającymi się polami odnosi się bardziej do operacji związanych z usuwaniem duplikatów, co jest osobnym zagadnieniem w algebrze relacji. Również wykluczanie pustych wierszy, choć może być istotne w kontekście czyszczenia danych, nie jest bezpośrednio związane z operacją selekcji. Typowym błędem jest nieprawidłowe utożsamianie selekcji z procesem filtrowania danych, który niekoniecznie odnosi się do spełniania określonych warunków. Ważne jest, aby pamiętać, że selekcja jest operacją, która pozwala na wybór tylko tych krotek, które są zgodne z zadaną logiką, co czyni ją niezwykle użyteczną w codziennej pracy z bazami danych. Zrozumienie tej różnicy jest kluczowe dla efektywnego korzystania z baz danych i tworzenia precyzyjnych zapytań, które mogą przyczynić się do lepszego zarządzania informacjami.

Pytanie 30

Poleceniem SQL służącym do wstawiania nowego rekordu z danymi jest

A. UPDATE
B. ADD
C. INSERT INTO
D. CREATE
Poprawna odpowiedź to `INSERT INTO`, bo właśnie tym poleceniem w SQL dodajemy nowe rekordy (wiersze) do tabeli w bazie danych. W praktyce wygląda to najczęściej tak: `INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]');`. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) odczytuje listę kolumn, dopasowuje do nich wartości z sekcji `VALUES` i tworzy nowy wiersz. To jest podstawowa operacja DML (Data Manipulation Language), obok `UPDATE`, `DELETE` i `SELECT`. W dobrych praktykach zawsze warto jawnie podawać listę kolumn po `INSERT INTO`, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu, gdy ktoś doda nową kolumnę do tabeli albo zmieni ich kolejność, nasze zapytania się nie „wysypią” albo – co gorsza – nie wstawią danych w złe pola. Moim zdaniem to jest jedna z tych rzeczy, które odróżniają kod „na szybko” od kodu, który można utrzymywać latami. Warto też pamiętać o kwestii typów danych: wartości podawane w `VALUES` muszą pasować do typów kolumn (np. tekst w `VARCHAR`, liczba w `INT`, data w `DATE`). W aplikacjach webowych zapytania `INSERT` bardzo często pojawiają się przy obsłudze formularzy – np. rejestracja użytkownika, zapis zamówienia, dodawanie komentarza. Dobrą praktyką jest również używanie parametrów zapytań (prepared statements), a nie sklejanie stringów, żeby uniknąć podatności na SQL Injection. Podsumowując: jeśli chcesz dodać nowy rekord do istniejącej tabeli, standard SQL przewiduje właśnie `INSERT INTO` jako właściwe i jedyne poprawne polecenie do tego celu.

Pytanie 31

Selektor CSS a:link {color:red} w arkuszach stylów nazywanych kaskadowymi określa

A. pseudoelement.
B. klasę.
C. identyfikator.
D. pseudoklasę.
Wybór odpowiedzi związanej z klasą, identyfikatorem lub pseudoelementem nie uwzględnia kluczowej różnicy między tymi pojęciami a pseudoklasami. Klasa w CSS definiuje grupę elementów, które mają wspólne cechy stylistyczne, natomiast identyfikator jest unikalny dla jednego elementu na stronie i powinien być używany tylko raz. Klasy i identyfikatory są przypisywane za pomocą atrybutów 'class' i 'id' w HTML, co czyni je bardziej statycznymi, podczas gdy pseudoklasy odnoszą się do konkretnego stanu elementu, co wprowadza element dynamiki. Pseudoelementy, takie jak '::before' lub '::after', również różnią się, ponieważ pozwalają na stylizację części elementu, a nie jego całego stanu. Typowe błędy myślowe związane z myleniem tych pojęć wynikają często z braku zrozumienia, jak działa kaskadowość i dziedziczenie w CSS. Kluczowe jest zrozumienie, że pseudoklasy są narzędziem do reakcji na interakcje użytkownika, co pozwala na bardziej zaawansowane i intuicyjne projektowanie stron internetowych. Ignorowanie tych różnic prowadzi do nieefektywnego stylowania i może obniżać jakość interfejsów użytkownika.

Pytanie 32

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. AJAX
B. JavaScript
C. PHP
D. CSS
PHP, AJAX i JavaScript to technologie, które mają zdolność do przetwarzania danych użytkownika wprowadzanych na stronach WWW. PHP jest językiem skryptowym po stronie serwera, który może obsługiwać dane użytkowników z formularzy, przetwarzać je, a następnie zwracać odpowiedzi do klienta. Dzięki PHP można na przykład zbierać dane z formularzy rejestracyjnych, walidować je i przechowywać w bazach danych. AJAX, będący technologią asynchronicznego przetwarzania danych, pozwala na komunikację z serwerem bez potrzeby przeładowywania strony. Dzięki AJAX użytkownicy mogą wprowadzać dane w formularzach i otrzymywać na bieżąco odpowiedzi z serwera, co poprawia interaktywność aplikacji internetowych. JavaScript, jako język skryptowy po stronie klienta, umożliwia manipulację danymi wprowadzanymi przez użytkowników i wykonuje walidację danych w czasie rzeczywistym. Przykładowo, JavaScript może kontrolować poprawność danych w formularzach przed ich wysłaniem na serwer, co zapobiega błędom i zwiększa użyteczność aplikacji. Dlatego, w przeciwieństwie do CSS, te technologie są kluczowe dla przetwarzania i interakcji z danymi użytkowników, co sprawia, że są niezbędne w nowoczesnym web developmencie.

Pytanie 33

Kolor Chartreuse przedstawiony w formie heksadecymalnej jako #7FFF00 odpowiada wartości RGB wynoszącej

A. rgb(128, 255, 0)
B. rgb(64, 255, 0)
C. rgb(192, 255, 0)
D. rgb(127, 255, 0)
Analizując pozostałe odpowiedzi, można zauważyć, że każda z nich nieprawidłowo interpretuje wartości heksadecymalne koloru Chartreuse, co prowadzi do błędnych konwersji na model RGB. Na przykład, odpowiedź z rgb(64, 255, 0) błędnie interpretuje wartość czerwonego odcienia jako 64, podczas gdy w rzeczywistości wartość ta wynosi 127. Błąd ten wynika z nieprawidłowego przeliczenia heksadecymalnej wartości 7F na system dziesiętny, co może być spowodowane błędnym założeniem, że każdy z dwóch symboli heksadecymalnych oznacza jedną z dwóch składowych RGB. Podobnie, odpowiedzi rgb(128, 255, 0) oraz rgb(192, 255, 0) również nie zgadzają się z rzeczywistą wartością, co jest wynikiem niewłaściwego zrozumienia zasady konwersji. Wartości te są zbyt wysokie, co może sugerować, że osoba udzielająca tych odpowiedzi nie miała pełnej wiedzy o systemie kolorów. W praktyce, niepoprawne obliczenia lub pomyłki w konwersji kolorów mogą prowadzić do niezgodności w projektach graficznych, co w efekcie wpływa na estetykę oraz spójność wizualną. Dlatego kluczowe jest zrozumienie, że system heksadecymalny jest oparty na szesnastkowej reprezentacji kolorów, gdzie każdy kolor składa się z trzech wartości: czerwonej, zielonej i niebieskiej, a ich prawidłowe przeliczenie jest podstawą profesjonalnego projektowania.

Pytanie 34

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

A. blokada portów powiązanych z bazą danych
B. aktywacja zapory
C. używanie skomplikowanych haseł do bazy
D. defragmentacja dysków
Wybór odpowiedzi związanej z blokowaniem portów, włączeniem zapory oraz stosowaniem złożonych haseł jest zgodny z najlepszymi praktykami w zakresie zabezpieczeń serwera bazy danych. Blokowanie portów to kluczowy krok, który ogranicza dostęp do usług bazodanowych tylko dla autoryzowanych użytkowników. Wiele ataków z zewnątrz wykorzystuje otwarte porty, dlatego ich zablokowanie jest podstawowym zabezpieczeniem. Zapory sieciowe, zarówno sprzętowe, jak i programowe, są niezbędne do filtrowania ruchu i ochrony przed nieautoryzowanym dostępem. Z kolei stosowanie złożonych haseł jest fundamentalnym elementem ochrony danych - hasła powinny być długie, zawierać znaki specjalne, cyfry oraz różne przypadki liter, aby znacznie utrudnić ich złamanie. Praktyczne przykłady pokazują, że organizacje, które nie implementują tych zabezpieczeń, stają się łatwym celem dla cyberprzestępców. Warto również wspomnieć o dodatkowych środkach, takich jak szyfrowanie danych w bazach, co dodatkowo podnosi poziom ochrony informacji. Brak znajomości tych zasad może prowadzić do niedostatecznej ochrony przed zagrożeniami, co w dzisiejszym, złożonym środowisku IT, jest nieakceptowalne.

Pytanie 35

W języku CSS, aby ustalić wewnętrzny górny margines, czyli przestrzeń pomiędzy elementem a jego otaczającym obramowaniem, należy zastosować komendę

A. local-top
B. outline-top
C. padding-top
D. border-top
W kontekście tego pytania, outline-top nie jest poprawną odpowiedzią, ponieważ właściwość outline w CSS nie definiuje marginesów czy odstępów, lecz obramowanie, które nie wpływa na układ elementu wewnątrz kontenera. Outline jest szczególnie przydatne do podkreślenia elementów w interakcji, np. podczas nawigacji za pomocą klawiatury, ale nie ma wpływu na przestrzeń wewnętrzną. Border-top również nie jest odpowiednim rozwiązaniem w tym przypadku. Właściwość border-top definiuje górną krawędź obramowania elementu, a nie wnętrze. Zastosowanie border-top wprowadza dodatkową linię, co nie spełnia roli marginesu wewnętrznego, a jedynie zmienia wizualny aspekt elementu. Co więcej, border ma wpływ na całkowite wymiary elementu, co może prowadzić do niezamierzonych efektów w układzie strony. Wreszcie, local-top nie istnieje jako właściwość w CSS, co czyni tę odpowiedź całkowicie niepoprawną. Takie sformułowanie jest mylące, ponieważ nie odnosi się do żadnej standardowej właściwości CSS i nie ma uznania w dokumentacji związanej z kaskadowymi arkuszami stylów. Zrozumienie, jak te właściwości działają w kontekście modelu pudełkowego CSS, jest kluczowe dla efektywnego projektowania stron internetowych.

Pytanie 36

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");
A. uzyskanie danych z bazy danych
B. zmianę hasła do bazy danych
C. nawiązanie połączenia z bazą danych
D. ochronę bazy danych
Funkcja PHP zaprezentowana w pytaniu nie służy do zabezpieczania bazy danych. Zabezpieczanie bazy danych zazwyczaj wymaga użycia mechanizmów takich jak szyfrowanie danych uwierzytelnianie użytkowników oraz kontrola dostępu do danych poprzez odpowiednie uprawnienia. W kontekście PHP ważne są takie praktyki jak użycie przygotowanych zapytań oraz walidacja i oczyszczanie danych wejściowych. Ustawienie hasła do bazy danych jest procesem administracyjnym który odbywa się zazwyczaj na poziomie konfiguracji serwera bazy danych i nie jest realizowany bezpośrednio poprzez funkcje PHP. Ustawienie hasła w PHP odnosi się bardziej do konfigurowania połączenia z bazą danych poprzez podanie hasła użytkownika w kodzie podczas tworzenia połączenia. Połączenie z bazą danych jest procesem który w PHP zazwyczaj odbywa się przy użyciu funkcji takich jak mysqli_connect lub PDO::connect które pozwalają na ustanowienie sesji komunikacyjnej z serwerem bazodanowym. Ważnym aspektem jest tutaj zapewnienie że dane połączenia takie jak hasło i nazwa użytkownika są odpowiednio chronione i nie są wystawione na niebezpieczeństwo co może prowadzić do nieautoryzowanego dostępu do bazy danych. Podana funkcja w pytaniu nie odnosi się do zabezpieczania połączeń ani do ustanawiania nowych połączeń lecz do wykonywania konkretnego zadania w kontekście istniejącego połączenia a mianowicie pobierania danych co jest kluczowym elementem interakcji z bazami danych w aplikacjach dynamicznych

Pytanie 37

<source src="plik.mp4" type="video/mp4">
Aby osadzić plik wideo na stronie WWW, przedstawiony kod HTML5 należy umieścić wewnątrz znaczników:
A. <embed> </embed>
B. <div> </div>
C. <section> </section>
D. <video> </video>
Poprawna odpowiedź to umieszczenie znacznika `<source>` wewnątrz `<video>...</video>`. W HTML5 to właśnie element `<video>` jest kontenerem odpowiedzialnym za osadzanie plików wideo na stronie WWW. Atrybuty takie jak `controls`, `autoplay`, `loop`, `muted`, `width` czy `height` przypisujemy właśnie do `<video>`, a nie do `<source>`. Znacznik `<source>` służy głównie do wskazania konkretnego pliku multimedialnego i jego typu MIME, np.: `<video controls width="640" height="360"><source src="film.mp4" type="video/mp4"><source src="film.webm" type="video/webm">Twoja przeglądarka nie obsługuje elementu video.</video>`. Przeglądarka przechodzi po kolei po elementach `<source>` i wybiera pierwszy format, który potrafi odtworzyć. To jest zgodne ze specyfikacją HTML Living Standard (WHATWG) oraz zaleceniami W3C dotyczącymi multimediów w sieci. W praktyce, w projektach komercyjnych, często dodaje się kilka formatów (np. MP4, WebM), właśnie po to, by zapewnić maksymalną kompatybilność między różnymi przeglądarkami i systemami. Moim zdaniem warto od razu wyrabiać sobie nawyk pisania pełnej, semantycznie poprawnej struktury: `<video>` jako główny element odtwarzacza, w środku jeden lub więcej `<source>` i ewentualnie tekst alternatywny. Dzięki temu kod jest czytelny, łatwiej go stylować w CSS, a także lepiej zachowuje się w kontekście dostępności (np. czytniki ekranu widzą, że to element wideo). Dodatkowo, `<video>` można łatwo obsługiwać z poziomu JavaScript, korzystając z jego API (play, pause, currentTime, volume itd.), co w praktyce daje sporą kontrolę nad odtwarzaniem multimediów na stronie.

Pytanie 38

Aby wyciszyć dźwięk w filmie odtwarzanym w przeglądarce, do podanej definicji znacznika <video> powinien zostać dodany atrybut <video> <source src="film.mp4" type="video/mp4"> </video>

A. loop
B. autoplay
C. muted
D. controls
Atrybut 'muted' w znaczniku <video> jest kluczowy dla zarządzania dźwiękiem w odtwarzanych filmach. Gdy dodamy atrybut 'muted', zapewniamy, że film będzie odtwarzany bez dźwięku, co jest szczególnie istotne w kontekście doświadczenia użytkownika na stronie internetowej. W praktyce, wiele stron korzysta z automatycznego odtwarzania filmów w tle, co jest popularne w serwisach informacyjnych oraz mediach społecznościowych. Bez dźwięku, użytkownicy nie są rozpraszani, a strona nie wpływa negatywnie na ich doświadczenie przeglądania. Zgodnie z najlepszymi praktykami, należy również pamiętać o dostępności – filmy bez dźwięku mogą być łatwiej przyswajalne dla osób z problemami ze słuchem, a także unikamy sytuacji, w której nagłe dźwięki mogłyby wywołać dyskomfort. Atrybut 'muted' jest więc nie tylko funkcjonalny, ale także zgodny z zasadami projektowania stron internetowych, które stawiają na komfort użytkownika.

Pytanie 39

Zapis koloru w formacie #ff00e0 odpowiada zapisowi

A. rgb(255,0,224)
B. rgb(ff,0,e0)
C. rgb(255,0,128)
D. rgb(f,0,e0)
Analizując pozostałe odpowiedzi, można zauważyć kilka nieprawidłowości w ich interpretacji. Przy pierwszej odpowiedzi, zapis rgb(f,0,e0) jest błędny, ponieważ wartości w formacie RGB muszą być w przedziale od 0 do 255. 'f' jako wartość szesnastkowa odpowiada 15 w systemie dziesiętnym, co jest nieprawidłowe w kontekście całościowego zapisu koloru. Każda z trzech wartości RGB musi zawierać pełną gamę kolorów, co nie jest spełnione w tym przypadku. W drugiej odpowiedzi, rgb(ff,0,e0) również jest błędny, ponieważ zawiera nieprawidłowe dane. Chociaż 'ff' jest poprawnym zapisem szesnastkowym odpowiadającym wartości 255, to 'e0' nie zostało przeliczone na wartość dziesiętną, co skutkuje brakiem pełnej jasności koloru. Osoby zajmujące się projektowaniem powinny mieć na uwadze, że poprawne przeliczenie wartości jest kluczowe dla uzyskania zamierzonych efektów wizualnych. W trzeciej odpowiedzi, rgb(255,0,128) jest także błędne, ponieważ ta kombinacja odpowiada zupełnie innemu kolorowi, który jest mniej intensywnym odcieniem różowego. Wartości te przekładają się na kolor pomarańczowy, co nie jest zgodne z zadanym kolorem szesnastkowym #ff00e0. Przy projektowaniu graficznym, precyzyjność w definiowaniu kolorów jest niezwykle ważna, a każdy błąd w interpretacji wartości może prowadzić do niezamierzonych efektów.

Pytanie 40

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"> <br>
obowiązki: <br>
<input type="checkbox" name="obowiazki1" value="1" disabled checked> sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazki2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazki3" value="3">testy oprogramowania<br>
</form>
Ilustracja do pytania
A. C
B. D
C. A
D. B
Odpowiedzi, które są określone jako niepoprawne, zawierają pewne zniekształcenia w interpretacji struktury formularza HTML. Kluczowym błędem jest nieuznanie faktu, że checkbox z atrybutem 'disabled' ma wpływ tylko na możliwość interakcji użytkownika z tym elementem, a nie na jego wyświetlanie. W rzeczywistości checkboxy, nawet jeśli są zablokowane, są nadal renderowane w DOM oraz ich etykiety są widoczne dla użytkownika. W każdej z niepoprawnych odpowiedzi brak jest również pełnej jasności dotyczącej zastosowania atrybutów i ich wpływu na interakcję z formularzem. Błędne jest przyjmowanie, że atrybuty takie jak 'checked' i 'disabled' w sposób zasadniczy zmieniają wyświetlaną treść, gdy w rzeczywistości wpływają one jedynie na zachowanie elementów formularza. Aby zrozumieć, jak formularze są renderowane w HTML, ważne jest zwrócenie uwagi na każdy atrybut i jego znaczenie. W kontekście budowania interfejsów użytkownika, zasady dostępności i użyteczności podkreślają znaczenie pełnej przejrzystości opcji, co pozwala uniknąć nieporozumień. Typowym błędem myślowym jest również utożsamianie interakcji użytkownika z prezentacją wizualną, co prowadzi do błędnych wniosków o tym, co jest wyświetlane. W przypadku formularzy ważne jest przemyślenie, jak użytkownik interpretuje i wchodzi w interakcję z elementami na stronie, a także jak te elementy są prezentowane wizualnie, aby zapewnić pełne zrozumienie dostępnych opcji.