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: 3064.
Strona 24 z 40.
Co oznacza zapis List<int> w języku C#?
Oznacza listę generyczną, której elementami mogą być wyłącznie wartości typu int, czyli liczby całkowite.
Jaką rolę pełni typ podany w nawiasach ostrych, np. <int>?
Określa typ elementów przechowywanych w kolekcji. Dzięki temu kompilator pilnuje, aby do listy trafiały tylko dane właściwego typu.
Czy do List<int> można dodać tekst typu string?
Nie. Próba dodania tekstu do List<int> spowoduje błąd kompilacji, ponieważ lista oczekuje elementów typu int.
Czym różni się List<int> od List<string>?
List<int> przechowuje liczby całkowite, a List<string> przechowuje napisy. Obie są listami, ale mają inny typ elementów.
Dlaczego w C# stosuje się kolekcje generyczne?
Pozwalają bezpiecznie przechowywać dane określonego typu, zmniejszają ryzyko błędów i eliminują potrzebę częstego rzutowania.
Co oznacza słowo kluczowe new w instrukcji new List<int>()?
Służy do utworzenia nowego obiektu listy w pamięci. W tym przypadku tworzony jest pusty obiekt typu List<int>.
Po czym można rozpoznać testy wydajnościowe na wykresie?
Najczęściej pojawiają się miary czasu, obciążenia lub przepustowości, np. czas odpowiedzi strony, liczba żądań na sekundę albo zużycie zasobów serwera.
Czym testy wydajnościowe różnią się od testów funkcjonalnych?
Testy funkcjonalne sprawdzają, czy funkcja działa zgodnie z wymaganiami. Testy wydajnościowe sprawdzają, czy system działa szybko, stabilnie i efektywnie przy określonym obciążeniu.
Dlaczego czas odpowiedzi strony WWW jest parametrem wydajności?
Ponieważ pokazuje, jak szybko system reaguje na żądanie użytkownika. Im krótszy i stabilniejszy czas odpowiedzi, tym lepsza wydajność aplikacji.
Jakie dane mogą być zbierane podczas testów wydajnościowych aplikacji internetowej?
Mogą to być czasy odpowiedzi, czasy połączenia, liczba obsłużonych zapytań, liczba błędów oraz zużycie CPU, pamięci RAM i sieci.
Czym są testy obciążeniowe?
To rodzaj testów wydajnościowych, w których sprawdza się działanie systemu przy określonej liczbie użytkowników lub żądań.
Czym testy wydajnościowe różnią się od testów użyteczności?
Testy użyteczności oceniają wygodę i intuicyjność korzystania z aplikacji przez użytkownika. Testy wydajnościowe oceniają szybkość, stabilność i efektywność działania systemu.
Jak zamienia się składową koloru RGB z systemu dziesiętnego na szesnastkowy?
Każdą składową R, G i B zamienia się osobno na liczbę szesnastkową. Wynik zapisuje się zawsze jako dwie cyfry, np. 152 dziesiętnie to 98 szesnastkowo.
Dlaczego RGB(152, 251, 152) zapisuje się jako 98FB98?
152 w systemie szesnastkowym to 98, 251 to FB, a ostatnie 152 ponownie to 98. Po połączeniu składowych w kolejności R, G, B otrzymujemy 98FB98.
Co oznacza zapis koloru w formacie #RRGGBB?
To szesnastkowy zapis koloru, gdzie RR oznacza czerwony, GG zielony, a BB niebieski. Każda składowa ma zakres od 00 do FF.
Jaki zakres wartości może mieć pojedyncza składowa RGB?
Pojedyncza składowa RGB ma wartość od 0 do 255 w systemie dziesiętnym. W systemie szesnastkowym odpowiada to zakresowi od 00 do FF.
Dlaczego w kodzie szesnastkowym nie można używać litery O?
System szesnastkowy używa cyfr 0-9 oraz liter A-F. Litera O nie należy do poprawnych znaków zapisu szesnastkowego i bywa mylona z cyfrą 0.
Czym różni się wartość FB od FE w zapisie koloru?
FB szesnastkowo oznacza 251 dziesiętnie, a FE oznacza 254. Dlatego dla składowej 251 poprawny zapis to FB, a nie FE.
Czym jest IDE w programowaniu?
IDE to zintegrowane środowisko programistyczne, czyli program łączący edytor kodu, narzędzia uruchamiania, debuger i często obsługę projektów oraz bibliotek.
Dlaczego IntelliJ IDEA, Eclipse i NetBeans kojarzy się z Javą?
Te środowiska powstały lub zdobyły popularność głównie jako narzędzia do tworzenia aplikacji w języku Java. Obecnie mogą obsługiwać też inne technologie, ale ich podstawowe skojarzenie egzaminacyjne to Java.
Jakie funkcje IDE pomagają programiście pisać kod w Javie?
Najważniejsze funkcje to podpowiadanie składni, automatyczne uzupełnianie kodu, kompilowanie, uruchamianie programu, debugowanie i zarządzanie bibliotekami.
Czym różni się IDE od zwykłego edytora tekstu?
Edytor tekstu służy głównie do pisania plików, a IDE dodatkowo rozumie strukturę projektu, pomaga wykrywać błędy, uruchamia program i wspiera debugowanie.
Jakie środowisko jest najczęściej kojarzone z C#?
Z językiem C# najczęściej kojarzy się Microsoft Visual Studio oraz platformę .NET, a nie IntelliJ IDEA, Eclipse czy NetBeans.
Czy NetBeans służy wyłącznie do Javy?
Nie wyłącznie, ale historycznie i egzaminacyjnie NetBeans jest najczęściej kojarzony z programowaniem w Javie.
Jak odczytać z diagramu Gantta, które zadania są wykonywane równolegle?
Należy sprawdzić, które paski zadań nachodzą na siebie w tym samym przedziale czasu. Jeśli dwa paski są w tej samej kolumnie czasu, zadania odbywają się równocześnie.
Dlaczego w tym zadaniu minimalna liczba osób wynosi 2?
W żadnym momencie harmonogramu nie są realizowane więcej niż dwa zadania jednocześnie. Ponieważ jedna osoba może wykonywać tylko jedno zadanie naraz, potrzebne są co najmniej 2 osoby.
Czy liczba wszystkich zadań w projekcie oznacza liczbę potrzebnych osób?
Nie. Liczy się nie liczba wszystkich zadań, lecz największa liczba zadań wykonywanych jednocześnie.
Co zmieniłoby się, gdyby jedna osoba mogła wykonywać kilka zadań tego samego dnia?
Wtedy minimalna liczba osób mogłaby być mniejsza. W tym pytaniu założono jednak, że jedna osoba poświęca cały dzień pracy tylko na jedno zadanie.
Jakie znaczenie ma założenie, że każdy członek zespołu ma odpowiednie kompetencje?
Oznacza to, że nie trzeba rozróżniać specjalizacji, np. grafik, front-end developer czy back-end developer. Każda osoba może zostać przypisana do dowolnego zadania.
Kiedy minimalna liczba osób byłaby większa niż 2?
Byłaby większa, gdyby w tym samym czasie zaplanowano trzy lub więcej zadań. Minimalny zespół musiałby wtedy mieć co najmniej tyle osób, ile równoległych zadań.
Kiedy stosuje się pozycję boczną bezpieczną?
Stosuje się ją u osoby nieprzytomnej lub osłabionej, która oddycha prawidłowo i nie ma podejrzenia poważnego urazu kręgosłupa. Pozycja ta pomaga utrzymać drożność dróg oddechowych.
Dlaczego osoby bez tętna lub prawidłowego oddechu nie układa się w pozycji bocznej?
Brak prawidłowego oddechu oznacza zagrożenie życia i konieczność rozpoczęcia resuscytacji krążeniowo-oddechowej. Pozycja boczna opóźniłaby wtedy najważniejsze działania ratunkowe.
Co zrobić, gdy podejrzewa się uraz kręgosłupa?
Nie należy niepotrzebnie przemieszczać poszkodowanego. Trzeba stabilizować głowę i szyję, wezwać pomoc oraz kontrolować oddech.
Jak należy postępować przy omdleniu?
Trzeba zabezpieczyć osobę przed upadkiem, sprawdzić przytomność i oddech, zapewnić dopływ świeżego powietrza oraz obserwować stan poszkodowanego. Jeśli nie oddycha prawidłowo, należy rozpocząć RKO.
Jaki jest cel pozycji bocznej bezpiecznej?
Jej celem jest zapobieganie zadławieniu się śliną, krwią lub wymiocinami oraz utrzymanie drożności dróg oddechowych u osoby oddychającej.
Kiedy należy wezwać pogotowie przy omdleniu?
Gdy osoba długo nie odzyskuje przytomności, ma problemy z oddychaniem, doznała urazu, skarży się na ból w klatce piersiowej albo omdlenie się powtarza.
Dlaczego MS Visual Studio jest kojarzone z językiem C#?
C# został opracowany przez Microsoft, a Visual Studio jest głównym środowiskiem firmy Microsoft do pracy z tym językiem i platformą .NET.
Czym jest IDE?
IDE to zintegrowane środowisko programistyczne, które łączy edytor kodu, kompilator, debugger i narzędzia do zarządzania projektem.
Do czego służy debugger w Visual Studio?
Debugger pozwala uruchamiać program krok po kroku, sprawdzać wartości zmiennych i znajdować błędy w kodzie.
Jakie technologie są często używane do tworzenia aplikacji desktopowych w C#?
Najczęściej spotykane technologie to Windows Forms oraz WPF. Obie służą do budowania aplikacji okienkowych dla systemu Windows.
Dlaczego NetBeans, Eclipse i PyCharm nie są najlepszą odpowiedzią w tym pytaniu?
NetBeans i Eclipse są najczęściej kojarzone z Javą, a PyCharm z Pythonem. Dla C# i aplikacji desktopowych podstawowym wyborem jest MS Visual Studio.
Do czego służy Angular w tworzeniu aplikacji?
Angular służy głównie do tworzenia warstwy front-end, czyli interfejsu użytkownika działającego w przeglądarce internetowej.
Czym różni się front-end od back-endu?
Front-end odpowiada za wygląd i interakcję z użytkownikiem, a back-end za logikę serwera, bazę danych i przetwarzanie danych po stronie serwera.
Dlaczego Angular jest nazywany frameworkiem?
Angular dostarcza gotową strukturę aplikacji, mechanizmy routingu, komponenty, formularze i narzędzia do organizacji kodu, więc jest frameworkiem, a nie tylko biblioteką.
Czy Angular służy do pisania aplikacji serwerowych?
Nie, Angular nie jest typowym narzędziem back-endowym. Do back-endu używa się np. Node.js, ASP.NET Core, Django, Symfony lub Spring.
Jakie technologie są często używane razem z Angularem?
Angular najczęściej wykorzystuje TypeScript, HTML i CSS. Może komunikować się z back-endem przez API, np. REST.
Czy Angular może być używany w aplikacjach mobilnych lub desktopowych?
Podstawowym zastosowaniem Angulara jest front-end webowy. Może być częścią rozwiązań hybrydowych, np. z Ionic lub Electron, ale sam Angular nie jest frameworkiem typowo mobilnym ani desktopowym.
Na czym polegają testy Beta aplikacji?
Testy Beta polegają na udostępnieniu prawie gotowej wersji aplikacji wybranej grupie użytkowników. Ich celem jest wykrycie błędów i zebranie opinii przed oficjalną publikacją.
Kto zwykle bierze udział w testach Beta?
W testach Beta uczestniczą najczęściej docelowi użytkownicy aplikacji lub wybrana grupa testerów zewnętrznych. Nie są to zazwyczaj testerzy zatrudnieni przez sklep z aplikacjami.
Czym testy Beta różnią się od testów wewnętrznych?
Testy wewnętrzne wykonuje zwykle zespół projektowy lub firma tworząca aplikację. Testy Beta angażują użytkowników spoza zespołu, którzy sprawdzają aplikację w bardziej rzeczywistych warunkach.
Dlaczego testy Beta są ważne przed publikacją aplikacji mobilnej?
Pozwalają sprawdzić działanie aplikacji na różnych urządzeniach, wersjach systemu i w różnych scenariuszach użycia. Dzięki temu można poprawić błędy przed udostępnieniem aplikacji wszystkim użytkownikom.
Czy testy Beta muszą być wykonywane według przypadków testowych?
Nie muszą. Przypadki testowe są typowe dla formalnych testów prowadzonych przez testerów, natomiast testy Beta często opierają się na naturalnym używaniu aplikacji przez użytkowników.
Czym testy Beta różnią się od testów funkcjonalnych?
Testy funkcjonalne sprawdzają, czy konkretne funkcje działają zgodnie z wymaganiami. Testy Beta to etap udostępnienia aplikacji użytkownikom, który może ujawnić błędy funkcjonalne, wydajnościowe i użytecznościowe.
Na czym polega technika dziel i zwyciężaj?
Polega na podzieleniu problemu na mniejsze podproblemy, rozwiązaniu ich osobno, a następnie połączeniu wyników w rozwiązanie całego problemu.
Dlaczego technika dziel i zwyciężaj często wykorzystuje rekurencję?
Bo każdy podproblem ma zwykle taką samą strukturę jak problem główny, tylko jest mniejszy. Rekurencja pozwala powtarzać ten sam sposób rozwiązania aż do przypadku prostego.
Czym jest przypadek bazowy w algorytmach dziel i zwyciężaj?
To sytuacja, w której podproblem jest już na tyle prosty, że można go rozwiązać bez dalszego dzielenia. Przykładem może być tablica jednoelementowa podczas sortowania.
Jakie algorytmy są przykładami techniki dziel i zwyciężaj?
Przykładami są sortowanie szybkie, sortowanie przez scalanie oraz wyszukiwanie binarne. Wszystkie dzielą problem na mniejsze części.
Czym technika dziel i zwyciężaj różni się od algorytmów heurystycznych?
Dziel i zwyciężaj to ogólna metoda konstruowania dokładnych algorytmów przez podział problemu. Heurystyka szuka rozwiązania przybliżonego lub praktycznego, często bez gwarancji optymalności.
Jakie są trzy główne etapy algorytmu dziel i zwyciężaj?
Najpierw problem jest dzielony na podproblemy, potem podproblemy są rozwiązywane, a na końcu ich wyniki są łączone w wynik końcowy.