`."}},{"@type":"Question","name":"Kiedy plik JavaScript jest pobierany lokalnie, a kiedy z Internetu?","acceptedAnswer":{"@type":"Answer","text":"Jeśli w `src` podano nazwę lub ścieżkę względną, np. `jquery-3.5.1.min.js`, plik jest ładowany lokalnie z projektu. Jeśli podano pełny adres URL, np. `https://...`, plik jest pobierany z Internetu."}},{"@type":"Question","name":"Co oznacza nazwa pliku zakończona na .min.js?","acceptedAnswer":{"@type":"Answer","text":"Oznacza zminimalizowaną wersję pliku JavaScript. Kod działa tak samo, ale plik jest mniejszy, bo usunięto zbędne znaki, spacje i komentarze."}},{"@type":"Question","name":"Dlaczego bibliotekę jQuery należy dołączyć przed kodem, który z niej korzysta?","acceptedAnswer":{"@type":"Answer","text":"Kod korzystający z jQuery używa funkcji i obiektów dostarczanych przez bibliotekę. Jeśli biblioteka nie zostanie wcześniej wczytana, przeglądarka zgłosi błąd, np. że `$` nie jest zdefiniowane."}},{"@type":"Question","name":"Czy zapis deklaruje własną funkcję JavaScript?","acceptedAnswer":{"@type":"Answer","text":"Nie. Ten zapis dołącza zewnętrzny plik JavaScript. Nie tworzy funkcji o nazwie `min.js` ani żadnej innej funkcji użytkownika."}},{"@type":"Question","name":"Do czego służy biblioteka jQuery w aplikacjach webowych?","acceptedAnswer":{"@type":"Answer","text":"jQuery upraszcza operacje na elementach HTML, obsługę zdarzeń, animacje oraz komunikację AJAX. Pozwala pisać krótszy kod JavaScript."}},{"@type":"Question","name":"Co zwraca funkcja rand() w C++?","acceptedAnswer":{"@type":"Answer","text":"Funkcja `rand()` zwraca pseudolosową liczbę całkowitą z zakresu od `0` do `RAND_MAX`."}},{"@type":"Question","name":"Jak działa operator modulo w wyrażeniu rand() % 1000?","acceptedAnswer":{"@type":"Answer","text":"Operator `%` zwraca resztę z dzielenia przez `1000`. Reszta może mieć wartości od `0` do `999`."}},{"@type":"Question","name":"Dlaczego wynik rand() % 1000 nie może być równy 1000?","acceptedAnswer":{"@type":"Answer","text":"Reszta z dzielenia przez `1000` jest zawsze mniejsza od dzielnika, więc największy możliwy wynik to `999`."}},{"@type":"Question","name":"Jaki zakres wartości daje wyrażenie rand() % n?","acceptedAnswer":{"@type":"Answer","text":"Daje wartości całkowite od `0` do `n - 1`, o ile `n` jest dodatnie."}},{"@type":"Question","name":"Jak wylosować liczbę z zakresu od 1 do 1000 w C++ przy użyciu rand()?","acceptedAnswer":{"@type":"Answer","text":"Można użyć zapisu `int liczba = rand() % 1000 + 1;`. Modulo daje zakres `0..999`, a dodanie `1` przesuwa go na `1..1000`."}},{"@type":"Question","name":"Czym różni się liczba losowa od pseudolosowej?","acceptedAnswer":{"@type":"Answer","text":"Liczba pseudolosowa jest generowana przez algorytm i tylko imituje losowość. Przy tym samym stanie początkowym generator może zwracać tę samą sekwencję wartości."}},{"@type":"Question","name":"Do czego służy funkcja srand()?","acceptedAnswer":{"@type":"Answer","text":"`srand()` ustawia ziarno generatora liczb pseudolosowych. Dzięki temu można zmienić sekwencję wyników zwracanych przez `rand()`."}},{"@type":"Question","name":"Dlaczego w JSON nazwy pól muszą być zapisane w podwójnych cudzysłowach?","acceptedAnswer":{"@type":"Answer","text":"Taka jest wymagana składnia JSON. Zapis `{imie: \"Anna\"}` przypomina obiekt JavaScript, ale nie jest poprawnym JSON-em."}},{"@type":"Question","name":"Czym różni się wartość tekstowa od liczbowej w JSON?","acceptedAnswer":{"@type":"Answer","text":"Tekst zapisuje się w podwójnych cudzysłowach, np. `\"31\"`, a liczbę bez cudzysłowów, np. `31`. Ma to znaczenie przy obliczeniach i walidacji danych."}},{"@type":"Question","name":"Dlaczego Kod 1 nie jest poprawnym JSON-em?","acceptedAnswer":{"@type":"Answer","text":"Kod 1 ma nieujęte w cudzysłowy nazwy pól oraz używa apostrofów do tekstów. W JSON wymagane są podwójne cudzysłowy."}},{"@type":"Question","name":"Dlaczego Kod 3 nie jest JSON-em?","acceptedAnswer":{"@type":"Answer","text":"Kod 3 ma składnię XML, ponieważ używa znaczników takich jak `` i ``. JSON używa nawiasów klamrowych, tablic i par klucz-wartość."}},{"@type":"Question","name":"Do czego służy JSON w komunikacji między front-endem a back-endem?","acceptedAnswer":{"@type":"Answer","text":"JSON pozwala przesyłać dane w ustrukturyzowanej formie, np. listę użytkowników, produkty lub wynik logowania. Front-end może łatwo odczytać takie dane i wyświetlić je użytkownikowi."}},{"@type":"Question","name":"Jakie typy wartości mogą występować w JSON?","acceptedAnswer":{"@type":"Answer","text":"JSON obsługuje stringi, liczby, wartości logiczne `true` i `false`, `null`, tablice oraz obiekty. Nie obsługuje funkcji ani komentarzy."}},{"@type":"Question","name":"Czy fragment `\"osoby\": [...]` sam w sobie jest pełnym dokumentem JSON?","acceptedAnswer":{"@type":"Answer","text":"Nie. Pełny dokument JSON powinien być np. obiektem otoczonym klamrami: `{ \"osoby\": [...] }`. W pytaniu egzaminacyjnym Kod 2 najlepiej odpowiada składni JSON spośród podanych opcji."}},{"@type":"Question","name":"Po czym rozpoznać testy wydajnościowe w treści zadania?","acceptedAnswer":{"@type":"Answer","text":"Występują w nich pomiary czasu, szybkości działania, opóźnień, liczby użytkowników, obciążenia lub minimalnej przepustowości wymaganej do poprawnego działania aplikacji."}},{"@type":"Question","name":"Dlaczego opisane notatki testera wskazują na testy wydajnościowe?","acceptedAnswer":{"@type":"Answer","text":"Tester chce mierzyć czas logowania, czas renderowania, opóźnienia wizualizacji danych i zachowanie aplikacji przy rosnącej liczbie użytkowników. To są typowe kryteria wydajności."}},{"@type":"Question","name":"Czym testy wydajnościowe różnią się od testów jednostkowych?","acceptedAnswer":{"@type":"Answer","text":"Testy jednostkowe sprawdzają poprawność małych fragmentów kodu, np. pojedynczej funkcji lub metody. Testy wydajnościowe sprawdzają szybkość i efektywność działania aplikacji."}},{"@type":"Question","name":"Czy sprawdzanie czasu logowania użytkownika jest testem bezpieczeństwa?","acceptedAnswer":{"@type":"Answer","text":"Nie, jeśli celem jest pomiar szybkości logowania. Testem bezpieczeństwa byłoby np. sprawdzanie odporności logowania na ataki brute force lub SQL injection."}},{"@type":"Question","name":"Jaka jest różnica między testami interfejsu a testami wydajnościowymi?","acceptedAnswer":{"@type":"Answer","text":"Testy interfejsu sprawdzają wygląd i poprawność działania elementów UI, np. przycisków, formularzy i komunikatów. Testy wydajnościowe oceniają czas reakcji, płynność i szybkość działania aplikacji."}},{"@type":"Question","name":"Co oznacza pytanie o wzrost czasu logowania przy 10, 100 i 1000 użytkowników?","acceptedAnswer":{"@type":"Answer","text":"Oznacza sprawdzanie zachowania aplikacji pod rosnącym obciążeniem. To przykład testu obciążeniowego, który należy do testów wydajnościowych."}},{"@type":"Question","name":"Dlaczego minimalna prędkość pobierania może być kryterium wydajnościowym?","acceptedAnswer":{"@type":"Answer","text":"Ponieważ określa warunki techniczne, przy których aplikacja nadal działa w akceptowalnym czasie. Dotyczy to komfortu użytkowania i szybkości reakcji systemu."}},{"@type":"Question","name":"Czym algorytm heurystyczny różni się od algorytmu dokładnego?","acceptedAnswer":{"@type":"Answer","text":"Algorytm dokładny gwarantuje poprawny wynik zgodny z określonymi regułami. Algorytm heurystyczny daje wynik przybliżony lub prawdopodobny, ale często szybciej i dla trudniejszych problemów."}},{"@type":"Question","name":"Dlaczego prognozowanie pogody jest przykładem zastosowania heurystyk?","acceptedAnswer":{"@type":"Answer","text":"Pogoda zależy od bardzo wielu zmiennych i nie da się jej przewidzieć idealnie prostym algorytmem dokładnym. Modele prognostyczne wykorzystują obliczenia przybliżone i przewidywania oparte na danych."}},{"@type":"Question","name":"Dlaczego wykrywanie nowych wirusów komputerowych może wymagać algorytmów heurystycznych?","acceptedAnswer":{"@type":"Answer","text":"Nowy wirus może nie mieć jeszcze znanej sygnatury. Program antywirusowy może więc analizować podejrzane zachowanie programu i na tej podstawie oceniać ryzyko."}},{"@type":"Question","name":"Czy algorytm heurystyczny zawsze znajduje najlepsze rozwiązanie?","acceptedAnswer":{"@type":"Answer","text":"Nie. Algorytm heurystyczny ma znaleźć rozwiązanie wystarczająco dobre lub prawdopodobnie poprawne, ale nie gwarantuje wyniku optymalnego."}},{"@type":"Question","name":"Czym algorytm iteracyjny różni się od heurystycznego?","acceptedAnswer":{"@type":"Answer","text":"Algorytm iteracyjny oznacza sposób wykonania przez powtarzanie instrukcji, np. w pętli. Algorytm heurystyczny oznacza sposób rozwiązywania problemu metodą przybliżoną, więc są to różne kategorie pojęć."}},{"@type":"Question","name":"Czym algorytm rekurencyjny różni się od heurystycznego?","acceptedAnswer":{"@type":"Answer","text":"Algorytm rekurencyjny wywołuje sam siebie, aby rozwiązać mniejsze podproblemy. Algorytm heurystyczny dotyczy przybliżonego szukania rozwiązania, a nie konkretnej techniki wywołań."}},{"@type":"Question","name":"W jakich sytuacjach warto używać algorytmów heurystycznych?","acceptedAnswer":{"@type":"Answer","text":"Warto ich używać, gdy problem jest bardzo złożony, wymaga szybkiej odpowiedzi albo nie istnieje prosty algorytm dokładny. Typowe przykłady to optymalizacja, sztuczna inteligencja i analiza dużych zbiorów danych."}},{"@type":"Question","name":"Do czego służą wyrażenia regularne w Javie?","acceptedAnswer":{"@type":"Answer","text":"Służą do opisywania wzorców tekstowych, np. sprawdzania formatu danych, wyszukiwania fragmentów tekstu lub zamiany znaków."}},{"@type":"Question","name":"Czym różni się symbol `^` od symbolu `$` w wyrażeniach regularnych?","acceptedAnswer":{"@type":"Answer","text":"`^` oznacza początek tekstu, a `$` oznacza koniec tekstu. Przykład `^A` szuka tekstu zaczynającego się od A, a `A$` tekstu kończącego się na A."}},{"@type":"Question","name":"Jakie znaczenie ma kropka `.` w wyrażeniach regularnych?","acceptedAnswer":{"@type":"Answer","text":"Kropka oznacza dowolny pojedynczy znak, z wyjątkiem niektórych znaków końca linii zależnie od trybu działania regex."}},{"@type":"Question","name":"Do czego służy operator `|` w wyrażeniu regularnym?","acceptedAnswer":{"@type":"Answer","text":"Operator `|` oznacza alternatywę, czyli dopasowanie jednego z kilku wzorców, np. `cat|dog` dopasuje `cat` albo `dog`."}},{"@type":"Question","name":"Jak w Javie tworzy się wzorzec wyrażenia regularnego?","acceptedAnswer":{"@type":"Answer","text":"Najczęściej używa się metody `Pattern.compile()`, która tworzy obiekt `Pattern` reprezentujący wzorzec regex."}},{"@type":"Question","name":"Co oznacza zapis `World$` w wyrażeniu regularnym?","acceptedAnswer":{"@type":"Answer","text":"Oznacza dopasowanie tekstu, który kończy się słowem `World`. Symbol `$` wskazuje koniec tekstu."}},{"@type":"Question","name":"Po czym rozpoznać kontrolkę RatingBar w Androidzie?","acceptedAnswer":{"@type":"Answer","text":"RatingBar najczęściej jest przedstawiany jako zestaw gwiazdek służących do wyboru lub prezentacji oceny. W kodzie XML występuje jako znacznik ``."}},{"@type":"Question","name":"Do czego służy atrybut android:rating?","acceptedAnswer":{"@type":"Answer","text":"Atrybut `android:rating` określa aktualną wartość oceny, np. `2.5` oznacza dwie i pół gwiazdki."}},{"@type":"Question","name":"Jak ustawić liczbę gwiazdek w RatingBar?","acceptedAnswer":{"@type":"Answer","text":"Liczbę gwiazdek ustawia się atrybutem `android:numStars`, np. `android:numStars=\"5\"`."}},{"@type":"Question","name":"Co oznacza stepSize w kontrolce RatingBar?","acceptedAnswer":{"@type":"Answer","text":"`android:stepSize` określa, o ile może zmieniać się ocena. Wartość `0.5` pozwala wybierać połówki gwiazdek."}},{"@type":"Question","name":"Czym różni się RatingBar od ProgressBar?","acceptedAnswer":{"@type":"Answer","text":"RatingBar służy do wyświetlania lub wyboru oceny, zwykle jako gwiazdki. ProgressBar pokazuje postęp wykonywania operacji, np. ładowania danych."}},{"@type":"Question","name":"Jak zablokować możliwość zmiany oceny przez użytkownika?","acceptedAnswer":{"@type":"Answer","text":"Można użyć atrybutu `android:isIndicator=\"true\"`. Wtedy RatingBar działa tylko jako wskaźnik, a nie kontrolka edycyjna."}},{"@type":"Question","name":"Który atrybut może zmienić kolor zaznaczonych gwiazdek?","acceptedAnswer":{"@type":"Answer","text":"Kolor wypełnienia zaznaczonej części można ustawić m.in. przez `android:progressTint`, np. `android:progressTint=\"#4682B4\"`."}},{"@type":"Question","name":"Jak zapisuje się komentarz jednoliniowy w języku C#?","acceptedAnswer":{"@type":"Answer","text":"Komentarz jednoliniowy w C# rozpoczyna się od `//` i trwa do końca linii. Przykład: `// opis działania kodu`."}},{"@type":"Question","name":"Dlaczego znak `#` nie jest poprawnym początkiem komentarza w C#?","acceptedAnswer":{"@type":"Answer","text":"W C# znak `#` służy do dyrektyw preprocesora, np. `#region` lub `#if`. Nie jest składnią komentarza."}},{"@type":"Question","name":"Co wykonuje instrukcja `Console.WriteLine(i)`?","acceptedAnswer":{"@type":"Answer","text":"Instrukcja wypisuje na konsolę wartość zmiennej `i`, a następnie przechodzi do nowej linii."}},{"@type":"Question","name":"Co oznacza zmienna `i` w pętli `foreach (string i in langs)`?","acceptedAnswer":{"@type":"Answer","text":"Zmienna `i` przechowuje kolejny element tablicy `langs` w danym przebiegu pętli. W przykładzie są to napisy: `C++`, `C#`, `Java`, `Python`."}},{"@type":"Question","name":"Jaka operacja jest wykonywana w linii `Console.WriteLine(i);`?","acceptedAnswer":{"@type":"Answer","text":"W tej linii następuje wyświetlenie aktualnego elementu tablicy na ekranie konsoli."}},{"@type":"Question","name":"Czym różni się komentarz jednoliniowy od wieloliniowego w C#?","acceptedAnswer":{"@type":"Answer","text":"Komentarz jednoliniowy zaczyna się od `//` i kończy wraz z końcem linii. Komentarz wieloliniowy zapisuje się między `/*` i `*/`."}}]} Przejdź do głównej treści
Pytania pomocnicze - INF.04
Projektowanie, programowanie i testowanie aplikacji
Pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Każde pytanie ma krótką odpowiedź, która pomaga utrwalić wiedzę i przygotować się do egzaminu. Łącznie: 1799. Strona 20 z 20.
Na czym polega rola wartownika w wyszukiwaniu sekwencyjnym?
Wartownik to dodatkowy element umieszczony na końcu zbioru, zwykle równy szukanej wartości. Dzięki niemu pętla wyszukiwania na pewno się zatrzyma.
Czy wyszukiwanie sekwencyjne z wartownikiem wymaga posortowanych danych?
Nie. Algorytm sprawdza elementy po kolei, więc działa także dla danych nieuporządkowanych.
Jak odróżnić znalezienie właściwego elementu od znalezienia wartownika?
Po zakończeniu pętli sprawdza się indeks znalezionego elementu. Jeśli indeks należy do pierwotnego zbioru, element znaleziono; jeśli wskazuje na wartownika, elementu nie było w zbiorze.
Jaka jest złożoność czasowa wyszukiwania sekwencyjnego z wartownikiem?
Złożoność czasowa wynosi O(n), ponieważ w najgorszym przypadku trzeba przejrzeć wszystkie elementy zbioru.
Jaka jest główna zaleta zastosowania wartownika?
Upraszcza warunek w pętli, bo nie trzeba za każdym razem sprawdzać, czy osiągnięto koniec tablicy.
Czym różni się wyszukiwanie sekwencyjne od binarnego?
Wyszukiwanie sekwencyjne sprawdza elementy po kolei i nie wymaga sortowania. Wyszukiwanie binarne wymaga uporządkowanych danych, ale jest szybsze, bo ma złożoność O(log n).
Destruktor to specjalna metoda klasy wywoływana automatycznie podczas niszczenia obiektu. Ma nazwę klasy poprzedzoną znakiem tyldy, np. `~pracownik()`.
Dlaczego komunikat o usunięciu obiektu należy umieścić w destruktorze?
Ponieważ destruktor wykonuje się wtedy, gdy obiekt jest usuwany z pamięci lub kończy swój czas życia. To właściwe miejsce na kod diagnostyczny informujący o zniszczeniu obiektu.
Czym różni się konstruktor od destruktora?
Konstruktor uruchamia się przy tworzeniu obiektu, np. `pracownik()`. Destruktor uruchamia się przy niszczeniu obiektu, np. `~pracownik()`.
Czy destruktor w C++ zwraca wartość?
Nie. Destruktor nie ma typu zwracanego, nawet `void`. Jego zapis to np. `~NazwaKlasy()`.
Czy metoda statyczna `static void wypisz()` nadaje się do obsługi usuwania konkretnego obiektu?
Nie. Metoda statyczna należy do klasy, a nie do konkretnej instancji obiektu. Nie jest automatycznie wywoływana podczas niszczenia obiektu.
Do czego służy `operator==` w klasie C++?
`operator==` pozwala zdefiniować sposób porównywania dwóch obiektów danej klasy. Nie służy do tworzenia ani usuwania obiektów.
Atrybut `src` wskazuje adres lub ścieżkę do zewnętrznego pliku JavaScript, który ma zostać załadowany i wykonany przez przeglądarkę.
Jaka jest różnica między skryptem zewnętrznym a skryptem wpisanym bezpośrednio w HTML?
Skrypt zewnętrzny znajduje się w osobnym pliku i jest dołączany przez `src`. Skrypt wewnętrzny jest wpisany bezpośrednio między znacznikami `<script>` i `</script>`.
Kiedy plik JavaScript jest pobierany lokalnie, a kiedy z Internetu?
Jeśli w `src` podano nazwę lub ścieżkę względną, np. `jquery-3.5.1.min.js`, plik jest ładowany lokalnie z projektu. Jeśli podano pełny adres URL, np. `https://...`, plik jest pobierany z Internetu.
Co oznacza nazwa pliku zakończona na .min.js?
Oznacza zminimalizowaną wersję pliku JavaScript. Kod działa tak samo, ale plik jest mniejszy, bo usunięto zbędne znaki, spacje i komentarze.
Dlaczego bibliotekę jQuery należy dołączyć przed kodem, który z niej korzysta?
Kod korzystający z jQuery używa funkcji i obiektów dostarczanych przez bibliotekę. Jeśli biblioteka nie zostanie wcześniej wczytana, przeglądarka zgłosi błąd, np. że `$` nie jest zdefiniowane.
Czy zapis <script src="jquery-3.5.1.min.js"></script> deklaruje własną funkcję JavaScript?
Nie. Ten zapis dołącza zewnętrzny plik JavaScript. Nie tworzy funkcji o nazwie `min.js` ani żadnej innej funkcji użytkownika.
Do czego służy biblioteka jQuery w aplikacjach webowych?
jQuery upraszcza operacje na elementach HTML, obsługę zdarzeń, animacje oraz komunikację AJAX. Pozwala pisać krótszy kod JavaScript.
Funkcja `rand()` zwraca pseudolosową liczbę całkowitą z zakresu od `0` do `RAND_MAX`.
Jak działa operator modulo w wyrażeniu rand() % 1000?
Operator `%` zwraca resztę z dzielenia przez `1000`. Reszta może mieć wartości od `0` do `999`.
Dlaczego wynik rand() % 1000 nie może być równy 1000?
Reszta z dzielenia przez `1000` jest zawsze mniejsza od dzielnika, więc największy możliwy wynik to `999`.
Jaki zakres wartości daje wyrażenie rand() % n?
Daje wartości całkowite od `0` do `n - 1`, o ile `n` jest dodatnie.
Jak wylosować liczbę z zakresu od 1 do 1000 w C++ przy użyciu rand()?
Można użyć zapisu `int liczba = rand() % 1000 + 1;`. Modulo daje zakres `0..999`, a dodanie `1` przesuwa go na `1..1000`.
Czym różni się liczba losowa od pseudolosowej?
Liczba pseudolosowa jest generowana przez algorytm i tylko imituje losowość. Przy tym samym stanie początkowym generator może zwracać tę samą sekwencję wartości.
Do czego służy funkcja srand()?
`srand()` ustawia ziarno generatora liczb pseudolosowych. Dzięki temu można zmienić sekwencję wyników zwracanych przez `rand()`.
Dlaczego w JSON nazwy pól muszą być zapisane w podwójnych cudzysłowach?
Taka jest wymagana składnia JSON. Zapis `{imie: "Anna"}` przypomina obiekt JavaScript, ale nie jest poprawnym JSON-em.
Czym różni się wartość tekstowa od liczbowej w JSON?
Tekst zapisuje się w podwójnych cudzysłowach, np. `"31"`, a liczbę bez cudzysłowów, np. `31`. Ma to znaczenie przy obliczeniach i walidacji danych.
Dlaczego Kod 1 nie jest poprawnym JSON-em?
Kod 1 ma nieujęte w cudzysłowy nazwy pól oraz używa apostrofów do tekstów. W JSON wymagane są podwójne cudzysłowy.
Dlaczego Kod 3 nie jest JSON-em?
Kod 3 ma składnię XML, ponieważ używa znaczników takich jak `<osoby>` i `</osoby>`. JSON używa nawiasów klamrowych, tablic i par klucz-wartość.
Do czego służy JSON w komunikacji między front-endem a back-endem?
JSON pozwala przesyłać dane w ustrukturyzowanej formie, np. listę użytkowników, produkty lub wynik logowania. Front-end może łatwo odczytać takie dane i wyświetlić je użytkownikowi.
Jakie typy wartości mogą występować w JSON?
JSON obsługuje stringi, liczby, wartości logiczne `true` i `false`, `null`, tablice oraz obiekty. Nie obsługuje funkcji ani komentarzy.
Czy fragment `"osoby": [...]` sam w sobie jest pełnym dokumentem JSON?
Nie. Pełny dokument JSON powinien być np. obiektem otoczonym klamrami: `{ "osoby": [...] }`. W pytaniu egzaminacyjnym Kod 2 najlepiej odpowiada składni JSON spośród podanych opcji.
Po czym rozpoznać testy wydajnościowe w treści zadania?
Występują w nich pomiary czasu, szybkości działania, opóźnień, liczby użytkowników, obciążenia lub minimalnej przepustowości wymaganej do poprawnego działania aplikacji.
Dlaczego opisane notatki testera wskazują na testy wydajnościowe?
Tester chce mierzyć czas logowania, czas renderowania, opóźnienia wizualizacji danych i zachowanie aplikacji przy rosnącej liczbie użytkowników. To są typowe kryteria wydajności.
Czym testy wydajnościowe różnią się od testów jednostkowych?
Testy jednostkowe sprawdzają poprawność małych fragmentów kodu, np. pojedynczej funkcji lub metody. Testy wydajnościowe sprawdzają szybkość i efektywność działania aplikacji.
Czy sprawdzanie czasu logowania użytkownika jest testem bezpieczeństwa?
Nie, jeśli celem jest pomiar szybkości logowania. Testem bezpieczeństwa byłoby np. sprawdzanie odporności logowania na ataki brute force lub SQL injection.
Jaka jest różnica między testami interfejsu a testami wydajnościowymi?
Testy interfejsu sprawdzają wygląd i poprawność działania elementów UI, np. przycisków, formularzy i komunikatów. Testy wydajnościowe oceniają czas reakcji, płynność i szybkość działania aplikacji.
Co oznacza pytanie o wzrost czasu logowania przy 10, 100 i 1000 użytkowników?
Oznacza sprawdzanie zachowania aplikacji pod rosnącym obciążeniem. To przykład testu obciążeniowego, który należy do testów wydajnościowych.
Dlaczego minimalna prędkość pobierania może być kryterium wydajnościowym?
Ponieważ określa warunki techniczne, przy których aplikacja nadal działa w akceptowalnym czasie. Dotyczy to komfortu użytkowania i szybkości reakcji systemu.
Czym algorytm heurystyczny różni się od algorytmu dokładnego?
Algorytm dokładny gwarantuje poprawny wynik zgodny z określonymi regułami. Algorytm heurystyczny daje wynik przybliżony lub prawdopodobny, ale często szybciej i dla trudniejszych problemów.
Dlaczego prognozowanie pogody jest przykładem zastosowania heurystyk?
Pogoda zależy od bardzo wielu zmiennych i nie da się jej przewidzieć idealnie prostym algorytmem dokładnym. Modele prognostyczne wykorzystują obliczenia przybliżone i przewidywania oparte na danych.
Dlaczego wykrywanie nowych wirusów komputerowych może wymagać algorytmów heurystycznych?
Nowy wirus może nie mieć jeszcze znanej sygnatury. Program antywirusowy może więc analizować podejrzane zachowanie programu i na tej podstawie oceniać ryzyko.
Czy algorytm heurystyczny zawsze znajduje najlepsze rozwiązanie?
Nie. Algorytm heurystyczny ma znaleźć rozwiązanie wystarczająco dobre lub prawdopodobnie poprawne, ale nie gwarantuje wyniku optymalnego.
Czym algorytm iteracyjny różni się od heurystycznego?
Algorytm iteracyjny oznacza sposób wykonania przez powtarzanie instrukcji, np. w pętli. Algorytm heurystyczny oznacza sposób rozwiązywania problemu metodą przybliżoną, więc są to różne kategorie pojęć.
Czym algorytm rekurencyjny różni się od heurystycznego?
Algorytm rekurencyjny wywołuje sam siebie, aby rozwiązać mniejsze podproblemy. Algorytm heurystyczny dotyczy przybliżonego szukania rozwiązania, a nie konkretnej techniki wywołań.
W jakich sytuacjach warto używać algorytmów heurystycznych?
Warto ich używać, gdy problem jest bardzo złożony, wymaga szybkiej odpowiedzi albo nie istnieje prosty algorytm dokładny. Typowe przykłady to optymalizacja, sztuczna inteligencja i analiza dużych zbiorów danych.
Po czym rozpoznać kontrolkę RatingBar w Androidzie?
RatingBar najczęściej jest przedstawiany jako zestaw gwiazdek służących do wyboru lub prezentacji oceny. W kodzie XML występuje jako znacznik `<RatingBar>`.
Do czego służy atrybut android:rating?
Atrybut `android:rating` określa aktualną wartość oceny, np. `2.5` oznacza dwie i pół gwiazdki.
Jak ustawić liczbę gwiazdek w RatingBar?
Liczbę gwiazdek ustawia się atrybutem `android:numStars`, np. `android:numStars="5"`.
Co oznacza stepSize w kontrolce RatingBar?
`android:stepSize` określa, o ile może zmieniać się ocena. Wartość `0.5` pozwala wybierać połówki gwiazdek.
Czym różni się RatingBar od ProgressBar?
RatingBar służy do wyświetlania lub wyboru oceny, zwykle jako gwiazdki. ProgressBar pokazuje postęp wykonywania operacji, np. ładowania danych.
Jak zablokować możliwość zmiany oceny przez użytkownika?
Można użyć atrybutu `android:isIndicator="true"`. Wtedy RatingBar działa tylko jako wskaźnik, a nie kontrolka edycyjna.
Który atrybut może zmienić kolor zaznaczonych gwiazdek?
Kolor wypełnienia zaznaczonej części można ustawić m.in. przez `android:progressTint`, np. `android:progressTint="#4682B4"`.
Jak zapisuje się komentarz jednoliniowy w języku C#?
Komentarz jednoliniowy w C# rozpoczyna się od `//` i trwa do końca linii. Przykład: `// opis działania kodu`.
Dlaczego znak `#` nie jest poprawnym początkiem komentarza w C#?
W C# znak `#` służy do dyrektyw preprocesora, np. `#region` lub `#if`. Nie jest składnią komentarza.
Co wykonuje instrukcja `Console.WriteLine(i)`?
Instrukcja wypisuje na konsolę wartość zmiennej `i`, a następnie przechodzi do nowej linii.
Co oznacza zmienna `i` w pętli `foreach (string i in langs)`?
Zmienna `i` przechowuje kolejny element tablicy `langs` w danym przebiegu pętli. W przykładzie są to napisy: `C++`, `C#`, `Java`, `Python`.
Jaka operacja jest wykonywana w linii `Console.WriteLine(i);`?
W tej linii następuje wyświetlenie aktualnego elementu tablicy na ekranie konsoli.
Czym różni się komentarz jednoliniowy od wieloliniowego w C#?
Komentarz jednoliniowy zaczyna się od `//` i kończy wraz z końcem linii. Komentarz wieloliniowy zapisuje się między `/*` i `*/`.
Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. Szczegóły
Polityka plików cookies
Czym są pliki cookies?
Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu.
Jakie cookies wykorzystujemy?
Niezbędne cookies - konieczne do prawidłowego działania strony
Funkcjonalne cookies - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)
Analityczne cookies - pozwalające zbierać informacje o sposobie korzystania ze strony
Jak długo przechowujemy cookies?
Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas).
Jak zarządzać cookies?
Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich.