Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 30 września 2026 14:30
Zakończenie: 30 września 2026 15:24
Egzamin niezdany
Wynik: 7/40 punktów (17,5%)
Wymagane minimum: 20 punktów (50%)
Pewność odpowiedzi
Żadna odpowiedź nie została oznaczona jako strzał.
Przy następnym egzaminie zaznaczaj niepewne odpowiedzi - zobaczysz wtedy, ile wyniku bierze się z wiedzy, a ile ze szczęścia.
Twój wynik na tle innych
Twój wynik jest lepszy niż 11% podejść do kwalifikacji INF.03.
Porównanie z 43966 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
C. selekcję opcji z listy zawierającej wartości text1 oraz text2
D. wybranie opcjiPoprawna odpowiedź
Niepoprawna odpowiedź. Checkboxy różnią się sporo od innych form wprowadzania danych w HTML. Na przykład typ password, który maskuje wprowadzone znaki, by zapewnić ich poufność. Z kolei pole typu text to jeden z najprostszych elementów formularzy, ale nie można w nim zaznaczać opcji. Jak wybierasz coś z listy rozwijanej, to korzystasz z elementu select, który pozwala wybrać jedną z predefiniowanych wartości, ale to nie ma nic wspólnego z checkboxami. Wiele osób myli checkboxy z radiobuttonami, ale te drugie zawsze pozwalają wybrać tylko jedną opcję w grupie. Checkboxy mogą być zaznaczane w dowolnej liczbie, co daje większą elastyczność w projektowaniu. Etykiety label są też istotne, bo ułatwiają zrozumienie, co każdy checkbox robi, co jest ważne dla dostępności. Zrozumienie różnic między typami input to kluczowa sprawa, gdy tworzysz funkcjonalne formularze na stronach. Wiedza o przypisywaniu atrybutów i ich funkcjach to podstawowe umiejętności w HTML i frontendzie.
Pytanie 2
Do czego służy debugger?
A. do analizy właściwości oprogramowania
B. do sprawdzania wydajności programu
C. do optymalizacji zużycia pamięciTwoja odpowiedź
D. do wyszukiwania błędów w kodzie programuPoprawna odpowiedź
Niepoprawna odpowiedź. Debugger śledzi działanie programu w poszukiwaniu błędów, a nie mierzy wydajności czy zużycia pamięci - tym zajmują się profilery. „Analiza właściwości oprogramowania” jest zbyt ogólna. Wyszukiwaniem błędów w kodzie zajmuje się debugger.
Pytanie 3
Które typy danych w języku C++ służą do reprezentacji liczb zmiennoprzecinkowych (rzeczywistych)?
A.double,bool
B.double,short
C.float,long
D.float,doubleTwoja odpowiedź
Poprawna odpowiedź. Liczby zmiennoprzecinkowe (rzeczywiste) reprezentują w C++ typy float i double, przy czym double oferuje większą precyzję (podwójną). Dlatego to one przechowują wartości z częścią ułamkową.
Pytanie 4
W jaki sposób można ocenić normalizację przedstawionej tabeli?
Firma
Adres
Forbot
ul. Krótka 11, 22-222 Warszawa
Marbot
ul. Długa 5, 33-333 Warszawa
A. Tabela znajduje się w drugiej postaci normalnej
B. Tabela znajduje się w pierwszej postaci normalnejTwoja odpowiedź
C. Tabela jest w trzeciej postaci normalnej
D. Tabela nie została znormalizowanaPoprawna odpowiedź
Niepoprawna odpowiedź. Pierwsza postać normalna wymaga aby wszystkie wartości atrybutów w rekordzie były atomowe czyli nieredukowalne Tabela przedstawiona w zadaniu nie spełnia tego wymogu ponieważ adresy nie są rozbite na osobne elementy takie jak ulica miasto i kod pocztowy co uniemożliwia bardziej złożoną manipulację danymi oraz precyzyjne wyszukiwanie Druga postać normalna wymaga aby wszystkie atrybuty nie będące częścią klucza głównego były w pełni funkcjonalnie zależne od całego klucza Tabela z pytania nie spełnia tych kryteriów ponieważ istnieje redundancja i brak wyraźnej struktury Klucz główny w dobrze zaprojektowanej tabeli bazy danych powinien jednoznacznie identyfikować każdy wiersz co nie jest widoczne w tej strukturze Trzecia postać normalna idzie krok dalej eliminując zależności przechodnie między atrybutami co w przypadku tej tabeli również nie ma zastosowania Problemem tutaj jest brak rozdzielenia danych na mniejsze tabele co prowadzi do redundancji i potencjalnych błędów przy aktualizacji danych często określanych jako anomaly W dobrze znormalizowanej bazie danych oddzielenie informacji takich jak dane adresowe umożliwia lepszą organizację danych ich spójność oraz zwiększa efektywność operacji na bazie danych
A. do manipulowania danymi w tabeli klienciPoprawna odpowiedź
B. do zarządzania strukturą bazy danych klienciTwoja odpowiedź
C. do manipulowania danymi bazy danych klienci
D. do zarządzania strukturą tabeli klienci
Niepoprawna odpowiedź. W kontekście analizy niepoprawnych odpowiedzi, odpowiedzi dotyczące zarządzania strukturą tabeli klienci oraz zarządzania strukturą bazy danych klienci są niepoprawne, ponieważ polecenie GRANT nie odnosi się do tych aspektów. Zarządzanie strukturą tabeli zazwyczaj obejmuje takie operacje jak tworzenie lub modyfikowanie tabel, co jest realizowane przez polecenia takie jak CREATE TABLE czy ALTER TABLE. W przypadku polecenia GRANT, nie ma mowy o wprowadzaniu zmian w strukturze tabeli, a jedynie o nadawaniu uprawnień do manipulacji danymi. Podobnie, zarządzanie strukturą bazy danych dotyczy bardziej operacji administracyjnych, takich jak tworzenie bazy danych, co również nie jest tożsame z uprawnieniami do operacji na danych. Ostatnia z niepoprawnych odpowiedzi, dotycząca manipulowania danymi bazy danych klienci, jest również myląca, ponieważ odnosi się do całej bazy danych jako całości, podczas gdy polecenie dotyczy wyłącznie konkretnej tabeli. W praktyce, zarządzanie danymi w kontekście bazy danych oznacza operacje na zbiorze danych, a nie na pojedynczych rekordach w tabelach. Dlatego kluczowe jest zrozumienie, że GRANT pozwala na nadawanie uprawnień do działania na konkretnej tabeli, a nie na całej bazie danych czy jej strukturze.
Pytanie 6
W języku PHP w konstrukcji switch powinno się znajdować
A. przynajmniej dwie instrukcje case
B. instrukcja default
C. instrukcja break po każdej instrukcji caseTwoja odpowiedź
D. konstrukcja switch(wyrażenie)Poprawna odpowiedź
Niepoprawna odpowiedź. Wybór odpowiedzi, która sugeruje, że instrukcja default jest wymagana w konstrukcji switch, jest błędny z kilku powodów. Po pierwsze, instrukcja default jest opcjonalna, a jej obecność jest uzasadniona tylko w przypadku, gdy chcemy zdefiniować domyślne działanie, gdy żaden z przypadków nie pasuje do wartości wyrażenia. Brak default nie wpływa na poprawność działania switch. Co więcej, wiele programistów decyduje się na pominięcie tej instrukcji, gdyż nie ma takiej potrzeby. Kolejną niepoprawną odpowiedzią jest twierdzenie, że w switch musi występować przynajmniej dwie instrukcje case. W rzeczywistości konstrukcja switch może składać się z jednego przypadku, co oznacza, że programista ma pełną swobodę w definiowaniu liczby użytych case'ów, w zależności od potrzeb aplikacji. Ostatni błędny wybór odnosi się do konieczności użycia instrukcji break po każdej instrukcji case. Choć stosowanie break jest dobrą praktyką, ponieważ zapobiega 'spadaniu' do kolejnych case'ów, jego brak nie czyni całej konstrukcji switch nieważną. Gdy break nie jest użyty, kod przechodzi do kolejnych instrukcji case, co może prowadzić do niezamierzonych wyników, ale nie wpływa na samą poprawność konstrukcji switch. Dlatego wszystkie te odpowiedzi są niepoprawne w kontekście wymagań dotyczących stosowania instrukcji switch w PHP.
Pytanie 7
Jaki jest cel wykorzystania znacznika <i> w języku HTML?
A. określenia formularzaTwoja odpowiedź
B. określenia nagłówka w treści
C. zmiany kroju pisma na pochylonyPoprawna odpowiedź
D. wstawienia obrazka
Niepoprawna odpowiedź. Znaczniki HTML pełnią różne funkcje, a niektóre z dostępnych odpowiedzi dotyczą zastosowań, które są niezgodne z funkcją <i>. Umieszczenie obrazka w dokumencie HTML realizuje się za pomocą znacznika <img>, który pozwala na wstawienie grafiki i definiowanie jej atrybutów, takich jak src (źródło) czy alt (opis alternatywny). Użycie <i> do umieszczenia obrazka jest technicznie niepoprawne, gdyż znacznik ten nie ma takiej funkcji ani atrybutów. Z kolei definiowanie formularza w HTML ma miejsce za pomocą znacznika <form>, który jest fundamentalny dla tworzenia interaktywnych elementów na stronie, umożliwiających użytkownikom wprowadzanie danych. Znacznik <i> nie jest odpowiedni dla tych celów, ponieważ jego główną rolą jest stylizacja tekstu. Wreszcie, definiowanie nagłówka w dokumencie HTML realizuje się przy użyciu znaczników nagłówków, takich jak <h1>, <h2>, <h3>, które hierarchizują treść i nadają strukturę stronie. Znacznik <i> nie pełni tej funkcji, co sprawia, że wszystkie wymienione odpowiedzi są niepoprawne w kontekście ich przypisanych ról w HTML.
Pytanie 8
Użytkownik Jan będzie mógł wykonywać
GRANTALL PRIVILEGESONdane.*TO'Jan'@'localhost';
A. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
B. wszystkie operacje na tabelach bazy dane.Poprawna odpowiedź
C. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.Twoja odpowiedź
D. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
Niepoprawna odpowiedź. Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.
Pytanie 9
Która metoda przesłania danych poufnych z formularza jest NAJBEZPIECZNIEJSZA?
A. metoda GET przez HTTPTwoja odpowiedź
B. metoda GET przez HTTPS
C. metoda POST przez HTTP
D. metoda POST przez HTTPSPoprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe kombinacje są słabsze. GET (w obu wariantach) umieszcza dane w ADRESIE URL - widoczne, zapisywane w historii i logach. Czyste HTTP przesyła wszystko otwartym tekstem, więc nawet POST przez HTTP można podsłuchać. Dane poufne najlepiej chroni POST przez HTTPS.
Pytanie 10
Wskaż polecenie SQL, które dodaje kolumnę miesiacSiewu do już istniejącej tabeli rośliny
A.
UPDATEroslinyADDmiesiacSiewuint
B.
ALTERTABLEroslinyADDmiesiacSiewuint
Poprawna odpowiedź
C.
CREATETABLErosliny{miesiacSiewuint}
D.
INSERTINTOroslinyValues(miesiacSiewuint)
Twoja odpowiedź
Niepoprawna odpowiedź. Pierwsza niepoprawna odpowiedź wykorzystuje polecenie 'UPDATE rosliny ADD miesiacSiewu int;', ale to zupełnie nie to, bo UPDATE jest do zmieniania już istniejących rekordów, a nie do dodawania kolumn. Kolejna odpowiedź, w której jest 'CREATE TABLE rosliny {miesiacSiewu int};', to też zły pomysł. CREATE TABLE jest do tworzenia nowych tabel, co w tym przypadku nie ma sensu, bo tabela 'rosliny' już przecież jest. Stworzenie nowej tabeli zamiast zmieniania tej istniejącej tylko by skomplikowało sprawę. Ostatnia odpowiedź z 'INSERT INTO rosliny Values (miesiacSiewu int);' też nie pasuje, bo INSERT INTO jest do dodawania nowych rekordów, a nie do kolumn. Do tego to 'miesiacSiewu int' nie powinno się tam znaleźć, bo w poleceniu INSERT powinny być rzeczywiste dane, a nie definicje typów. Te niepoprawne odpowiedzi pokazują różne rzeczy w SQL, ale żadna z nich nie osiąga celu dodania kolumny do istniejącej tabeli.
Pytanie 11
W języku JavaScript trzeba sformułować warunek, który będzie spełniony, gdy zmienna a będzie dowolną liczbą naturalną dodatnią (więcej niż 0) lub gdy zmienna b będzie dowolną liczbą z przedziału domkniętego od 10 do 100. Wyrażenie logiczne w tym warunku powinno mieć postać
A. (a > 0) && ((b >= 10) && (b <= 100))
B. (a > 0) || ((b >= 10) || (b <= 100))Twoja odpowiedź
C. (a > 0) && ((b >= 10) || (b <= 100))
D. (a > 0) || ((b >= 10) && (b <= 100))Poprawna odpowiedź
Niepoprawna odpowiedź. Pierwsza odpowiedź (a > 0) && ((b >= 10) && (b <= 100)) opiera się na błędnym założeniu, że oba warunki muszą być spełnione jednocześnie, co jest sprzeczne z wymaganiami. W kontekście tego pytania, aby warunek był prawdziwy, wystarczy, że przynajmniej jeden z podanych warunków będzie spełniony. To podejście prowadzi do niepotrzebnej ścisłości, ograniczając funkcjonalność programu. Druga odpowiedź (a > 0) && ((b >= 10) || (b <= 100)) również jest myląca; operator logiczny '||' w kontekście zmiennej b sugeruje, że b może być mniejsze niż 10 lub większe niż 100, co nie spełnia wymagań, które określają, że b musi być w przedziale 10-100. Trzecia odpowiedź (a > 0) || ((b >= 10) || (b <= 100)) wprowadza dodatkowe zamieszanie, ponieważ druga część warunku znowu nie wymusza, aby b znajdowało się w odpowiednim zakresie. Przypadki takie jak te wskazują na typowe błędy logiczne, gdzie programiści mogą mylnie interpretować potrzeby warunku, co skutkuje błędami w kodzie. Kluczowe jest zrozumienie, jak działają operatory logiczne oraz jakie są ich konsekwencje w kontekście projektowania warunków. Właściwe użycie operatorów jest fundamentem skutecznego programowania, a unikanie takich pułapek jest kluczowe dla tworzenia stabilnych aplikacji.
Pytanie 12
Instrukcją równoważną funkcjonalnie do przedstawionej instrukcji switch zapisanej w języku JavaScript jest
Poprawna odpowiedź. Kod 2 jest poprawny, ponieważ struktura instrukcji warunkowych w JavaScript jest równoważna z wyrażeniem switch przedstawionym w pytaniu. Instrukcja switch pozwala na wykonanie jednej z wielu gałęzi kodu w zależności od wartości wyrażenia, w tym przypadku zmiennej 'dzialanie'. Każdy 'case' w switch odpowiada warunkowi 'if' w strukturze if-else if. W Kodzie 2 każda operacja matematyczna, jak dodawanie czy odejmowanie, jest przypisana do odpowiedniego warunku dzięki zastosowaniu if-else if, co dokładnie odwzorowuje zachowanie switch. Jest to zgodne z dobrą praktyką programistyczną, gdzie wybór między switch a if-else if zależy od przejrzystości i liczby porównywanych przypadków. Kod 2 jest bardziej czytelny, co jest ważne w utrzymywaniu i rozwijaniu kodu produkcyjnego. Praktyczne zastosowanie takiej struktury można znaleźć w budowaniu aplikacji, gdzie decyzje podejmowane są na podstawie wielu możliwych wartości zmiennej.
Pytanie 13
Jaka forma zabezpieczenia dostępu do tabel i kwerend działa w MS Access?
A. przypisanie uprawnień użytkownikomPoprawna odpowiedź
B. limity przestrzeni dyskowejTwoja odpowiedź
C. określanie przestrzeni tabel
D. stosowanie makr
Niepoprawna odpowiedź. Pozostałe odpowiedzi nie dotyczą ochrony dostępu. Makra automatyzują czynności (np. otwarcie formularza), ale nie bronią danych przed niepowołanymi osobami. Określanie przestrzeni tabel oraz limity przestrzeni dyskowej to kwestie zarządzania miejscem i wydajnością. Bezpieczeństwo obiektów zapewnia przypisanie uprawnień użytkownikom.
Pytanie 14
Jaki minimalny kontrast tekstu (standardowego rozmiaru) do tła wymaga WCAG 2.x na poziomie AA?
A. 1,5 : 1
B. 2,0 : 1Twoja odpowiedź
C. 4,5 : 1Poprawna odpowiedź
D. 2,5 : 1
Niepoprawna odpowiedź. Pozostałe wartości są zbyt niskie, by spełnić AA dla zwykłego tekstu. Kontrasty 1,5:1, 2,0:1 czy 2,5:1 dają tekst trudny do odczytania na tle. Wymagane minimum WCAG AA dla standardowego tekstu to 4,5:1.
Pytanie 15
Jaki rezultat uzyskamy po uruchomieniu załączonego skryptu?
<?php class Owoc { function __construct() { echo "test1"; } function __destruct() { echo "test2"; } } $gruszka = new Owoc(); ?>
A. Na ekranie pojawią się oba komunikaty: "test1" oraz "test2"Poprawna odpowiedź
B. Nie zostanie wyświetlony żaden komunikat
C. Pojawi się jedynie komunikat "test2"Twoja odpowiedź
D. Pojawi się tylko komunikat "test1"
Niepoprawna odpowiedź. W analizie skryptu PHP ważne jest zrozumienie roli metod specjalnych jak __construct() i __destruct(). __construct() uruchamia się podczas tworzenia obiektu, a __destruct() w momencie niszczenia obiektu. Odpowiedź wskazująca, że żaden napis się nie wyświetli, ignoruje fakt, że zarówno konstruktor jak i destruktor wywołują funkcję echo. Przy odpowiedzi, że wyświetli się tylko napis test1, pominięto działanie metody __destruct(), która następuje po zakończeniu skryptu. Natomiast stwierdzenie, że wyświetli się tylko napis test2 ignoruje działanie konstruktora, który zostaje niezwłocznie aktywowany po stworzeniu obiektu $gruszka. Częstym błędem jest nieujmowanie pełnego cyklu życia obiektu, co prowadzi do nieprawidłowego zrozumienia działania destruktorów, zwłaszcza że uruchamiane są one automatycznie, wpływając na zarządzanie zasobami i pamięcią. Zrozumienie tych mechanizmów jest kluczowe w efektywnym zarządzaniu kodem w PHP, szczególnie w zaawansowanych projektach obiektowych.
Pytanie 16
Jakim systemem do zarządzania wersjami oprogramowania jest
A. Eclipse
B. TotalCommander
C. FileZilla
D. GITTwoja odpowiedź
Poprawna odpowiedź. GIT to system kontroli wersji, który jest niezwykle popularny wśród programistów i zespołów developerskich, umożliwiający śledzenie zmian w kodzie źródłowym oraz współpracę nad projektami. GIT jest rozproszonym systemem, co oznacza, że każdy programista ma pełną kopię repozytorium na swoim lokalnym komputerze. Dzięki temu, praca w trybie offline jest możliwa, a zmiany można synchronizować później z centralnym repozytorium. GIT wspiera również wiele funkcji, takich jak branching, co pozwala na równoległe rozwijanie funkcjonalności bez wpływu na główną wersję kodu. Przykładowo, zespół może pracować nad nowymi funkcjami w osobnych gałęziach i łączyć je z główną wersją po zakończeniu prac. GIT jest również zgodny z najlepszymi praktykami, takimi jak Continuous Integration (CI) i Continuous Deployment (CD), co pozwala na automatyzację procesów testowania i wdrażania oprogramowania. W branży IT GIT stał się standardem, a jego znajomość jest kluczowa dla efektywnej pracy w zespołach. Warto również wspomnieć o platformach takich jak GitHub czy GitLab, które oferują zintegrowane narzędzia do zarządzania projektami opartymi na GIT.
Pytanie 17
Termin "front-end" w kontekście projektowania stron WWW odnosi się do
A. bazy danych z danymi publikowanymi na stronie
B. organizacji informacji na serwerze WWW
C. interfejsu witryny internetowej powiązanego z technologiami operującymi w przeglądarce internetowejPoprawna odpowiedź
D. działania skryptów oraz aplikacji realizowanych po stronie serwera WWWTwoja odpowiedź
Niepoprawna odpowiedź. Ważne jest, by zrozumieć, że front-end i back-end pełnią różne role w tworzeniu aplikacji internetowych. Back-end zajmuje się tym, co dzieje się na serwerze, czyli organizowaniem danych i logiką aplikacji. Jeśli myślisz, że front-end to wszystko, co związane z serwerem, to musisz to przemyśleć. Front-end to rzeczywiście ta warstwa, którą widzisz, ale też komunikacja z serwerem przez technologie jak AJAX. A jeśli ktoś mówi, że front-end to baza danych, to totalnie nie tak. Bazy danych to sprawa back-endu. Często można też spotkać zamieszanie między interfejsem użytkownika a logiką aplikacji, co może prowadzić do nieporozumień w tworzeniu stron. Projektując coś, musisz myśleć o obu tych warstwach, żeby wszystko razem dobrze działało.
Pytanie 18
W HTML-u atrybut shape w znaczniku area, który definiuje kształt obszaru, może przyjąć wartość
A. rect, triangle, circleTwoja odpowiedź
B. rect, poly, circlePoprawna odpowiedź
C. rect, square, circle
D. poly, square, circle
Niepoprawna odpowiedź. Wybór niewłaściwej odpowiedzi może wynikać z nieporozumień dotyczących atrybutu shape w znaczniku area. Odpowiedzi wskazujące na 'square' lub 'triangle' są błędne, ponieważ te kształty nie są obsługiwane przez standard HTML. W przypadku 'square', mogłoby się wydawać, że jest to po prostu inna forma prostokąta, jednak HTML nie definiuje takiej wartości dla atrybutu shape. Również 'triangle' nie jest uznawany w kontekście standardowych atrybutów; HTML nie pozwala na bezpośrednie definiowanie kształtów trójkątnych w obszarach mapy obrazów. Tego rodzaju zamieszanie może wynikać z niepełnego zrozumienia funkcji atrybutu, który jest jednoznacznie związany z prostokątem, okręgiem oraz wielokątem. Kluczowe jest, aby przyjrzeć się dokumentacji HTML oraz standardom W3C, które jasno określają poprawne wartości dla atrybutu shape. W praktyce, zrozumienie tych różnic jest istotne dla tworzenia efektywnych i dostępnych interfejsów użytkownika, gdzie każdy element jest precyzyjnie zdefiniowany i zrozumiały dla przeglądarek oraz użytkowników. Ponadto, stosowanie niepoprawnych wartości może prowadzić do błędów w renderowaniu strony, co negatywnie wpływa na doświadczenia użytkowników i dostępność serwisu.
Pytanie 19
Na podstawie przydzielenia wartości do zmiennych w języku PHP można zauważyć, że
A. zmienna1 i zmienna2 mają ten sam typ.Twoja odpowiedź
B. wszystkie zmienne mają ten sam typ.
C. zmienna1 i zmienna3 mają ten sam typ.
D. zmienna2 i zmienna3 mają ten sam typ.Poprawna odpowiedź
Niepoprawna odpowiedź. Nie do końca to jest dobre, co mówisz, bo $zmienna1 to liczba całkowita (integer), a $zmienna2 to string. Typy danych w PHP mają znaczenie, bo różnie się zachowują w trakcie działania. Liczby są liczone, a teksty traktowane jako znaki. Mimo że obie pokazują "15", to ich typy są inne, co może prowadzić do błędów. Z $zmienna1 i $zmienna3 też jest nieciekawie, bo mimo że to liczby, to jednak typy się różnią - $zmienna1 to integer, a $zmienna3 to string. Często można się w tym pogubić, zakładając, że mając te same wartości, są też tego samego typu. Jak mówisz, że trzy zmienne są takie same, to pokazujesz, że nie do końca masz jasność co do typów w PHP. Pamiętaj, żeby zwracać uwagę na rzutowanie typów, bo niedopatrzenia mogą skutkować problemami w kodzie. Rekomenduję, żeby programiści regularnie sięgać do dokumentacji i używać dobrych praktyk, by lepiej ogarnąć temat typów danych w swoich projektach.
Pytanie 20
Reprezentacja znacznika HTML w formacie
<a href="#hobby">przejdź</a>
A. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o URL "hobby"
B. jest błędny, w atrybucie href należy wpisać adres URL
C. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do sekcji o nazwie "hobby"Poprawna odpowiedź
D. jest błędny, użyto niewłaściwego znaku "#" w atrybucie hrefTwoja odpowiedź
Niepoprawna odpowiedź. W odpowiedziach, które wskazują na błędy w zapisie znacznika HTML, pojawiają się nieporozumienia dotyczące funkcji atrybutu href w tagu <a>. Niepoprawne są twierdzenia sugerujące, że użycie znaku '#' w atrybucie href jest błędne. Wręcz przeciwnie, znak '#' jest standardowym sposobem definiowania odnośników do identyfikatorów na tej samej stronie. Zastosowanie atrybutu href w takiej formie jest powszechnie akceptowane i stosowane w praktyce web developerskiej. Kolejnym błędnym wnioskiem jest stwierdzenie, że w atrybucie href należy podać pełny adres URL. W rzeczywistości, gdy celem jest nawigacja do sekcji na tej samej stronie, wystarczy użyć symbolu '#' i odpowiedniego identyfikatora. Dodatkowo, pominięcie praktyki użycia href do nawigacji wewnętrznej prowadzi do mniejszych korzyści w zakresie użyteczności strony. Użytkownicy oczekują, że będą mogli łatwo przemieszczać się pomiędzy różnymi sekcjami długich treści, a niewłaściwe podejście do definiowania odnośników może prowadzić do frustracji i obniżenia jakości doświadczeń użytkowników. Warto zatem zrozumieć, że poprawne stosowanie takich odnośników jest kluczowe dla skutecznego projektowania stron internetowych.
Pytanie 21
Jak w PHP otworzyć plik dane.txt TYLKO do odczytu i wczytać jego zawartość?
A.
fopen("dane.txt","w")orazfgets()
B.
fopen("dane.txt","w")orazfputs()
Twoja odpowiedź
C.
fopen("dane.txt","r")orazfputs()
D.
fopen("dane.txt","r")orazfgets()
Poprawna odpowiedź
Niepoprawna odpowiedź. Tryb "w" otwiera plik do ZAPISU (i kasuje jego zawartość), więc nie nadaje się do odczytu. fputs() ZAPISUJE dane, a nie czyta. Do odczytu pasują fopen("dane.txt","r") i fgets().
Pytanie 22
Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję
A. cyklometrycznych.Twoja odpowiedź
B. klucza.Poprawna odpowiedź
C. abstrakcyjnych.
D. mieszających.
Niepoprawna odpowiedź. Mieszające funkcje, choć istotne w kryptografii, nie są właściwym podejściem do zabezpieczania haseł użytkowników. Ich głównym celem jest zapewnienie, że nawet niewielka zmiana w danych wejściowych prowadzi do drastycznie różniącego się wyniku, co jest przydatne w kontekście tworzenia funkcji hashujących, ale nie wystarcza do ochrony haseł. Funkcje abstrakcyjne, z kolei, dotyczą bardziej teoretycznych modeli czy algorytmów, które nie mają bezpośredniego zastosowania w procesie zabezpieczania haseł. Kluczowe jest, aby zrozumieć, że hasła powinny być przede wszystkim szyfrowane przy użyciu odpowiednich algorytmów, a nie jedynie mieszane czy abstrakcyjne. Cyklometryczne metody również nie mają zastosowania w kontekście ochrony haseł, gdyż ich zastosowanie jest ograniczone do analizy danych czy grafów, a nie do rzeczywistych procesów szyfrowania czy zabezpieczania informacji. Dlatego błędem jest przypuszczenie, że inne metody mogą zastąpić funkcje klucza w kontekście ochrony haseł. W praktyce, stosowanie nieodpowiednich metod zabezpieczających prowadzi do poważnych luk w bezpieczeństwie, które mogą być wykorzystane przez cyberprzestępców.
Pytanie 23
Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?
A. aside {float: left; }
B. nav { float: right; } section { float: right; }Poprawna odpowiedź
C. nav { float: left; } aside { float: left; }Twoja odpowiedź
D. nav { float: right; }
Niepoprawna odpowiedź. 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 24
Jakie możliwości daje funkcja phpinfo()?
A. uruchomienie kodu w języku PHP
B. uzyskanie informacji o środowisku pracy serwera obsługującego PHPPoprawna odpowiedź
C. analizowanie kodu PHPTwoja odpowiedź
D. zweryfikowanie wartości zmiennych użytych w kodzie PHP
Niepoprawna odpowiedź. Analizując odpowiedzi, można zauważyć, że niektóre z nich mogą wydawać się logiczne, ale są mylące w kontekście działania funkcji phpinfo(). Na przykład, debugowanie kodu PHP to proces, który wymaga narzędzi takich jak Xdebug, które umożliwiają śledzenie wykonania skryptów, a nie prostego wyświetlania informacji konfiguracyjnych. Również zainicjowanie kodu w języku PHP nie jest właściwym opisem tej funkcji, ponieważ phpinfo() nie służy do uruchamiania skryptów, lecz do prezentacji stanu środowiska PHP. Kolejnym błędnym podejściem jest sądzenie, że phpinfo() może sprawdzić wartości zmiennych użytych w kodzie PHP – w rzeczywistości, funkcja ta nie ma na celu monitorowania wartości zmiennych, lecz skupia się na ogólnych informacjach o systemie. Użytkownicy często mylą funkcje diagnostyczne z funkcjami informacyjnymi, co prowadzi do nieporozumień w zakresie ich zastosowania. Kluczowym aspektem jest zrozumienie, że phpinfo() to narzędzie do zbierania informacji o konfiguracji, a nie do interakcji z kodem źródłowym. Ważne jest również, aby pamiętać o bezpieczeństwie, ponieważ publiczne udostępnienie wyników phpinfo() może narazić serwer na ataki, ujawniając szczegóły dotyczące jego konfiguracji. Zrozumienie tych różnic jest kluczowe dla prawidłowego korzystania z PHP i zarządzania aplikacjami w tym języku.
Pytanie 25
Który format najlepiej nadaje się do zapisu RASTROWEGO obrazu z przezroczystością na stronę WWW?
A. SVG
B. PNGTwoja odpowiedź
C. JPG
D. BMP
Poprawna odpowiedź. Do rastrowego obrazu z przezroczystością przeznaczonego na stronę WWW najlepszy jest PNG - łączy kanał alfa, kompresję bezstratną i pełne wsparcie przeglądarek. Sprawdza się przy logo, ikonach i grafikach nakładanych na różne tła. Zapamiętaj: raster + przezroczystość + web = PNG.
Pytanie 26
W podanym kodzie PHP, w miejscu kropek należy umieścić odpowiednią instrukcję
$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik"); while ($wiersz = ...................) echo "$wiersz[0] $wiersz[1]";
A. mysqli_num_fields($zapytanie)
B. mysqli_free_result($zapytanie)
C. mysqli_fetch_array($zapytanie)Twoja odpowiedź
D. mysqli_query($zapytanie)
Poprawna odpowiedź. Funkcja mysqli_fetch_array($zapytanie) jest używana do pobierania wyników zapytania SQL w formie tablicy asocjacyjnej lub indeksowanej. W kontekście podanego kodu, po wykonaniu zapytania SELECT do bazy danych, wyniki są zwracane jako zasób, który musi być przetworzony. Mysqli_fetch_array pozwala na iteracyjne przetwarzanie każdego wiersza z zestawu wyników, co umożliwia dostęp do poszczególnych wartości pól za pomocą indeksów lub kluczy. Jest to przydatne w sytuacjach, gdzie dane muszą być wyświetlane lub przetwarzane w pętli, jak w przykładowym kodzie. Tablica zwracana przez mysqli_fetch_array może zawierać pola zarówno z indeksami numerycznymi, jak i nazwami kolumn, co daje elastyczność w dostępie do danych. Zgodnie z dobrymi praktykami programistycznymi, zawsze należy sprawdzić, czy zapytanie zostało wykonane poprawnie, zanim zacznie się przetwarzać jego wyniki, oraz zwolnić pamięć po zakończeniu przetwarzania wyników. Stosowanie odpowiednich mechanizmów obsługi błędów i zabezpieczeń, takich jak przygotowane zapytania, jest również kluczowe dla bezpieczeństwa aplikacji.
Pytanie 27
Tabela filmy zawiera klucz główny id oraz klucz obcy rezyserID, natomiast tabela rezyserzy ma klucz główny id. Obydwie tabele są połączone relacją jeden do wielu, gdzie strona rezyserzy odnosi się do strony filmy. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?
A. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...Poprawna odpowiedź
B. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
C. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...Twoja odpowiedź
D. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
Niepoprawna odpowiedź. W przypadku błędnych odpowiedzi, takich jak używanie rezyserzy.filmyID lub porównywanie kluczy głównych tabeli rezyserzy z kluczami głównymi tabeli filmy, istotne jest zrozumienie, że klucze muszą być stosowane zgodnie z ich rolami w relacji. Klucz obcy w tabeli filmy (rezyserID) jest przeznaczony do wskazywania na odpowiedni klucz główny w tabeli rezyserzy (id). Używanie rezyserzy.filmyID jest całkowicie błędne, ponieważ tabela rezyserzy nie ma kolumny o takiej nazwie; nie ma relacji, która by wskazywała na filmy w tej tabeli. Z kolei porównywanie filmy.id z rezyserzy.id nie jest sensowne, ponieważ porównujemy dwa różne klucze, które nie mają ze sobą bezpośredniego związku, co prowadzi do niepoprawnych wyników zapytań. Klucz rezyserID w tabeli filmy jest odpowiedzialny za powiązanie konkretnego reżysera z filmem, a nie odwrotnie. Warto również zauważyć, że nieprzestrzeganie zasad normalizacji oraz poprawnego stosowania kluczy obcych może prowadzić do niejednoznacznych danych oraz trudności w utrzymaniu spójności bazy danych.
Pytanie 28
Określ rodzaj relacji między tabelami: Tabela1 oraz Tabela3?
A. Jeden do jednegoTwoja odpowiedź
B. Wiele do wieluPoprawna odpowiedź
C. Wiele do jednego
D. Jeden do wielu
Niepoprawna odpowiedź. Rozważając różne typy relacji pomiędzy tabelami w relacyjnych bazach danych, istotne jest zrozumienie konceptu kluczy i połączeń. Relacja jeden do jednego implikuje, że każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej. Stosuje się ją tam, gdzie dane można logicznie podzielić na dwie części, jak np. dane osobowe i szczegółowe informacje kontaktowe danej osoby. Relacja jeden do wielu oznacza, że jeden rekord z pierwszej tabeli łączy się z wieloma rekordami w drugiej. Przykładowo, jeden autor może napisać wiele książek. Taka struktura jest typowa przy modelowaniu hierarchii danych i przy relacjach typu rodzic-dziecko. W przypadku relacji wiele do wielu, potrzebna jest trzecia tabela, która pośredniczy między dwoma głównymi tabelami, przechowując ich klucze obce. Umożliwia to powiązanie wielu rekordów z obu stron. Typowe błędy polegają na niepoprawnym wyborze typu relacji, co prowadzi do redundancji danych i problemów z integralnością. Zrozumienie i prawidłowe zastosowanie tych koncepcji jest kluczowe dla projektowania efektywnych i skalowalnych baz danych, wspierając jednocześnie złożone operacje i analizy. Wybór niewłaściwego typu relacji może prowadzić do trudności w zarządzaniu danymi i skomplikowanych zapytań, co jest znanym wyzwaniem w zarządzaniu bazami danych.
Pytanie 29
Wskaź poprawną formę kodowania polskich znaków w pliku HTML?
A.
<metacontent='UTF8'>
B.
<meta>
C.
<metaset= "UTF-8">
D.
<metacharset="UTF-8">
Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź <meta charset="UTF-8"> to strzał w dziesiątkę! To zgodny z nowoczesnymi standardami HTML sposób na określenie kodowania znaków w dokumencie. Dzięki temu, że używamy atrybutu 'charset' z wartością 'UTF-8', mówimy przeglądarkom, że tekst powinien być interpretowany według tego kodowania. UTF-8 jest super popularne, bo obsługuje wszystkie znaki w Unicode. To oznacza, że możemy pisać wszystkie polskie znaki diakrytyczne, czyli te jak ą, ć, ę, ł itd., bez obaw o błędy w wyświetlaniu. Jeśli wstawisz ten tag w sekcji <head> swojego dokumentu HTML, masz pewność, że strona będzie dobrze wyglądać w różnych przeglądarkach i na różnych urządzeniach. Dobrze jest umieszczać go na początku sekcji <head>, żeby uniknąć problemów z pokazywaniem treści. Co więcej, korzystanie z UTF-8 jest rekomendowane przez W3C, więc to naprawdę dobry wybór dla nowoczesnych aplikacji webowych.
Pytanie 30
Aby obraz dodany za pomocą kodu HTML był zrozumiały dla programów wspierających osoby niewidome, konieczne jest zdefiniowanie atrybutu
A. srcTwoja odpowiedź
B. border
C. sizes
D. altPoprawna odpowiedź
Niepoprawna odpowiedź. Atrybut 'src' w znaczniku <img> jest odpowiedzialny za określenie źródła obrazu, czyli lokalizacji pliku graficznego, który ma być wyświetlony. Choć jest to kluczowy element dla poprawnego wyświetlenia obrazów, nie ma on żadnego związku z dostępnością treści dla osób niewidomych. Wybór 'src' jako odpowiedzi na pytanie świadczy o niepełnym zrozumieniu roli, jaką odgrywają atrybuty w kontekście dostępności. Z kolei atrybut 'border' definiuje szerokość obramowania wokół obrazka i również nie wnosi nic do kwestii dostępności, ponieważ nie dostarcza żadnych informacji osobom, które nie mogą zobaczyć obrazu. Natomiast 'sizes' jest używany do określenia, jak obraz powinien być wyświetlany w różnych warunkach, ale ponownie, nie odnosi się to do potrzeb osób z ograniczeniami wzrokowymi. Nieprawidłowe odpowiedzi często wynikają z mylenia funkcji atrybutów, co prowadzi do błędnego wniosku, że inne atrybuty mogą zaspokajać potrzeby dostępności. W praktyce, aby strona była dostępna, należy stosować atrybut 'alt', który spełnia kluczową rolę w komunikacji treści wizualnych z użytkownikami wymagającymi wsparcia, a ignorowanie tej zasady może skutkować wykluczeniem części użytkowników z korzystania z serwisu internetowego.
Pytanie 31
Na listingu kodu JavaScript w wykropkowanej części definicji obiektu osoba należy wpisać kod, który prawidłowo obsłuży instrukcję osoba.j = "PL"; Który to będzie kod?
var osoba = {
imie: "Jan",
jezyk: "EN",
set j(nazwa) { ... }
};
A. this.jezyk = nazwa;Poprawna odpowiedź
B. this.j = nazwa;
C. return this.j;Twoja odpowiedź
D. return this.jezyk;
Niepoprawna odpowiedź. Niepoprawne odpowiedzi w tym pytaniu wynikają z niezrozumienia roli setterów i sposób, w jaki są one używane do zarządzania stanem obiektu w JavaScript. Odpowiedź 'this.j = nazwa;' jest nieprawidłowa, ponieważ próbuje przypisać wartość bezpośrednio do właściwości 'j', która nie istnieje w obiekcie 'osoba'. Z kolei 'return this.j;' i 'return this.jezyk;' nie są prawidłowe, ponieważ setter nie powinien zwracać wartości. Jego zadaniem jest ustawienie wartości, a nie jej zwrócenie. Zrozumienie roli setterów w zarządzaniu stanem obiektu jest kluczowe dla prawidłowego używania JavaScript. Setter powinien zawsze przypisywać wartość do właściwości obiektu, a nie próbować zwrócić wartość lub przypisać wartość do nieistniejącej właściwości.
Pytanie 32
Do czego służy w JavaScript metoda Math.random()?
A. do zwrócenia liczby pseudolosowejPoprawna odpowiedź
B. do porównania dwóch napisów
C. do zwrócenia liczby po zaokrągleniu
D. do zaokrąglenia liczby w górę do całkowitejTwoja odpowiedź
Niepoprawna odpowiedź. Pozostałe opisy dotyczą innych metod. Zaokrąglanie w górę to Math.ceil(), a zaokrąglanie do całkowitej Math.round(). Porównywanie napisów nie jest rolą obiektu Math. Liczbę pseudolosową zwraca Math.random().
Pytanie 33
W przedstawionej regule CSS h1{color: blue} co oznacza h1?
A. wartośćTwoja odpowiedź
B. deklarację
C. selektorPoprawna odpowiedź
D. klasę
Niepoprawna odpowiedź. W kontekście analizy niepoprawnych odpowiedzi, pierwsza z nich sugeruje, że h1 oznacza klasę. Klasa w CSS jest definiowana za pomocą kropki (.), co różni ją od selektorów tagów, jak h1. Klasy umożliwiają grupowanie elementów i stosowanie wspólnych stylów, jednak h1 jako tag HTML nie może być klasą. Kolejna odpowiedź definiuje h1 jako wartość, co jest błędne, ponieważ wartość w CSS odnosi się do przypisania określonej właściwości, na przykład 'color: blue', gdzie 'blue' jest wartością, a h1 selektorem. Wreszcie, odpowiedź opisana jako deklaracja, również jest myląca. Deklaracja w CSS składa się z selektora oraz przypisania właściwości i wartości, takich jak w przykładowej regule h1{color: blue}. W tym przypadku h1 jest jedynie selektorem, a cała reguła, w tym kolor, jest deklaracją. Dlatego ważne jest zrozumienie różnicy między tymi terminami, aby skutecznie korzystać z CSS w projektowaniu stron internetowych.
Pytanie 34
Który z czterech podstawowych kolorów modelu CMYK to:
A. brązowyTwoja odpowiedź
B. zielony
C. pomarańczowy
D. czarnyPoprawna odpowiedź
Niepoprawna odpowiedź. CMYK tworzą cyan, magenta, yellow i czarny (K). Zielony, brązowy i pomarańczowy nie są składowymi tego modelu - powstają dopiero z mieszania farb CMYK. Czwartym, „kluczowym” kolorem jest czarny.
Pytanie 35
Która pętla w PHP wykona swoje instrukcje CO NAJMNIEJ RAZ, bo warunek sprawdzany jest dopiero na końcu?
A.
for
B.
foreach
Twoja odpowiedź
C.
while
D.
do...while
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe pętle sprawdzają warunek PRZED ciałem, więc mogą się nie wykonać ani razu. for i while badają warunek na początku - jeśli jest fałszywy, blok zostaje pominięty. foreach iteruje po elementach tablicy (nie ma klasycznego warunku). Co najmniej jedno wykonanie gwarantuje tylko do...while.
Pytanie 36
Jakie działanie wykonuje poniższy fragment kodu w języku JavaScript? n = "Napis1"; s = n.length;
A. Przypisuje do zmiennej s część napisu z zmiennej n, o długości określonej przez zmienną lengthTwoja odpowiedź
B. Przypisuje wartość zmiennej n do zmiennej s
C. Przypisuje do zmiennej s wartość odpowiadającą długości napisu z zmiennej nPoprawna odpowiedź
D. Zwraca długość napisu zawartego w zmiennej n
Niepoprawna odpowiedź. Odpowiedzi, które błędnie interpretują fragment kodu, wskazują na nieporozumienie dotyczące działania właściwości length oraz przypisania wartości w JavaScript. Przypisanie zmiennej n do zmiennej s nie jest możliwe w kontekście omawianego fragmentu, ponieważ zmienna s nie przyjmuje obiektu, a wyłącznie wartość długości napisu. Stwierdzenie, że skrypt wyświetli długość napisu, jest również nieprawidłowe, ponieważ w danym kodzie nie ma operacji wyświetlania - zmienne są jedynie przypisane. Kolejnym błędnym wnioskiem jest przypisanie fragmentu napisu do zmiennej s, co nie ma miejsca, ponieważ length zwraca tylko liczbę, a nie podłańcuch. Podstawowym błędem myślowym jest pomylenie przypisania wartości z operacjami wyświetlania i manipulacji łańcuchami. Warto zrozumieć, że JavaScript, jako język o dynamicznej typizacji, wymaga precyzyjnego rozumienia typów danych, a także właściwości i metod obiektów, co jest kluczowe dla efektywnego programowania. Niezrozumienie tych podstawowych konceptów może prowadzić do wielu błędów w kodzie, które są trudne do zdiagnozowania, a także mogą wpływać na wydajność i stabilność aplikacji.
Pytanie 37
W jaki sposób wykonanie podanej poniżej kwerendy SQL wpłynie na tabelę pracownicy?
ALTER TABLEpracownicyMODIFYplecchar9);
A. Zmieni typ danych kolumny plec na znakowy o zmiennej długości 9.
B. Zmieni typ danych kolumny plec na znakowy o stałej długości 9.Poprawna odpowiedź
C. Doda kolumnę plec ze znakowym typem danych o stałej długości 9.Twoja odpowiedź
D. Doda kolumnę plec ze znakowym typem danych o zmiennej długości 9.
Niepoprawna odpowiedź. Zmiana kolumny 'plec' poprzez dodanie nowej kolumny zamiast modyfikacji istniejącej jest błędna, ponieważ kwerenda SQL ALTER TABLE z modyfikacją nie dodaje nowej kolumny, lecz zmienia atrybuty już istniejącej. W przypadku dodania kolumny z typem znakowym o stałej długości, nie byłoby to możliwe bez użycia innego polecenia, takiego jak ADD COLUMN, co jest całkowicie inną operacją. Ponadto, zmiana na typ danych o zmiennej długości nie ma zastosowania w tej sytuacji, ponieważ char(9) zawsze rezerwuje 9 znaków, niezależnie od tego, ile znaków faktycznie jest zapisanych, co jest kluczową różnicą w porównaniu do varchar, który jest typem zmiennej długości. Ostatnia niepoprawna odpowiedź sugeruje, że kolumna mogłaby mieć typ znakowy o zmiennej długości, co nie jest zgodne z definicją char, gdyż ten typ danych zawsze zarezerwuje maksymalną długość zdefiniowaną przez użytkownika. W praktyce oznacza to, że przy użyciu char(9) każda wartość w kolumnie 'plec' będzie zawsze składać się z 9 znaków, a w przypadku krótszych wartości zostaną one wypełnione spacjami. Zrozumienie różnicy między typami danych oraz ich właściwą modyfikację jest kluczowe dla efektywnego zarządzania bazami danych.
Pytanie 38
Fragment kodu powyżej został napisany w języku JavaScript. Co należy umieścić w miejsce kropek, aby program przypisywał wartość 1 co trzeciemu elementowi w tablicy?
for (i = 0; i < T.length; ...) { T[i] = 1; }
A. i += 3Poprawna odpowiedź
B. i ++ 3
C. i =+ 3Twoja odpowiedź
D. i = 3
Niepoprawna odpowiedź. Inne odpowiedzi wynikają z nieprawidłowego zrozumienia mechaniki inkrementacji w pętli for w JavaScript. Wyrażenie i ++ 3 sugeruje błąd składniowy i logiczny. Operator ++ służy do zwiększenia wartości zmiennej o 1 i nie jest poprawnie użyty w połączeniu z innym operatorem lub liczbą. Takie połączenie może prowadzić do nieprzewidywalnych rezultatów i niespójności w kodzie. Natomiast i = 3 to przypisanie które ustawia wartość i na 3 na początku każdej iteracji resetując pętlę i uniemożliwiając jej poprawne działanie. Taka konstrukcja powodowałaby nieskończone zapętlenie ponieważ warunek końcowy pętli nigdy nie mógłby zostać spełniony. Z kolei i =+ 3 to błędna składnia ponieważ operator += jest połączony z plusem co prowadzi do błędów interpretacji przez kompilator. Zamiana kolejności lub dodanie niepotrzebnych znaków zmienia całkowicie logikę operacji prowadząc do nieoczekiwanych rezultatów. Zrozumienie poprawnego użycia operatorów inkrementacji i przypisania jest kluczowe w programowaniu w JavaScript ponieważ umożliwia to pisanie efektywnego i wydajnego kodu. Takie błędy są częste u początkujących którzy często mylą różne operatory przypisania i inkrementacji dlatego ważne jest ćwiczenie poprawnych konstrukcji składniowych podczas nauki programowania. Częste ćwiczenie i testowanie kodu w różnych scenariuszach pozwala na lepsze zrozumienie tych mechanizmów i uniknięcie typowych pułapek związanych z nieprawidłowym użyciem operatorów.
A. oznacza, że kliknięcie na link nie przeniesie do strony website.com.
B. jest informacją dla robota wyszukiwarki Google, aby nie podążał za tym linkiem.Twoja odpowiedź
C. oznacza, że kliknięcie na link otworzy go w osobnej karcie przeglądarki.
D. jest informacją dla przeglądarki internetowej, aby nie formatowała słowa "link" jako odnośnika.
Poprawna odpowiedź. Dobrze, że to wybrałeś! Atrybut rel='nofollow' w tagu <a> w HTML mówi robotom wyszukiwarek, jak Google, żeby nie śledziły tego linku. Często używa się go w SEO, czyli w optymalizacji stron. Dzięki temu możemy zdecydować, które linki na naszej stronie są ważne, a które nie. Jeśli mamy na myśli, żeby dana strona była mniej widoczna w wyszukiwarkach, to ten atrybut się przyda. Tylko musisz pamiętać, że zbyt wiele linków z 'nofollow' może sprawić, że wyszukiwarki nie będą patrzyły na naszą stronę za dobrze. Moim zdaniem, warto to dobrze przemyśleć!
Pytanie 40
Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?
for($i=0; $i <=10; $i+=2) { . . . . . . }
A. 10Twoja odpowiedź
B. 6Poprawna odpowiedź
C. 0
D. 5
Niepoprawna odpowiedź. Nieprawidłowe rozumienie działania pętli for w języku PHP może wynikać z niedokładnego zrozumienia jej składni oraz mechanizmu iteracji W tym przypadku pętla zaczyna się od wartości 0 i przyrasta o 2 aż do momentu gdy i przekroczy 10 Kluczowym elementem jest zrozumienie jak działa warunek i<=10 który wskazuje że pętla zakończy się po osiągnięciu wartości 10 ale zostanie wykonana również dla tej wartości Stąd liczba iteracji wynosi 6 a nie mniej lub więcej Jeżeli ktoś uznał że pętla wykonuje się 10 razy mógł zignorować fakt że krok iteracji wynosi 2 a nie 1 co jest typowym błędem gdy analizujemy pętle z niestandardowym przyrostem Inny błąd polega na przypuszczeniu że pętla nie wykona się wcale co wynika z nieprawidłowego założenia że warunek początkowy lub krok są błędnie skonfigurowane Warto zatem zawsze przeprowadzić symulację iteracji lub skorzystać z debuggera aby zrozumieć działanie pętli i sposób w jaki operują na niej warunki Dobrą praktyką jest również testowanie pętli z różnymi wartościami początkowymi i krokami aby uzyskać pewność co do oczekiwanego wyniku oraz uniknięcie błędów wynikających z nieprawidłowej interpretacji kodu