pytania od włodka Flashcards

(151 cards)

1
Q

Czym jest transakcja i czym sie różni od procedury (Maciej Sławinski)

A

Transakcja to zbiór operacji SQL wykonujących się jako całość, muszą spełniać założenia ACID (atomowość, spójność, izolacja, trwałość).
Procedura składowana to zapisany w bazie danych zbiór instrukcji SQL, który można wielokrotnie wywoływać. Procedura może zawierać logikę sterującą (np. pętle, instrukcje warunkowe), przyjmować parametry i zwracać wyniki. Nie musi być transakcją.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Metody modelowania procesów biznesowych (AD)

A
  • BPMN - tworzenie map procesów, projektowanie systemów workflow.
  • UML
  • DFD (data flow diagram) - analiza systemów informacyjnych, projektowanie baz danych.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Metody badania złożoności algorytmów (WD): metoda O i o

A

Metoda dużego O opisuje górne ograniczenie wzrostu funkcji (to jest funkcja która opisuje najgorszy przypadek złożoności). Duże O zakłada że f(n) <= c*g(n) gdzie c jest dowolną stałą c > 0.

Małe o ma podobne założenie lecz różnica jest w tym że wymaga by WSZYSTKIE c > 0 spełniają warunek f(n) < c*g(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Co to sa obiekty pozorne (mock object) i do czego mogą być zastosowane (DO) - Java

A

Obiekty pozorne to specjalne obiekty używane w testowaniu jednostkowym (unit testing), które symulują zachowanie prawdziwych obiektów w kontrolowany sposób. Nie zawierają one rzeczywistej logiki biznesowej — zamiast tego „udają”, że są komponentami aplikacji, by test mógł się wykonać bez ich realnego udziału.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Omówić paradygmat programowania obiektowego i jego założenia (KH)

A

Programowanie obiektowe to jeden z najważniejszych paradygmatów programowania, który skupia się na modelowaniu programów jako zbioru współdziałających obiektów. Każdy obiekt jest instancją klasy, która definiuje jego strukturę (dane) i zachowanie (metody). Paradygmat ten ułatwia odwzorowanie rzeczywistego świata w kodzie oraz zwiększa modularność i ponowność kodu.

Założenia: Abstrakcja, Enkapsulacja, Dziedziczenie, Polimorfizm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Omówić pojęcie i zastosowania sieci neuronowych (AD, SS)

A

Sieci neuronowe (ang. neural networks) to modele matematyczne inspirowane działaniem biologicznego mózgu, wykorzystywane głównie w dziedzinie sztucznej inteligencji (AI) i uczenia maszynowego (machine learning). Składają się z warstw sztucznych neuronów, które przetwarzają dane wejściowe i uczą się na podstawie przykładów.

Każdy neuron:

otrzymuje sygnały wejściowe (np. liczby),

przetwarza je przy użyciu wag i funkcji aktywacji,

przekazuje wynik dalej — do kolejnej warstwy.

Sieć „uczy się” przez dostosowywanie wag na podstawie danych treningowych i błędów w przewidywaniu (np. za pomocą algorytmu wstecznej propagacji błędu – backpropagation).
Sieci neuronowe mają wiele różnych zastosowań takich jak rozpoznawnanie obrazów, algorytmy rekomendacji, rozpoznawanie języka naturalnego, gry wideo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Omówić postaci normalne relacji (KH)

A

I postać normalna - opisuje jeden obiekt, każda kolumna jest wartością atomową, skalarną
II postać normalna - żaden z potencjalnych kluczy nie jest zależny od jakiejkolwiek innej kolumny niekluczowej
III postać normalna - II postać + żaden z atrybutów niekluczowych nie jest zależny od jakiegokolwiek innego atrybutu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Na czym polega klasteryzacja (grupowanie) danych

A

Klasteryzacja (ang. clustering) to technika eksploracji danych, która polega na automatycznym grupowaniu obiektów (np. punktów danych) w taki sposób, aby:

obiekty w tej samej grupie (klastrze) były jak najbardziej podobne do siebie,

obiekty z różnych grup były jak najbardziej różne od siebie.

W przeciwieństwie do klasyfikacji, klasteryzacja jest metodą nienadzorowaną – oznacza to, że nie mamy z góry znanych etykiet (klas), a algorytm sam odkrywa strukturę danych.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Przedstawić klasyfikacje języków programowania (obiektowe, strukturalne, funkcyjne, logiczne, imperatywne, deklaratywne, etc.)

A

imperatywne - programy opisują jak komputer ma wykonać zadanie krok po kroku
deklaratywne - brak instrukcji sterujących, skupienie na wyniku
strukturalne - dzienie programu na funkcje/procedury
obiektowe - modelowanie rzeczywistosci za pomocy obiektów
funkcyjne - Programowanie jako kompozycja funkcji, bez zmiennych i efektów ubocznych.
logiczne - Programowanie przez zadeklarowanie faktów i reguł oraz stawianie zapytań.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wyjaśnić pojęcie złożoności obliczeniowej algorytmu (RŁO, KMK, KH)

A

Złożoność obliczeniowa to pojęcie określające, ile zasobów (najczęściej czasu i pamięci) potrzebuje algorytm do rozwiązania problemu w zależności od wielkości danych wejściowych (oznaczanej zwykle jako n).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Przedstawić numeryczna metodę wyznaczania całki oznaczonej (DS)

A

Polegają one na oszacowaniu pola pod wykresem funkcji za pomocą prostych figur geometrycznych.

Przykładem jest metoda prostokątów gdzie dzielimy przedział na równe części i liczymy pola pod wykresem jako suma pól prostokątów

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jak możemy rozumieć termin inteligentne techniki obliczeniowe

A

Inteligentne techniki obliczeniowe (ang. Computational Intelligence, CI) to zbiór metod i narzędzi informatycznych, które naśladują naturalne mechanizmy uczenia się, adaptacji i podejmowania decyzji, aby rozwiązywać złożone problemy obliczeniowe w sposób przybliżony, elastyczny i efektywny.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Podać warunki dla których relacja jest w trzeciej postaci normalnej

A

III postać normalna - II postać + żaden z atrybutów niekluczowych nie jest zależny od jakiegokolwiek innego atrybutu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Co to jest klasa

A

Klasa to podstawowy element w programowaniu obiektowym, który definiuje strukturę i zachowanie obiektów w programie. Klasy umożliwiają organizowanie kodu w sposób modularny, zwiększając jego czytelność, wielokrotnego użycia oraz łatwość utrzymania. Klasa jest szablonem lub modelem, na podstawie którego tworzy się obiekty, czyli instancje klasy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Przedstawić działanie transakcji w systemach współbieżnych (poziomy izolacji, protokół dwufazowy)

A

Izolacja to zdolność systemu do takiego zarządzania współbieżnymi transakcjami, aby ich wykonanie dawało efekt równoważny wykonaniu sekwencyjnemu (jedna po drugiej). Standard SQL definiuje 4 poziomy izolacji, różniące się odpornością na problemy współbieżności:

READ UNCOMMITTED – możliwy brudny odczyt, odczyt nie dający się powtórzyć i odczyt widmo.
READ COMMITTED – niemożliwy brudny odczyt, możliwy odczyt niedający się powtórzyć i odczyt widmo.
REPEATABLE READ – niemożliwy brudny odczyt i odczyt niedający się powtórzyć, możliwy odczyt widmo.
SERIALIZABLE – żaden z niepożądanych odczytów nie jest możliwy. W praktyce oznacza to zablokowanie dostępu do całej tabeli.

2PL - blokady S (shared) i X (exclusive). S dopuszcza tylko odczyt, X blokuje zapis i odczyt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Omówić mechanizm dziedziczenia w programowaniu obiektowym

A

Dziedziczenie to jeden z podstawowych filarów programowania obiektowego (OOP). Pozwala na tworzenie nowych klas (zwanych klasami pochodnymi lub podklasami) na bazie istniejących klas (klas bazowych lub superklas), dzięki czemu nowa klasa dziedziczy właściwości (pola) i zachowania (metody) klasy bazowej.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Na czym polega proces uczenia sieci neuronowej

A

Proces uczenia sieci neuronowej to dostosowywanie parametrów (wag i biasów) sieci tak, aby mogła poprawnie przetwarzać dane wejściowe i generować oczekiwane wyjścia. Uczenie pozwala sieci „wpoić” sobie wzorce i zależności zawarte w danych.

Główne etapy uczenia:
Inicjalizacja sieci
Wagi i biasy są losowo inicjalizowane.

Przekazywanie danych (propagacja w przód)
Dane wejściowe przechodzą przez kolejne warstwy sieci, a na wyjściu powstaje prognoza (wynik).

Obliczanie błędu
Porównuje się wyjście sieci z rzeczywistą wartością (etykietą) za pomocą funkcji kosztu (np. błąd średniokwadratowy).

Propagacja błędu wstecz (backpropagation)
Na podstawie błędu sieć wylicza, jak bardzo każda waga wpłynęła na wynik, czyli oblicza gradienty funkcji kosztu względem wag.

Aktualizacja wag
Wagi są modyfikowane w kierunku zmniejszenia błędu, zwykle za pomocą algorytmu optymalizacji gradientowej (np. metoda gradientu prostego, Adam).

Powtarzanie procesu
Etapy 2–5 są powtarzane dla wielu danych uczących (próbek) i wielu iteracji (epok), aż sieć osiągnie zadowalający poziom dokładności.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Przedstawić algorytm tyrana wyboru nowego koordynatora procesów. (Konrad Markowski)

A

Algorytm tyrana — zasada działania
Założenia:
Każdy proces ma unikalny numer identyfikacyjny (ID), gdzie wyższy numer oznacza wyższy priorytet.
Procesy mogą komunikować się ze sobą bezpośrednio.
Proces o najwyższym ID spośród żywych powinien zostać koordynatorem.

Przebieg algorytmu:
Wykrycie awarii koordynatora:
Proces zauważa, że obecny koordynator nie odpowiada.
Rozpoczęcie wyborów:
Proces, który wykrył awarię, wysyła komunikat election do wszystkich procesów o wyższym ID.
Odpowiedź od procesów o wyższym ID:
Jeśli któryś z procesów o wyższym ID odpowie, to oznacza, że ten proces przejmie inicjatywę i rozpocznie własny proces wyboru (przejście do punktu 2 z perspektywy tego procesu).

Jeśli brak odpowiedzi, to proces uznaje siebie za nowego koordynatora.

Ogłoszenie nowego koordynatora:
Proces, który wygrał wybory (najwyższy żywy ID), wysyła komunikat coordinator do wszystkich procesów, informując o swoim statusie.

Zakończenie:
Wszystkie procesy aktualizują informacje o nowym koordynatorze.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Przedstawić mechanizm działania wskaźnika w programowaniu

A

Wskaźnik to zmienna, która przechowuje adres pamięci innej zmiennej lub obiektu, zamiast bezpośrednio jej wartości. Dzięki temu umożliwia bezpośrednią manipulację pamięcią i dynamiczne zarządzanie danymi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Co to jest problem np- zupełny

A

Jest to klasa problemowa spełniająca następujące warunki:

Problem należy do klasy NP
Oznacza to, że jeśli ktoś poda rozwiązanie problemu, to można je zweryfikować (sprawdzić poprawność) w czasie wielomianowym przez algorytm deterministyczny.

Każdy problem z klasy NP można zredukować do tego problemu w czasie wielomianowym
To znaczy, problem NP-zupełny jest co do trudności przynajmniej tak trudny jak każdy inny problem z NP — jest „najtrudniejszy” w tej klasie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Omówić pojęcie i budowę systemu operacyjnego

A

System operacyjny (SO) to podstawowe oprogramowanie systemowe, które zarządza zasobami sprzętowymi komputera oraz udostępnia interfejs umożliwiający użytkownikom i aplikacjom korzystanie z tych zasobów. Można go określić jako pośrednika między sprzętem a użytkownikiem.

Jądro systemu (kernel)
To centralna część systemu operacyjnego, która ma pełny dostęp do sprzętu i zarządza wszystkimi podstawowymi funkcjami takimi jak zarządzanie procesami i wątkami, zarządzanie pamięcią, obsługa przerwań i wyjątków i komunikacja międzyprocesowa.

System plików
Odpowiada za organizację, przechowywanie i dostęp do danych na nośnikach pamięci.

Sterowniki urządzeń (device drivers)
Zapewniają interakcję z różnymi urządzeniami sprzętowymi, tłumacząc polecenia systemu na sygnały zrozumiałe dla sprzętu.

System zarządzania zasobami
Moduły do alokacji i optymalizacji wykorzystania pamięci, CPU, urządzeń wejścia/wyjścia.

Powłoka (shell)
Interfejs użytkownika, który interpretuje polecenia i uruchamia programy. Może mieć formę tekstową (np. bash) lub graficzną (GUI).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Omówić pojęcie odległości i podać przykłady odległości

A

Odległość (zwane też metryką) to funkcja matematyczna, która dla każdej pary elementów w danym zbiorze przypisuje nieujemną liczbę, określającą „jak daleko” te elementy od siebie są.

Przykłady: odległość euklidesowa (pierwiastek sumy różnic punktów podniesionych do kwadratu)

Odległość Manhattan (Suma wartości bezwzględnych różnic współrzędnych)

Odległość Czebyszewa (Maksymalna różnica między współrzędnymi)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Co to jest graf, ścieżka, cykl i droga w grafie (WD, WM)

A

Graf to struktura danych służąca do modelowania relacji pomiędzy obiektami. Graf definiuje się przez wierzchołki i krawędzie

Ścieżka w grafie to ciąg kolejnych wierzchołków połączonych krawędziami, gdzie każdy jest połączony z poprzednim
Droga to ścieżka w której wszystkie wierzchołki są różne
Cylk to ścieżka co zaczyna i kończy się na tym samym wierzchołku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Wyjaśnij pojęcie klasy równoważności (WM)

A

Klasy równoważności to podzbiory zbioru, które zawierają wszystkie elementy, które są ze sobą równoważne w odniesieniu do danej relacji równoważności. Elementy w tej samej klasie równoważności są traktowane jako “jednakowe” przez tę relację.

Przykład: relacja “jest parzyste” to klasą równoważności są wszystkie liczby parzyste (chyba?)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Problemy programowania równoległego
1. Synchronizacja dostępu (na przykład wyścig) 2. Zakleszczenie 3. Zagłodzenie 4. Cięższe debugowanie 5. Złożoność aglorytmów
26
Czym różni się switch od routera (GS)
Switch działa na drugiej wartstwie OSI (łącze danych) Router działa na 3 (sieci) Switche służą do łączenia w jedną sieć wielu urządzeń – jak komputery, drukarki, telefony itp. Tymczasem router służy do łączenia ze sobą takich właśnie sieci. Routery mogą przydzielać adresy IP, tłumaczyć adresy (NAT) co pozwala mu łączyć się z Internetem
27
Co to jest grupowanie danych, podać algorytmy grupowania danych
Klasteryzacja (ang. clustering) to technika eksploracji danych, która polega na automatycznym grupowaniu obiektów (np. punktów danych) w taki sposób, aby: obiekty w tej samej grupie (klastrze) były jak najbardziej podobne do siebie, obiekty z różnych grup były jak najbardziej różne od siebie. Algorytmy grupowania danych: k-średnich (Wymaga podania liczby klastrów 𝑘, a następnie iteracyjnie przypisuje punkty do najbliższego centroidu) algorytm aglomeracyjny - iteracyjne łączenie danych w grupy na podstawie odległości od siebie
28
Co to jest klasyfikacja danych i podać algorytmy klasyfikacji
Klasyfikacja danych to jedno z głównych zadań w dziedzinie uczenia maszynowego i data mining. Polega na przypisaniu danemu obiektowi (np. rekordowi danych) jednej z predefiniowanych klas (etykiet) na podstawie jego cech (atrybutów). Algorytmy: k-NN drzewa decyzyjne Klasyfikator Bayesa Sieci Neuronowe
29
Jak mierzyć zależność miedzy dwoma atrybutami biletów (korelacja, wsp. Pearsona)
Aby ocenić, czy i jak silna jest zależność między dwoma zmiennymi liczbowymi, używa się narzędzi statystycznych. Najpopularniejszym z nich jest współczynnik korelacji liniowej Pearsona. wzór - (Suma (x - średnia x) * (y - średnia y)) / (sqrt(suma x - średnia) do kwadratu * sqrt (y - y średnia) do kwardratu)
30
Omówić proces normalizacji modelu relacyjnego (WD)
Normalizacja to proces przekształcania modelu relacyjnego bazy danych w taki sposób, aby zminimalizować redundancję danych i uniknąć anomalii (np. przy wstawianiu, usuwaniu, aktualizacji danych). Opiera się na analizie zależności funkcyjnych między atrybutami relacji.
31
Co to jest maszyna Turinga (DS, JSz) —> przedmiot Podstawy teoretyczne informatyki
Maszyna Turinga to abstrakcyjny model obliczeniowy zaproponowany w 1936 roku przez Alana Turinga, który służy do formalnego opisu działania algorytmów i pojęcia obliczalności. Jest to jedno z podstawowych narzędzi teorii obliczeń. Elementy maszyny Turinga: Taśma – nieskończona w obu kierunkach, podzielona na komórki; każda komórka może zawierać symbol z określonego alfabetu (np. 0, 1, pusty). Głowica odczytująco-zapisująca – może odczytywać symbol z taśmy, zapisywać nowy symbol oraz przesuwać się w lewo lub w prawo. Stan wewnętrzny – maszyna posiada skończoną liczbę stanów, z których jeden jest aktualnie aktywny. Tabela przejść (funkcja przejścia) – określa, co maszyna ma zrobić w zależności od aktualnego stanu i symbolu na taśmie: jaki symbol zapisać, w którą stronę przesunąć głowicę, i jaki będzie nowy stan.
32
Omówić algorytm sortowania
Bąbelkowe - porównywanie sąsiednich elementów i zamienianie ich miejscami do skutku Insertion sort - wstawianie elementów tablicy na właściwe miejsca Quick sort - wyznaczanie pivotu i rekurencyjne dzielenie danych na mniejsze lub większe od tego pivotu
33
Omówić numeryczne metody rozwiązywania układów równań
Metoda eliminacji Gaussa co przekształca macierz równań do postaci trójkątnej górnej a następnie stosuje podstawianie wsteczne by wyznaczyć rozwiązanie.
34
Omówić model relacyjny bazy danych (MM)
Model relacyjnych opiera się na relacjach (reprezentowane przez tabele) które są dwuwymiarowymi strukturami danych złożonymi z wierszy i kolumn. Własności modelu relacyjnego: Unikalność krotek – wiersze w tabeli nie mogą się powtarzać. Brak uporządkowania – kolejność wierszy i kolumn w relacji nie ma znaczenia. Jednorodność kolumn – każda kolumna zawiera wartości tego samego typu. Niezmienność wartości atomowych – każda komórka zawiera pojedynczą (atomową) wartość.
35
Wyjaśnić na czym polega mechanizm transakcji. Jakie postulaty musi spełniać transakcja (ACID) (WD, DS, MT)
Transakcja to zbiór operacji SQL wykonujących się jako całość, muszą spełniać założenia ACID (atomowość, spójność, izolacja, trwałość). Atomowość - albo wszystkie operacje w transakcji zostaną wykonane, albo żadna Spójność - transakcja przenosi bazę danych z jednego spójnego stanu do innego Izolacja - transakcje są od siebie odseparowane, nie wpływają na siebie nawzajem podczas wykonywania Trwałość - po zatwierdzeniu transakcji (ang. commit), zmiany są trwałe i nie zostaną utracone nawet w przypadku awarii
36
Jaki jest wpływ stosowania indeksów na wydajność bazy danych. I omówić wybrany indeks
Indeksy w bazach danych pełnią podobną rolę jak indeks w książce – umożliwiają szybkie odnalezienie konkretnych danych bez konieczności przeszukiwania całej tabeli. Najczęściej używanymi indeksami są b-drzewa, które są zrównoważone i równomiernie rozłożone (nie mam pojęcia co piszę pomocy)
37
Dokonać klasyfikacji indeksów w bazie danych. I omówić wybrany indeks
Indeks podstawowy (klastrowany) – porządkuje dane fizycznie według wartości kolumny indeksowanej (np. klucz główny). Indeks dodatkowy (nieklastrowany) – przechowuje tylko wartości kluczy oraz wskaźniki do rzeczywistych danych. Indeksy złożone – obejmują wiele kolumn. Indeksy pełnotekstowe, funkcyjne, bitmapowe – używane w specjalnych przypadkach.
38
Na czym polega metoda ścieżki krytycznej CPM w zarządzaniu projektem (WD)
Metoda ścieżki krytycznej (CPM) to jedna z najważniejszych technik planowania i zarządzania projektami. Pozwala ona określić najdłuższą sekwencję zależnych zadań, które muszą być wykonane na czas, aby cały projekt zakończył się zgodnie z harmonogramem. Wyznacza się ją poprzez znalezienie najdłuższej sekwencji zależnych od siebie zadań. Luz ścieżki krytycznej musi wynosić 0.
39
Na czym polega metoda PERT
PERT to probabilistyczna metoda planowania i kontroli projektu. Skrót pochodzi od angielskiej nazwy Project Evaluation and Review Technique (w niektórych źródłach "project" jest zastąpione słowem "program"). Metoda PERT w formie graficznej jest oparta na diagramie kierunkowym o notacji AoA (Activity on Arrows) lub AoN (Activity on Nodes). Określanie czasu trwania zadań odbywa się na podstawie trzech wartości: najkrótszego, najdłuższego i najbardziej prawdopodobnego czasu. Analiza diagramu PERT obejmuje obliczenie najwcześniejszego i najpóźniejszego czasu zakończenia zadań.
40
Wyjaśnić zasadę działania metody EVM jako metryki projektowej
EVM (Earned Value Management) to zaawansowana technika kontroli projektu, która pozwala jednocześnie monitorować czas, koszty i zakres prac. Dzięki EVM menedżerowie projektów mogą precyzyjnie ocenić, czy projekt jest realizowany zgodnie z planem, oraz przewidywać jego przyszły przebieg. Kluczowymi wskażnikami w tej metodzie jest odchylenie kosztowe (earned value - actual cost) odchylenie od harmonogramu (earned value - planned value) wskaźnik kosztów CPI (earned value / actual cost) wskaźnik harmonogramu SPI (earned value / planned value)
41
Podać metody rozwiązywania układów równań liniowych
- Podstawianie - Metoda przeciwnych współczynników (dodawanie i odejmowanie równań by wyeliminować zmienną) - Eliminacja Gaussa
42
Co to są układy liniowe i układy nieliniowe
Układ równań liniowych to taki, w którym każde równanie ma wyłącznie liniowe zależności między zmiennymi. Oznacza to, że zmienne występują tylko w pierwszej potędze i nie są ze sobą mnożone, dzielone ani nie występują w funkcjach nieliniowych (np. trygonometrycznych, wykładniczych) Układ równań nieliniowych zawiera co najmniej jedno równanie nieliniowe, czyli takie, które zawiera: - zmienne w potędze innej niż 1, - iloczyny zmiennych - funkcje nieliniowe
43
Numeryczne metody wyznaczania całki oznaczonej (DS)
Polegają one na oszacowaniu pola pod wykresem funkcji za pomocą prostych figur geometrycznych. Przykładem jest metoda prostokątów gdzie dzielimy przedział na równe części i liczymy pola pod wykresem jako suma pól prostokątów Inne (dokładniejsze) metody to metoda trapezów i metoda Simpsona która opiera się na parabolach. Metoda Simpsona stosowana jest tylko dla parzystej liczby przedziałów
44
Omówić zasadę działania maszyny Turinga
Dla każdego kroku działania maszyny: odczytuje symbol spod głowicy, na jego podstawie oraz aktualnym stanie wybiera regułę z tabeli przejść, wykonuje odpowiednią akcję: zapis, przesunięcie, zmiana stanu, kontynuuje, aż osiągnie stan końcowy (jeśli taki istnieje) lub będzie działać w nieskończoność.
45
Jakie są charakterystyczne cechy układów czasu rzeczywistego
- deterministyczność w czasie - czasowe ograniczenia (deadline) - natychmiastowa reakcja na sygnały - wielozadaniowość - niezawodność
46
Wyjaśnić pojęcie bramki zdarzenia, toru, basenu w języku BPMN. Wymienić przykładowe.
Bramka zdarzenia (ang. Event-based Gateway) Jest to rodzaj bramki decyzyjnej, która czeka na wystąpienie jednego z możliwych zdarzeń (np. nadejście wiadomości, przekroczenie czasu). Tor (ang. Lane) To podział wewnątrz basenu, który reprezentuje konkretne role, działy lub systemy biorące udział w procesie. Przykłady: „Dział obsługi klienta” „System ERP” „Użytkownik końcowy” Basen (ang. Pool) Reprezentuje jeden z uczestników procesu biznesowego, najczęściej całą organizację lub system. Przykłady: „Firma X” „Zewnętrzny dostawca” „Klient”
47
Na czym polega przeciążanie metod, operatorów w językach programowania
Przeciążanie (overloading) to mechanizm w językach programowania obiektowego (np. Java, C++, C#), który pozwala na wielokrotne zdefiniowanie metod lub operatorów o tej samej nazwie, ale z różnymi argumentami lub działaniami. Umożliwia to lepszą czytelność i elastyczność kodu.
48
Wyjaśnić pojęcie typu w językach programowania
Typ (danych) w językach programowania to kategoria, która określa rodzaj danych, jakie może przechowywać zmienna, oraz operacje, jakie można na tych danych wykonywać.
49
Jak realizuje się wielodziedziczenie w języku Java
Nie da się wielodziedziczyć klas, można wykonac wielodziedziczenie za pomocą interfejsów
50
Scharakteryzować wybrane diagramy języka UML
- Diagram klas - modeluje strukturę systemu – klasy, ich atrybuty, metody oraz zależności między nimi (dziedziczenie, asocjacje, agregacje, kompozycje). - Diagram przypadków użycia - Pokazuje funkcjonalność systemu z punktu widzenia użytkownika (aktora) - Diagram sekwencji - Pokazuje interakcję między obiektami w czasie, czyli w jakiej kolejności przesyłane są komunikaty.
51
Omówić model sieciowy OSI
1 - fizyczna - przesył sygnału przed medium fizyczne (kabel, karta sieciowa) 2 - łącza danych - trasmisja między sąsiednimi urządzeniami (switche) 3 - sieciowa - adresowanie i trasowanie pakietów (IP - routery) 4 - transportowa - zapewnienie przesyłu danych (TCP, UDP) 5 - sesji - zarządzanie sesją 6 - prezentacji - kodowanie, szyfrowanie, kompresja danych 7 - aplikacji - interakcja z użytkownikiem
52
Jaka jest różnica miedzy protokołem połączeniowym a protokołem bezpołączeniowym. Podać przykłady takich protokołów
Połączeniowy - przed przesłaniem danych nawiązywane jest połaczenie które jest utrzymywane przez cały czas trwania transmisji. Występuje mechanizm potwierdzień, retransmisji i kontroli błędów. Przykładem jest protokół TCP Bezpołączeniowy - brak połączenia, pakiety przesyłane niezależnie, szybsza i prostsza transmisja, używany tam gdzie istotne są niskie opóźnienia a utrata pakietów jest dopuszczalna. Przykładem jest protokół UDP
53
Omówić protokół TCP, IP, ARP
TCP - protokół połączeniowy warstwy transportowej. Nawiązuje i utrzymuje połączenie poprzez handshake. Steruje przepływem danych i transmituje utracone pakiety. Zastosowanie w stronach WWW, poczcie czy transferze FTP IP to protokół bezpołączeniowy warstwy sieciowej. Odpowiada za adresowanie i trasowanie pakietów danych w sieci. Dzieli dane na pakiety IP i dostarcza je do docelowego adresu IP. ARP to protokół warstwy łącza danych. Służy do mapowania adresów IP na adresy MAC (fizyczne adresy kart sieciowych) w sieci lokalnej. Umożliwia komunikację między urządzeniami w tej samej sieci fizycznej. Wysyła zapytania ARP (broadcast) i odbiera odpowiedzi zawierające adres MAC.
54
Wyjaśnić na czym polega działanie infrastruktury klucza publicznego (PKI)
PKI (Public Key Infrastructure) to system zarządzania kluczami kryptograficznymi, który umożliwia bezpieczną komunikację i uwierzytelnianie w sieciach komputerowych, zwłaszcza w Internecie. W jego skład wchodzą klucze prywatne i publiczne, które są powiązane z uzytkownikami za pomocą certyfikatów wystawianych przez Urząd Certyfikacji
55
Na czym polega podpis elektroniczny. Co to jest klucz publiczny, prywatny
Podpis elektorniczny polega na zaszyfrowaniu hashu dokumentu kluczem prywatnym podpisującego. Odbiorca następnie odszyfrowuje dokument za pomocą klucza publicznego i weryfikuje czy hash się zgadza. Jeśli tak to dokument jest autentyczny i niezmieniony. Klucz prywatny jest tajny i jest znany tylko właścicielowi Klucz publiczny jest jawny, udostępniany innym użytkownikom i służy do odczytu i deszyfrowania przesyłanych danych
56
Podać klasyfikacje metod testowania oprogramowania
- ze względu na dostęp do kodu (czarnoskrzynkowe, białoskrzynkowe) - ze względu na poziom testowania (jednostkowe, integracyjne, systemowe, akceptacyjne) - cel testowania (funkcjonalne, niefunkcjonalne) - testy manualne/automatyczne
57
Omówić wybrany wzorzec projektowy. Co to jest wzorzec projektowy w programowaniu, projektowaniu oprogramowania
Wzorzec projektowy (ang. design pattern) to sprawdzony schemat rozwiązania typowego problemu projektowego, który występuje często podczas projektowania oprogramowania. Wzorce nie są gotowym kodem, ale opisują strukturę i sposób współpracy obiektów i klas w konkretnym kontekście. Przykładem jest budowniczy lub fabryka
58
Co to jest przestrzeń kolorów , omówić przestrzenie barw (GS)
Przestrzeń kolorów (ang. color space) to matematyczny model opisu kolorów w formie współrzędnych liczbowych. Każdy kolor w przestrzeni barw można opisać jako punkt w układzie współrzędnych — np. za pomocą trzech wartości (składowych), jak w modelu RGB: czerwony, zielony, niebieski. Przestrzenie barw: - RGB (czerwony, zielony, niebieski od 0 do 255) - CMYK (cyan, magenta, żółty, key/black od 0 do 1) - HSV (odcień, nasycenie, jasność)
59
Omówić dziedziczenie, generalizacje, enkapsulację, asocjacje w modelu obiektowym (RŁ)
Dziedziczenie - klasy mogą dziedziczyć cechy innych klas, pozwala na tworzenie szczegółowych typów Generalizacja - polega na wyodrębnieniu wspólnej nadklasy z kilku klas posiadających podobne cechy Enkapsulacja - dane są ukryte przed światem zewnętrznym i dostęp jest jedynie dzięki specjalnym metodom Asocjacja - Określają relacje między obiektami, np. że jeden obiekt korzysta z innego. Ma kilka wariantów np. agregacja (słaba asocjacja) czy kompozycja (silna asocjacja)
60
Miary w eksploracji danych, miara pozycyjna
Miary pozycyjne to statystyki, które zależą od kolejności uporządkowanych wartości w zbiorze danych na przykład mediana czy kwartale. Inne rodzaje miar to miary tendencji centralnej (np średnia), miary rozproszenia (odchylenie standardowe, wariancja) lub miary odległości (odległość euklidesowa)
61
Jakie są problemy mapowania danych obiektowych na relacyjny, zjawisko niedopasowania impedancji
- rozbieżność modelu danych - brak dziedziczenia - różne typy danych - różny sposób rozróżniania obiektów - zarządzanie stanem
62
Struktury przechowywania danych - listy, stos, kolekcje, tablice, drzewo itd.
lista - jedno lub dwukierunkowa, każdy element ma wskaźnik na poprzedni i następny element, dostęp jest O(n), wstawianie O(1) stos - LIFO, operacje O(1), używane w rekursji, wycofywaniu operacji drzewo - Struktura hierarchiczna z korzeniem i węzłami potomnymi, operacje O(log n) graf - Zbiór wierzchołków i krawędzi (połączeń) między nimi. tablice - stały rozmiar, szybki dostęp przez indeks O(1)
63
Omówić pojęcie drzewa decyzyjnego, co to jest do czego służy itd
Drzewo decyzyjne to struktura danych i model analityczny wykorzystywany do podejmowania decyzji, klasyfikacji lub regresji. Jest to hierarchiczny diagram przypominający drzewo, w którym każdy węzeł wewnętrzny reprezentuje warunek decyzyjny, a liście końcowe zawierają wynik (decyzję lub wartość).
64
Algorytmy uczenia pod nadzorem , algorytm regresji
Uczenie pod nadzorem to jedna z głównych kategorii algorytmów uczenia maszynowego. Polega na tym, że model uczy się na podstawie danych wejściowych (cech) i odpowiadających im etykiet (wyników). Celem jest nauczenie modelu przewidywania etykiety (np. klasy lub wartości) dla nowych, nieznanych danych. Regresja to rodzaj uczenia pod nadzorem, którego celem jest przewidywanie wartości liczbowych. Jednym z najprostszych i najczęściej używanych algorytmów regresji jest regresja liniowa.
65
Klasyfikacja języków programowania
imperatywne - programy opisują jak komputer ma wykonać zadanie krok po kroku deklaratywne - brak instrukcji sterujących, skupienie na wyniku strukturalne - dzienie programu na funkcje/procedury obiektowe - modelowanie rzeczywistosci za pomocy obiektów funkcyjne - Programowanie jako kompozycja funkcji, bez zmiennych i efektów ubocznych. logiczne - Programowanie przez zadeklarowanie faktów i reguł oraz stawianie zapytań.
66
Co to jest napięcie skuteczne?
Napięcie skuteczne (oznaczane jako U_sk ) to wartość napięcia zmiennego, która daje taki sam efekt cieplny (moc) w obciążeniu rezystancyjnym, jak napięcie stałe o tej samej wartości.
67
Co to jest prąd? (WM)
Prąd elektryczny to uporządkowany ruch ładunków elektrycznych w przewodniku, zwykle elektronów. Prąd płynie, gdy między dwoma punktami istnieje różnica potencjałów (napięcie), a obwód jest zamknięty. Prąd oznaczamy symbolem 𝐼 (w Amperach) I i definiujemy jako ilość ładunku przepływającego przez przekrój poprzeczny przewodnika w jednostce czasu: I = Q/t
68
Koncepcja architektury von Neumanna (SS)
Architektura von Neumanna to klasyczny model organizacji komputera, zaproponowany przez Johna von Neumanna w 1945 roku. Jest fundamentem budowy większości współczesnych komputerów. Założenia: Wspólna pamięć dla danych i programów – dane i instrukcje przechowywane są w tej samej pamięci RAM. Jednostka sterująca i arytmetyczno-logiczna (ALU) – przetwarzają dane według instrukcji programu. Wykonywanie instrukcji sekwencyjnie – procesor odczytuje i wykonuje rozkazy krok po kroku (chyba że rozkaz modyfikuje ten porządek, np. skok warunkowy). Magistrala – wspólne linie przesyłowe służące do komunikacji między procesorem, pamięcią i urządzeniami wejścia/wyjścia. Rejestry – szybka pamięć procesora do tymczasowego przechowywania danych i adresów.
69
Twierdzenie Shannona o próbkowania
Sygnał analogowy o maksymalnej częstotliwości składowej f _max można w pełni odtworzyć z jego próbek, jeśli sygnał zostanie próbkowany z częstotliwością co najmniej 2⋅𝑓_max ​ .
70
Co to jest automat skończony (JSz)?
Automat skończony (ang. finite automaton) to matematyczny model maszyny, która przetwarza ciągi symboli (np. litery, cyfry) w sposób sekwencyjny. Składa się z ograniczonej liczby stanów, między którymi przechodzi w zależności od wejściowych symboli. Ma zastosowanie w językach programowania (kompilatorzy)
71
Sformułować zadanie optymalizacji (MT)
Zadanie optymalizacji to proces poszukiwania najlepszego rozwiązania (np. najniższych kosztów lub najwyższej wydajności) spośród wszystkich dopuszczalnych rozwiązań, które spełniają określone warunki (ograniczenia). min (lub max) f(x) mogą być ograniczenia równościowe (h(x) = 0) i nierównościowe (g(x) <= 0)
72
Na czym polega optymalizacja wklęsła, wypukła
Optymalizacja wypukła to rodzaj optymalizacji, w której funkcja celu i ograniczenia są wypukłe, a jej celem jest znalezienie minimum funkcji celu. Optymalizacja wklęsła to optymalizacja, w której funkcja celu jest wklęsła, a celem jest znalezienie maksimum.
73
Co to jest język bezkontekstowy?
Język bezkontekstowy to zbiór ciągów, które można wygenerować przy użyciu gramatyki bezkontekstowej, czyli takiej, w której każda reguła przepisuje jeden symbol nieterminalny niezależnie od jego kontekstu.
74
Co to jest gramatyka, składnia, alfabet języka
alfabet to „litery”, gramatyka to „przepis”, a składnia to „co jest dozwolone” w danym języku. Alfabet - podstawowe symbole języka Składnia - reguły określające które ciągi znaków są poprawne gramatyka - mechanizm generowania składniowo poprawnie ciągów
75
Rodzaje gramatyka, kontekstowe i bezkontekstowa (JS)
gramatyka - mechanizm generowania składniowo poprawnie ciągów Gramatyka bezkontekstowa – prostsza, bardziej praktyczna, niezależna od otoczenia symbolu. Gramatyka kontekstowa – potężniejsza, uwzględnia sąsiedztwo symbolu, ale trudniejsza do analizy.
76
Na czym polega kompilacja, budowa kompilatora
Kompilacja to proces tłumaczenia kodu źródłowego napisanego w języku wysokiego poziomu (np. C++, Java) na kod maszynowy lub pośredni, który może być uruchamiany przez komputer. Kompilator składa się z: skanera - dzieli kod na tokeny parsera - buduje drzewo składniowe analizatora semantycznego - weryfikuje znaczenie kodu optymalizatora - usprawnia kod generator kodu - tworzy kod maszynowy linker - łączy moduły
77
Wyjaśnić pojęcie informacji. Jak mierzyć informacje. Entropia informacji
W informatyce i teorii informacji, informacja to zmniejszenie niepewności o jakimś zjawisku. Otrzymując informację, dowiadujemy się czegoś, co wcześniej było nieznane lub niepewne. Miara informacji: I(x) = -log_2 P(x), gdzie I to ilość informacji, P to prawdopodobieństwo, x to zdarzenie Entropia Shannona to średnia ilość informacji, jaką niesie losowa zmienna (np. źródło informacji). Określa niepewność tej zmiennej.
78
Czym różni się procesor od mikrokontrolera?
Procesor (CPU): mocny, ogólnego przeznaczenia, część większego systemu. Mikrokontroler (MCU): kompletny system w jednym chipie, zoptymalizowany do prostych i energooszczędnych zadań.
79
Co to jest system czasu rzeczywistego? Co to znaczy odpowiedz układu w czasie rzeczywistym (ile to jest 1 sek czy 1 milisek)
System czasu rzeczywistego to taki, który gwarantuje odpowiedź w określonym, przewidywalnym czasie. Reakcja "w czasie rzeczywistym" może oznaczać np. do 1 ms, 10 ms lub 100 µs – zależnie od zastosowania i krytyczności.
80
Na czym polega notacja dużego O w złożoności algorytmu? Od czego pochodzi literka O? Co to znaczy ze algorytm ma złożoność wielomianową, wykładniczą, logarytmiczną?
Notacja dużego O informuje jak szybko rośnie czas wykonania lub zapotrzebowanie na pamięć algorytmu w zależności od rozmiaru danych wejściowych 𝑛. Literka „O” pochodzi od angielskiego słowa Order (porządek, rząd wielkości). Złożoność wielomianowa - Czas rośnie jak wielomian n-tego stopnia (n^k) Złożoność wykładnicza - Czas rośnie wykładniczo z n (2^n) Złożoność logarytmiczna - Czas rośnie bardzo powoli, wraz ze wzrostem n (log n)
81
Jakie są rodzaje złożoności algorytmu (czasowa, obliczeniowa)
czasowa - Opisuje, ile operacji wykonuje algorytm, czyli jak długo będzie działać w zależności od wielkości wejścia. pamięciowa - Opisuje, ile pamięci potrzebuje algorytm do działania. obliczeniowa - łączy oba
82
Co to jest napięcie skuteczne? Ile wynosi nap skuteczne, szczytowe, średnie w domowej sieci energetycznej
Napięcie skuteczne (oznaczane jako U_sk ) to wartość napięcia zmiennego, która daje taki sam efekt cieplny (moc) w obciążeniu rezystancyjnym, jak napięcie stałe o tej samej wartości. skuteczne - 230 V Szczytowe - około 325 V(????) Średnia - 0 bo napięcie domowe jest sinusoidą
83
Jak odwrócić macierz (SS)
Metoda Gaussa-Jordana (algorytmiczna) Najbardziej uniwersalna metoda dla macierzy dowolnego rozmiaru. Kroki: Stwórz rozszerzoną macierz [A∣I] Zastosuj operacje elementarne (eliminuje się tak jak w metodzie Gaussa), by przekształcić A do macierzy jednostkowej Wtedy prawa strona I przekształci się w A −1 Druga metoda to macierz dopełnień
84
Różnice miedzy programowaniem strukturalnym a obiektem (SS)
strukturalne - To podejście oparte na dzieleniu programu na funkcje i bloki kodu z wykorzystaniem struktur sterujących (pętle, instrukcje warunkowe). Skupia się na algorytmach i przepływie danych. obiektowe - To paradygmat, w którym program buduje się z obiektów – czyli połączenia danych i metod w jednej jednostce.
85
Algorytmy przeszukiwania w grafie (wzdłuż i wszerz)
BFS eksploruje graf poziomami – najpierw odwiedza wszystkich sąsiadów danego wierzchołka, potem sąsiadów ich sąsiadów itd. Struktura pomocnicza: kolejka (FIFO) Zastosowanie: Znajdowanie najkrótszej ścieżki w grafie nieskierowanym (nieważonym) Sprawdzanie spójności grafu Wyszukiwanie minimalnej liczby kroków DFS zagłębia się możliwie najgłębiej w grafie wzdłuż jednej ścieżki, a dopiero później się cofa i szuka kolejnych ścieżek. Struktura pomocnicza: stos (LIFO) – często realizowany rekurencyjnie Zastosowanie: Wykrywanie cykli Sortowanie topologiczne Znajdowanie komponentów spójności
86
Własności grafu
- wierzchołki - krawędzie - kierunek - waga - stopień (krawędzie dochodzące do wierzchołka) - spójność (istnieje ścieżka między każdą parą wierzchołków)
87
Algorytm k średnich (dr Twardy)
Wybierz k – liczbę klastrów Inicjalizacja – losowo wybierz k punktów jako początkowe centroidy Przypisz punkty do najbliższego centroidu – tworząc tymczasowe klastry Aktualizuj centroidy – wylicz nowy środek klastra jako średnią ze wszystkich punktów w klastrze Powtarzaj kroki 3–4, aż centroidy przestaną się zmieniać (algorytm się zbiega)
88
Co to jest enkapsulacja i przeciążanie
Enkapsulacja - dane są ukryte przed światem zewnętrznym i dostęp jest jedynie dzięki specjalnym metodom Przeciążanie (overloading) to mechanizm w językach programowania obiektowego (np. Java, C++, C#), który pozwala na wielokrotne zdefiniowanie metod lub operatorów o tej samej nazwie, ale z różnymi argumentami lub działaniami. Umożliwia to lepszą czytelność i elastyczność kodu.
89
Scharakteryzować narzędzia modelowani procesów biznesowych
Używają notacji BPMN nie wiem dalej
90
Proszę omówić na czym polega paradygmat obiektowy (WD)
Paradygmat obiektowy to sposób myślenia o programowaniu, który opiera się na koncepcji obiektów, czyli samodzielnych jednostek łączących dane i operacje na tych danych. Paradygmat ten jest podstawą programowania obiektowego (ang. object-oriented programming, OOP).
91
Omowic metodę największego spadku (DS)
92
Jaki jest odpowiednik encji i atrybutu w relacyjnej bazie danych
tabela i kolumna
93
Omowic prawo Kirchoffa
Mówi, że suma algebraiczna prądów wpływających do węzła jest równa sumie prądów wypływających z węzła. Lub suma napięć wzdłuż zamkniętej pętli jest równa 0
94
Wyjaśnić pojęcie konstruktora jako specjalnej metody w obiektowych językach programowania
Konstruktor to specjalna metoda klasy, której zadaniem jest inicjalizacja nowo tworzonego obiektu tej klasy. Konstruktor jest wywoływany automatycznie w momencie tworzenia instancji (obiektu) i przygotowuje go do poprawnego działania, najczęściej poprzez nadanie początkowych wartości polom (atrybutom) obiektu.
95
Typy zdarzeń w języku BPMN
- początkowe - pośrednie - końcowe
96
Omowic role w metodyce SCRUM
Product Owner - Reprezentuje interesy klienta i użytkowników końcowych. Scrum Master - Facilitator procesu SCRUM, dba o przestrzeganie zasad i usuwanie przeszkód Zespół deweloperski
97
Omowic podstawowe typy grafów i jakie są. Między nimi różnice
skierowany, nieskierowany ważony prosty (bez pętli)
98
Zdefiniować pojęcie kolejki i podać jej najbardziej popularne rodzaje
Kolejka (ang. queue) to struktura danych działająca na zasadzie FIFO (First In, First Out), czyli „pierwszy wszedł, pierwszy wyszedł”. Elementy są dodawane na końcu kolejki (enqueue), a usuwane z jej początku (dequeue). Rodzaje kolejek: zwykła priorytetowa cykliczna dwustronna (deque)
99
Podać przykłady implementacji kolejki w wybranym języku
collections.deque w Pythonie std::queue w C++ Java interfejs Queue i Deque, implementacje LinkedList, PriorityQueue,
100
Jakie jest zrodlo w projektowaniu aplikacji wielowątkowych i jak można radzić sobie z tymi problemami
problemy: - niedeterministyczność - zakleszczenia - zagłodzenia - błędy synchronizacji rozwiązania: - używanie mechanizmów synchronizacji (semafory, zamki) - nadawanie priorytetów zadaniom - biblioteki
101
Wyjaśnić pojęcie klucza głównego w modelu relacyjnym
Klucz główny (ang. primary key) to podstawowy mechanizm identyfikacji rekordów w tabeli relacyjnej bazy danych. Jest to atrybut (lub zbiór atrybutów), który jednoznacznie identyfikuje każdy wiersz w tabeli.
102
Jakie są typy bramek w języku BPMN
- ekskluzywna (X) - równoległa oparta na zdarzeniach (+ w kółku) - równoległa (+) - complex (*) - inkluzywna (różne procesy uruchamiane w zależności od warunków) (O)
103
Co to jest operator liniowy (Macias)
to odwzorowanie między przestrzeniami liniowymi, które zachowuje strukturę liniową. Innymi słowy, operator liniowy to funkcja spełniająca dwa warunki: Dla dowolnych wektorów u i v, gdzie u i v należą do przestrzeni V i skalaru a zachodzi: T (u + v) = T(u) + T(v) T(au) = aT(u)
104
Jakie elementarne operacje występują w algorytmie genetycznym
- Selekcja (ruletka, turniej, ranking) - Krzyżowanie (jedno, dwupunktowe) - Mutacja - Ocena przystosowania - Zastępowanie (całkowite lub elitarne)
105
Co to jest stos i jaka pełni role w programowaniu (WD)
Stos (ang. stack) to jedna z podstawowych struktur danych w informatyce. Działa według zasady LIFO – Last In, First Out – czyli ostatni wchodzi, pierwszy wychodzi. Oznacza to, że element dodany jako ostatni zostanie usunięty jako pierwszy. Role: - Odwracanie kolejności - Zarządzanie wywoływaniami funkcji (stos wywołań, co pozwala na rekurencje)
106
problemy wielowątkowości i implementacji zrównoleglania algorytmów (prof Sierociuk)
- wyścigi - zakleszczenia - zagłodzenia - trudności w testowaniu
107
co to jest rekurencja (WD)
Rekurencja to technika programistyczna (i pojęcie matematyczne), w której funkcja wywołuje samą siebie, aby rozwiązać mniejsze wersje tego samego problemu. Jest to sposób dzielenia problemu na podproblemy, aż do osiągnięcia prostego przypadku bazowego.
108
Co to jest indeks i jaki jest wpływ stosowania indeksów na plan wykonania zapytania (WD)
Indeks w bazie danych to struktura danych tworzona na jednej lub kilku kolumnach tabeli, która umożliwia szybsze wyszukiwanie, filtrowanie i sortowanie danych bez konieczności przeszukiwania całej tabeli (full table scan). Można go porównać do spisu treści lub indeksu na końcu książki – pozwala szybko znaleźć konkretną informację. Wpływ: przyśpiesza operacje SELECT szczególnie dla kolumn z powtarzającymi się wartościami lepsze sortowanie wydłużają operacje zapisu zajmują więcej przestrzeni
109
omówić pojęcie interpolacji i ekstrapolacji (prof Malesza, dr Twardy, WM)
Interpolacja służy do estymacji wartości pomiędzy znanymi punktami, a ekstrapolacja – do przewidywania wartości poza tym zakresem. Interpolacja jest zazwyczaj bardziej niezawodna, natomiast ekstrapolacja wymaga ostrożności i dobrej znajomości zachowania danych.
110
Jakie diagramy UML można zastosować w modelowaniu procesów biznesowych (prof Dzieliński)
- diagram aktywności (pokazuje przepływ czynności) - diagram przypadków użycia (interakcje między aktorami a systemem) - stanów (modelowanie cyklu życia) - sekwencji (modelowanie interakcji między uczestnikami procesu)
111
jakie grafy stosujemy do wyznaczania ścieżki krytycznej (WD)
- skierowane
112
Perceptron wielowarstwowy i metody uczenia sztucznych sieci neuronowych, algorytm uczenia (dr Skoneczny)
Perceptron wielowarstwowy to jedna z podstawowych architektur sztucznych sieci neuronowych, wykorzystywana m.in. w klasyfikacji, regresji i rozpoznawaniu wzorców. Składa się z conajmniej 3 warstw: wejściowej, ukrytej (jedna lub więcej), wyjściowa Najczęściej stosowanym algorytmem uczenia jest propagacja wsteczna
113
Na czym polega różnica między kompresją stratną a bezstratną (prof Iwanowski)
Kompresja bezstratna pozwala na całkowite odtworzenie danych, natomiast kompresja stratna osiąga wyższy stopień redukcji rozmiaru kosztem utraty pewnych informacji – akceptowalnych w przypadku multimediów. Wybór zależy od wrażliwości danych na utratę szczegółów i wymagań co do jakości i objętości pliku.
114
Omówić pojęcie wzorca projektowego i podać przykład wzorca architektonicznego (prof Dąbrowski)
Wzorce projektowe to dobre praktyki projektowania kodu w skali mikro (klasy, obiekty), natomiast wzorce architektoniczne działają na poziomie całego systemu. Przykładem wzorca architektonicznego jest MVC, który dzieli aplikację na warstwę danych, prezentacji i logiki sterującej. Wzorce te pomagają tworzyć czytelne, skalowalne i łatwe w utrzymaniu systemy.
115
1. Na czym polegają problemy programowania wielowątkowego (Dominik Olszewski)
1. interferencja wątków; 2. synchronizacja 3. głodowanie
116
role i zadania w metody SCRUM (KM)
Product Owner - Reprezentuje interesy klienta i użytkowników końcowych, zarządza backlogiem, priorytezuje zadania, kontaktuje sie z interesariuszami. Scrum Master - Facilitator procesu SCRUM, dba o przestrzeganie zasad i usuwanie przeszkód Zespół deweloperski - realizuja zadania z backlogu, raportują swój dzienny progres
117
jak mierzyć złożoność obliczeniową
Złożoność obliczeniową mierzy się najczęściej przy pomocy notacji asymptotycznej, analizując czas lub pamięć względem rozmiaru wejścia. Pozwala to ocenić skalowalność algorytmu i dobrać odpowiednie rozwiązania w praktycznych zastosowaniach.
118
czym różni się regresja od klasyfikacji
Regresja odpowiada na pytanie „ile?”, natomiast klasyfikacja – „do której kategorii należy?”. Wybór między nimi zależy od rodzaju problemu i danych wyjściowych.
119
Omówić dziedziczenie w programowaniu obiektowym (DS)
Dziedziczenie umożliwia klasom potomnym przejęcie właściwości klas bazowych, co ułatwia organizację kodu, jego rozszerzanie i zarządzanie złożonością. Jest to kluczowy mechanizm w programowaniu obiektowym wspierający zasadę DRY (Don't Repeat Yourself).
120
Co to jest perceptron (co to jest, do czego służy)
Perceptron to uproszczony model neuronu, który przekształca dane wejściowe w decyzję logiczną (np. 0/1). Jest wykorzystywany w zadaniach klasyfikacyjnych i stanowi podstawę bardziej złożonych sieci neuronowych używanych we współczesnej sztucznej inteligencji.
121
Wskazać i omówić metody pomiaru projektu np. Metodę EVM (WD)
EVM (Earned Value Management) to zaawansowana technika kontroli projektu, która pozwala jednocześnie monitorować czas, koszty i zakres prac. Dzięki EVM menedżerowie projektów mogą precyzyjnie ocenić, czy projekt jest realizowany zgodnie z planem, oraz przewidywać jego przyszły przebieg. Kluczowymi wskażnikami w tej metodzie jest odchylenie kosztowe (earned value - actual cost) odchylenie od harmonogramu (earned value - planned value) wskaźnik kosztów CPI (earned value / actual cost) wskaźnik harmonogramu SPI (earned value / planned value)
122
Omówić działy uczenia maszynowego (MI)
- uczenie nadzorowane: Model uczy się na podstawie zbioru danych, który zawiera zarówno wejścia, jak i oczekiwane wyjścia (etykiety) - nienadzorowane: Model analizuje dane bez znanych etykiet wyjściowych, szukając ukrytych struktur lub zależności (np przez grupowanie) - przez wzmacnianie: Model (tzw. agent) uczy się poprzez interakcję ze środowiskiem, otrzymując nagrody lub kary - aktytwne: Model może sam wybierać dane, które chce poznać (np. zadawać pytania). Stosowane w sytuacjach, gdzie etykietowanie jest drogie, a model chce się uczyć efektywnie.
123
Scharakteryzować zarządzanie ryzykiem w projektach (WD)
- Identyfikacja ryzyka - Analiza ryzyka - Planowanie reakcji na ryzyko - Monitorowanie/Śledzenie - Kontrola ryzyka Identyfikacja -> Analiza -> Planowanie -> Śledzenie -> Kontrola -> Identyfikacja
124
Metody przekazywania parametrów do funkcji (MM)
- przez wartość - przez referencję - przez wskaźnik
125
Na czym polega zadanie programowania liniowego (AD)
Programowanie liniowe (ang. linear programming) to dział matematyki i optymalizacji, który zajmuje się maksymalizacją lub minimalizacją funkcji celu liniowej przy spełnieniu określonych ograniczeń liniowych (równościowych i nierównościowych).
126
Co to jest encja, jak jest realizowana w bazie danych (MM)
Encja to obiekt reprezentujący rzecz, osobę, zdarzenie lub pojęcie, o którym chcemy przechowywać dane w systemie informatycznym. Każda encja posiada atrybuty, czyli cechy opisujące ten obiekt. realizowana za pomocą tabel
127
jakie są algorytmy uczenia sieci (AD)
- propagacja wsteczna - k średnich - kohonena - stochastyczny spadek gradientu (to chyba można rozszerzyć)
128
Czym jest algorytm genetyczny, jak działa (KH)
Algorytm genetyczny (AG) to metoda optymalizacji inspirowana mechanizmami ewolucji biologicznej – takimi jak dobór naturalny, krzyżowanie, mutacja i selekcja. Działanie: 1. Inicjalizacja losowych chromosomów 2. Ocena chromosomów funkcją przystosowania 3. Selekcja 4. Krzyżowanie 5. Mutacja 6. Zastępowanie (nowa generacja)
129
Jaka jest różnica między zadaniem regresji a zadaniem klasyfikacji (RŁ)
Regresja przewiduje wartości liczbowe, a klasyfikacja przypisuje dane do kategorii.
130
Czym jest jakość i metryka jakości w zarządzaniu projektem IT (KH)
jakość - ogół cech i właściwości wyrobu lub usługi decydujących o zdolności wyrobu lub usługi do zaspokojenia stwierdzonych lub przewidywanych potrzeb Metryka - konkretne kryterium lub wskaźnik, który służy do pomiaru określonego aspektu projektu.
131
Jakie zna Pan narzędzia do modelowania procesów biznesowych (AD) przedmiot modelowanie procesów biznesowych
- UML - BPMN - Microsoft Visio - Lucidchart
132
Przedstawić semantykę języka BPMN (WD) —> przedmiot modelowanie procesów biznesowych
Główne elementy semantyczne BPMN: Aktywności: Zadania, które są wykonywane w procesie, np. "Weryfikacja danych", "Wykonanie płatności". Zdarzenia: Uwidaczniają się, gdy coś się dzieje w procesie, np. "Zakończenie zadania", "Otrzymanie wiadomości". Bramki: Określają, w jaki sposób przepływ procesu jest kierowany, np. "Bramka na wyłączność" pozwala na przechodzenie tylko przez jedną ścieżkę, "Bramka równoległa" pozwala na równoległe wykonywanie zadań. Artefakty: Obiekty, które są tworzone i wykorzystywane w procesie, np. "Komunikat", "Dane". Ścieżki przepływu: Określają kolejność wykonywania aktywności i przechodzenia przez bramki.
133
Co to jest atak DoS (DS)
Atak DoS (Denial of Service) to rodzaj cyberataku, którego celem jest uniemożliwienie działania usługi, systemu lub sieci komputerowej poprzez przeciążenie jej zasobów. Atakujący wysyła bardzo dużą liczbę żądań do serwera, aplikacji lub infrastruktury sieciowej, co skutkuje ich spowolnieniem lub całkowitym zablokowaniem dla legalnych użytkowników.
134
Jakie są cztery paradygmaty programowania obiektowego (WC)
polimorfizm, abstrakcja, dziedziczenie, enkapsulacja
135
Co to jest pamięć cache (JS)
Pamięć cache (z ang. cache memory) to szybka pamięć podręczna, znajdująca się pomiędzy procesorem a pamięcią operacyjną (RAM), której zadaniem jest przyspieszenie dostępu do często używanych danych i instrukcji. Poziomy cache: L1 (Level 1) – najmniejsza (kilkadziesiąt KB), ale najszybsza, znajduje się najbliżej rdzenia CPU. L2 (Level 2) – większa (kilkaset KB do kilku MB), nieco wolniejsza. L3 (Level 3) – współdzielona przez kilka rdzeni procesora, jeszcze większa (nawet kilkanaście MB), ale wolniejsza od L1 i L2.
136
Na czy polega problem komiwojażera (Travelling Salesman Problem) (JS)
Problem komiwojażera (ang. Travelling Salesman Problem, TSP) to klasyczny problem optymalizacyjny w informatyce i matematyce, który polega na znalezieniu najkrótszej możliwej trasy, łączącej zestaw miast (punktów), tak aby: Każde miasto zostało odwiedzone dokładnie raz, Komiwojażer wrócił do miasta początkowego, Całkowita długość (lub koszt) trasy była minimalna.
137
Jaka jest różnica między kodowaniem stratnym a bezstratnym - podać przykłady (MI)
W kompresji bezstratnej żadne dane nie są tracone, w kompresji stratnej tak jest i część danych znika bezpowrotnie przez ten proces przykładem są formaty PNG i JPEG dla zdjęć
138
Jak zapewnić bezpieczeństwo w sieci komputerowej (MI)
1. Zapezpieczenia fizyczne i logiczne 2. Firewall 3. Szyfrowanie danych 4. Kopie zapasowe 5. Aktualizacje oprogramowanie 6. Szkolenia użytkowników 7. Monitoring
139
Na czym polega problem przeuczenia sieci neuronowej (DO)
Problem przeuczenia sieci neuronowej (ang. overfitting) polega na tym, że model zbyt dobrze dopasowuje się do danych treningowych, przez co traci zdolność generalizacji – czyli radzi sobie gorzej z nowymi, nieznanymi danymi (np. testowymi).
140
Omówić zasad działania protokołu dwufazowego stosowanego do obsługi transakcji w bazie danych (WD)
Faza 1: Przygotowanie (Prepare / Voting Phase) Koordynator (np. główna baza lub menedżer transakcji) wysyła żądanie PREPARE do wszystkich uczestników (np. baz danych lub węzłów). Każdy uczestnik: Wykonuje transakcję lokalnie (bez zatwierdzania), Zapisuje ją w dzienniku (logu) jako przygotowaną, Odpowiada koordynatorowi: READY (vote commit) – jeśli wszystko przebiegło poprawnie, NO (vote abort) – jeśli wystąpił problem. 🔹 Faza 2: Zatwierdzanie (Commit / Decision Phase) Koordynator podejmuje decyzję na podstawie odpowiedzi: Jeśli wszyscy uczestnicy odpowiedzieli READY → wysyła COMMIT (zatwierdź). Jeśli choć jeden uczestnik zgłosił NO → wysyła ABORT (anuluj). Uczestnicy: Odpowiednio zatwierdzają (commit) lub wycofują (rollback) transakcję lokalnie. Potwierdzają zakończenie operacji koordynatorowi.
141
Jak klasyfikujemy wymagania na system (MS)
- funkcjonalne - niefunkcjonalne - systemowe - domenowe
142
Podaj interpretacje pochodnej / całki oznaczonej (MW)
Pochodna funkcji w punkcie to miara szybkości zmiany tej funkcji w danym punkcie Przykładowo jeśli f(x) to droga w czasie to f'(x) to prędkość Całka oznaczona oznacza pole pod wykresem funkcji f(x) od x = a do x = b Przykład jeśli f(t) to prędkość w czasie to całka to droga przebyta od a do b
143
Kiedy stosujemy / niestosujemy normalizację w bazach danych (KH)
Kiedy stosujemy normalizację? W systemach transakcyjnych (OLTP) — gdzie ważna jest integralność i spójność danych oraz minimalizacja nadmiarowości. Przykład: systemy bankowe, systemy e-commerce, CRM. Gdy dane są często modyfikowane — normalizacja zapobiega problemom typu anomalie aktualizacji i usuwania. Kiedy chcemy mieć jasną strukturę danych — łatwiejsze zarządzanie i zrozumienie relacji między danymi. Kiedy normalizacja może być niewskazana? W systemach analitycznych (OLAP, hurtownie danych) — gdzie liczy się szybkość odczytu dużych ilości danych, a nie częste modyfikacje. Tu często stosuje się denormalizację w celu optymalizacji zapytań i wydajności. Gdy zależy nam na prostocie i szybkości zapytań — denormalizacja zmniejsza liczbę złączeń (JOIN), co przyspiesza dostęp do danych. W przypadku bardzo dużych baz danych, gdzie nadmiarowe dane są akceptowalne dla korzyści wydajności. Gdy system jest prosty i nie wymaga skomplikowanych relacji między tabelami.
144
Wyjaśnić pojęcie encji i jej zastosowanie
Encja to obiekt reprezentujący rzecz, osobę, zdarzenie lub pojęcie, o którym chcemy przechowywać dane w systemie informatycznym. Każda encja posiada atrybuty, czyli cechy opisujące ten obiekt. Zastosowanie encji: Modelowanie danych — encje są podstawowymi elementami diagramów ER, na których bazuje projektowanie struktury bazy danych. Tworzenie tabel w bazie danych — każda encja zwykle odpowiada jednej tabeli w bazie danych. Organizacja informacji — dzięki encjom system porządkuje dane w logiczne jednostki, ułatwiając zarządzanie i wyszukiwanie. Definiowanie relacji między danymi — encje mogą być powiązane ze sobą przez relacje (np. czytelnik wypożycza książkę).
145
Scharakteryzować język BPMN i jego charakterystyczne konstrukcje.(WD)
BPMN (Business Process Model and Notation) to standardowy język graficzny służący do modelowania procesów biznesowych. Umożliwia przedstawienie przepływu pracy w sposób zrozumiały zarówno dla analityków biznesowych, jak i dla programistów czy menedżerów. Charakterystyczne konstrukcje BPMN: Obiekty przepływu: Zdarzenia (Events): Reprezentują momenty lub zdarzenia w procesie, takie jak rozpoczęcie, zakończenie, lub pośrednie wydarzenia. Mogą być początkowe (startowe), końcowe (end), pośrednie (intermedialne). Aktywności (Activities): Reprezentują czynności lub zadania, które są wykonywane w ramach procesu. Mogą być zadaniami, podprocesami, transakcjami lub czynnościami wywoławczymi. Bramy (Gateways): Reprezentują decyzje lub rozgałęzienia w procesie. Mogą być bramami koniunkcyjnymi (AND), rozłącznymi (XOR), bramami równoległymi (OR) oraz bramami opartymi na zdarzeniach. Obiekty łączące: Przepływ sekwencji: Reprezentuje kolejność wykonywania czynności w procesie, pokazując kierunek przepływu od jednego elementu do następnego. Przepływ wiadomości: Reprezentuje komunikację między elementami procesu, np. między różnymi użytkownikami lub systemami. Asocjacja: Łączy elementy, które nie są bezpośrednio związane przepływem sekwencji, np. dokumenty, grupy, adnotacje z elementami procesu. Tory: Basen/Tor: Umożliwia grupowanie elementów procesu według uczestnika lub systemu, który wykonuje te czynności. Artefakty: Obiekt danych: Reprezentuje dane, które są używane w procesie. Grupa: Grupuje elementy procesu, które są ze sobą powiązane. Adnotacja: Dodaje komentarze lub wyjaśnienia do diagramu.
146
Zastosowania grafu w informatyce (WD)
Sieci komputerowe i telekomunikacyjne - Modelowanie topologii sieci (węzły = urządzenia, krawędzie = połączenia), - Wyznaczanie tras przesyłu danych (algorytmy trasowania). Bazy danych i modelowanie danych - Reprezentacja powiązań między danymi (np. grafowe bazy danych, RDF). Algorytmy i struktury danych - Znajdowanie najkrótszej ścieżki (algorytm Dijkstry), - Wykrywanie cykli, spójności, minimalnych drzew rozpinających. Analiza sieci społecznościowych - Modelowanie relacji między użytkownikami, - Analiza wpływów i społecznych klastrów. Planowanie i optymalizacja - Problem komiwojażera, planowanie tras, zarządzanie projektami. Grafy przepływu i kontrola programów - Modelowanie przepływu sterowania i danych w programach (np. grafy przepływu sterowania). Sztuczna inteligencja i uczenie maszynowe - Grafowe modele probabilistyczne, sieci neuronowe o topologii grafowej.
147
Jakie cechy powinien posiadać system rozproszony (gS)
- przezroczystość (nie widać rozporszenia) - niezawodność - skalowalność - wydajność - bezpieczeństwo - spójność danych - odporność na awarie - współbieżność
148
Czym różni się OLTP od OLAP (kmk)
OLTP — systemy transakcyjne Cel: Obsługa codziennych transakcji biznesowych. Charakterystyka: Duża liczba krótkich, prostych operacji (wstawianie, aktualizacja, usuwanie, odczyt pojedynczych rekordów). Wysoka wydajność zapisu i aktualizacji danych. Zapewnienie integralności i spójności danych w czasie rzeczywistym. Bazy normalizowane, aby unikać redundancji. OLAP — systemy analityczne Cel: Analiza dużych zbiorów danych, wspieranie decyzji biznesowych. Charakterystyka: Złożone, często długotrwałe zapytania analityczne i raportowe (sumy, średnie, wielowymiarowa analiza). Przetwarzanie danych historycznych i agregowanych. Bazy często denormalizowane (schemat gwiazdy lub płatka śniegu), aby przyspieszyć zapytania. Mniejsza liczba zapytań, ale bardzo złożonych.
149
Czym jest język programowania (WD)
Język programowania to formalny system służący do pisania programów komputerowych, które pozwalają na sterowanie działaniem maszyny — najczęściej komputera Rodzaje: Niskiego poziomu (np. assembler) — blisko sprzętu, bardziej skomplikowane w użyciu. Wysokiego poziomu (np. Python, Java, C++) — łatwiejsze w czytaniu i pisaniu, niezależne od sprzętu. Języki proceduralne — program składa się z procedur/funkcji (np. C). Języki obiektowe — organizacja kodu wokół obiektów i klas (np. Java, C++). Języki deklaratywne — opisują, co ma być zrobione, nie jak (np. SQL, Prolog).
150
Jakie są role i wydarzenia w scrum (kmk)
Role: Product Owner Scrum Master Zespół deweloperski Wydarzenia: Sprint Planning Daily Retrospektywa Sprint Review
151
Co to jest urządzenie cyfrowe i czym się różni od analogowego (MS)
Urządzenie cyfrowe Definicja: Przetwarza, przechowuje i przesyła informacje w postaci dyskretnych (skokowych) wartości, najczęściej jako ciąg zer i jedynek (sygnał cyfrowy) Urządzenie analogowe Definicja: Przetwarza sygnały ciągłe, które mogą przyjmować dowolne wartości w określonym zakresie (np. napięcie zmienia się płynnie)