Zagadnienia na egzamin licencjacki, studia niestacjonarne
2026-05-19 15:08:00

ZAGADNIENIA NA EGZAMIN LICENCJACKI Z INFORMATYKI (STUDIA NIESTACJONARNE)
Przedmioty informatyczne
- Języki Programowania I.
- Podstawowe typy danych w języku C.
- Instrukcje sterujące języka C.
- Struktura programu w języku C.
- Funkcje rekurencyjne (z przykładami).
- Zasięg zmiennych i funkcji w programach napisanych w języku C.
- Etapy kompilacji programów w języku C.
- Omów sposób reprezentacji napisów w języku C oraz podaj podstawowe funkcje standardowej biblioteki do przetwarzania napisów.
- Obsługa plików w języku C.
- Definiowanie złożonych typów danych w języku C (struktury, unie i pola bitowe).
- Alokacja pamięci w języku C.
- Omów wskaźniki w języku C. Związek między tablicami a wskaźnikami w języku C.
- Matematyka Dyskretna.
- Metoda indukcji matematycznej.
- Sposoby kodowania liczb w komputerze.
- Zasada szufladkowa Dirichleta.
- Liczba ciągów bez powtórzeń, z powtórzeniami, funkcji, podzbiorów, podzbiorów k-elementowych.
- Relacja kongruencji modulo, pierścień Zm. Omów metody szukania elementów odwrotnych w Zm.
- Podaj definicję oraz własności funkcji Eulera.
- Szyfrowanie asymetryczne - algorytm RSA.
- Sieci boolowskie – definicja oraz przykłady.
- Podaj definicję oraz własności funkcji parzystości.
- Drzewa i algorytmy przeszukiwania drzew, drzewa przeszukiwań binarnych.
- Rekurencja - przykłady algorytmów rekurencyjnych; rekurencyjne definiowanie funkcji.
- Grafy nieskierowane, skierowane, ich reprezentacja, przeszukiwanie wgłąb i wszerz, drzewa spinające.
- Języki Programowania II.
- Typy proste i obiektowe w języku Java.
- Wyjaśnij w kontekście programowania w języku Java użycie słów kluczowych: abstract, final i static.
- Omów sposoby zabezpieczania dostępu do komponentów klas i obiektów w Java.
- Omów na przykładach na czym polega polimorfizm w językach obiektowych.
- Do czego w języku Java służą pakiety i interfejsy?
- Omów sposoby tworzenia i synchronizacji wątków w języku Java.
- Omów na podstawie kolekcji podstawy programowania generycznego w Javie.
- Bazy Danych.
- Jakie znasz pojęcia klucza w teorii relacyjnych baz danych? Jakie słowa w SQL służą do zaznaczenia klucza?
- Jakie znasz warunki poprawności (więzy) dla tabel bazy danych?
- Omów pojęcie transakcji, jakie są główne własności transakcji, podaj przykłady negatywnych zjawisk gdy nie zastosowano transakcji.
- Jakie są negatywne strony istnienia redundancji w bazie danych. Podaj przykłady. Jakie są sposoby zwalczania redundancji?
- W jaki sposób język SQL realizuje operację rzutu relacji a w jaki sposób realizuje operację wyboru (obcięcia) relacji? Jakie jeszcze znasz operacje i ich sposób realizacji w SQL?
- Podaj trzy rodzaje związków rozpatrywane w teorii relacyjnych baz danych. W jaki sposób są one realizowane w języku SQL?
- Jakie problemy stwarza usuwanie w obecności klucza obcego, jakie istnieją rozwiązania?
- Algorytmy i Struktury Danych.
- Złożoność czasowa algorytmów sortowania.
- Drzewa poszukiwań binarnych (standardowe i czerwono-czarne): definicja i złożoność typowych operacji na nich wykonywanych.
- Strategia dziel i zwyciężaj, idea algorytmu zachłannego.
- Tablice z haszowaniem: idea haszowania i sposoby rozwiązywania konfliktów.
- Kopce binarne i ich zastosowania.
- Stosy i kolejki: definicja i typowe implementacje.
- Systemy Operacyjne.
- Podstawowe i rozszerzone prawa dostępu w Linux
- System plików Linuxa: rodzaje plików, struktura katalogów systemowych
- Powłoka w systemie operacyjnym, pliki startowe i zmienne środowiskowe powłoki Bash
- Zarządzanie kontami użytkowników i autoryzacją w Linux: pliki konfiguracyjne, moduł PAM, funkcja pojedynczego logowania (ang. single sign-on)
- Narzędzia do zarządzania dziennikami i monitorowania zdarzeń w Linux
- Konfiguracja i narzędzia systemu Windows: rodzaje plików występujących się w katalogu System32, rejestr systemu, menedżer zadań, msconfig
- Procesy i wątki w systemie operacyjnym, techniki synchronizacji procesów i wątków, komunikacja międzyprocesowa
- Szeregowanie procesów: program szeregujący, algorytmy szeregowania
- Zakleszczenie zasobów: warunki powstania, techniki i algorytmy usuwania i unikania
- Interoperacyjność systemów operacyjnych: standard POSIX, Windows Subsystem for Linux (WSL)
- Zarządzanie dyskami: formatowanie niskopoziomowe, formatowanie wysokopoziomowe, partycjonowanie, defragmentacja, macierze niezależnych dysków (RAID)
- Wirtualizacja, hipernadzorca i podstawowe typy hipernadzorcy, techniki wirtualizacji: pełna wirtualizacja, parawirtualizacja (paravirtualization)
- Techniki ataków na systemy operacyjne (rodzaje złośliwego oprogramowania i inne popularne techniki), sposoby zabezpieczenia systemów komputerowych przed atakami
- Teoretyczne Podstawy Informatyki.
- Wyrażenia regularne: definicja, przykłady wyrażeń oraz ich zastosowań.
- Automaty skończone deterministyczne i niedeterministyczne.
- Gramatyki bezkontekstowe i języki bezkontekstowe; zastosowania.
- Automaty ze stosem, deterministyczne i niedeterministyczne, ich związek z gramatykami bezkontekstowymi.
- Maszyna Turinga i klasa języków akceptowanych przez maszyny Turinga.
- Rozstrzygalność, języki rekurencyjnie przeliczalne i rekurencyjne.
- Techniki Internetowe.
- Omów strukturę poprawnego dokumentu HTML5. Wyjaśnij rolę elementów <!doctype html>, <html>, <head>, <body>, <meta charset>, <meta name="viewport"> oraz <title>. Podaj przykład, w jaki sposób struktura dokumentu wpływa na poprawne działanie strony.
- Wyjaśnij pojęcie semantyki w HTML. Omów zastosowanie elementów takich jak <header>, <nav>, <main>, <section>, <article>, <aside> i <footer>. Wskaż różnicę między użyciem elementów semantycznych a nadużywaniem elementu <div>.
- Omów formularze HTML jako sposób pobierania danych od użytkownika. Wyjaśnij rolę etykiet, pól formularza, przycisków, grupowania pól oraz atrybutów name, id, for, action i method. Wskaż, dlaczego poprawna budowa formularza ma znaczenie dla użyteczności i dostępności.
- Wyjaśnij, czym są selektory CSS, kaskada, dziedziczenie i specyficzność. Omów, w jaki sposób przeglądarka rozstrzyga konflikt między kilkoma regułami CSS odnoszącymi się do tego samego elementu. Podaj przykład takiego konfliktu.
- Omów model pudełkowy CSS. Wyjaśnij znaczenie pojęć content, padding, border i margin oraz różnicę między box-sizing: content-box i box-sizing: border-box. Podaj przykład, w którym wybór box-sizing wpływa na rozmiar elementu.
- Porównaj Flexbox i Grid jako techniki budowania układu strony. Wyjaśnij, czym różni się układ jednowymiarowy od dwuwymiarowego i podaj przykłady sytuacji, w których warto użyć każdej z tych technik.
- Wyjaśnij ideę Responsive Web Design. Omów rolę meta viewport, jednostek względnych, elastycznych układów, media queries oraz podejścia mobile first. Podaj przykład zmiany układu strony w zależności od szerokości ekranu.
- Omów rolę JavaScriptu jako języka wykonywanego w przeglądarce. Wyjaśnij znaczenie zmiennych let i const, podstawowych typów danych, operatorów porównania == i ===, instrukcji warunkowych, pętli oraz funkcji w kontekście obsługi interakcji użytkownika na stronie WWW.
- Wyjaśnij, czym jest DOM i jak JavaScript może modyfikować dokument HTML. Omów zastosowanie metod querySelector, querySelectorAll i getElementById oraz właściwości textContent, innerHTML, value i classList. Podaj przykład prostej interakcji użytkownika ze stroną.
- Omów obsługę zdarzeń, formularzy i danych zewnętrznych w JavaScript. Wyjaśnij działanie addEventListener, event.preventDefault(), walidacji danych formularza, formatu JSON, funkcji fetch(), składni async/await oraz obsługi błędów za pomocą try...catch.
- Architektura Systemów Komputerowych.
- Omów wykorzystanie rejestrów procesora na przykładzie programu przetwarzającego łańcuchy znaków.
- Podaj kilka przykładów instrukcji arytmetycznych i logicznych asemblera. Przedstaw na przykładzie działanie jednej z nich.
- Omów typy przerwań dostępnych w procesorach rodziny x86.
- Omów w jaki sposób procesor z rodziny x86 wspiera zarządzanie pamięcią wirtualną.
- Podstawy Inżynierii Oprogramowania.
- Omów podstawowe fazy tworzenia oprogramowania. Przedstaw i krótko scharakteryzuj co najmniej trzy modele cyklu życia oprogramowania, np. model kaskadowy, spiralny, przyrostowo-iteracyjny lub zwinny.
- Wyjaśnij, na czym polega opis realizowanego systemu informatycznego. Omów znaczenie celu systemu, zakresu funkcjonalnego, użytkowników, wymagań funkcjonalnych i niefunkcjonalnych oraz ograniczeń projektowych.
- Omów diagram przypadków użycia UML. Wyjaśnij jego notację, zastosowania oraz rolę aktorów, przypadków użycia i relacji między nimi. Zaproponuj diagram przypadków użycia dla programu symulującego bankomat.
- Omów diagram związków encji ERD. Wyjaśnij pojęcia encji, atrybutu, klucza głównego, związku oraz liczności relacji. Zaproponuj prosty diagram ERD dla wybranego systemu, np. wypożyczalni, sklepu internetowego albo systemu rezerwacji.
- Omów diagram aktywności UML. Wyjaśnij jego notację, zastosowania oraz sposób przedstawiania czynności, decyzji, przepływów, początku i końca procesu. Zaproponuj diagram aktywności dla procesu składania zamówienia lub wypłaty pieniędzy z bankomatu.
- Omów diagram sekwencji UML. Wyjaśnij jego notację, zastosowania oraz sposób przedstawiania obiektów, linii życia, komunikatów i kolejności interakcji. Zaproponuj diagram sekwencji dla typowego scenariusza pobierania pieniędzy z bankomatu.
- Omów diagram klas UML. Wyjaśnij jego notację, zastosowania oraz sposób przedstawiania klas, atrybutów, metod i relacji między klasami. Zaproponuj diagram klas dla prostego programu opisującego samochód.
- Omów diagram maszyny stanowej UML. Wyjaśnij jego notację, zastosowania oraz sposób przedstawiania stanów, przejść, zdarzeń i warunków. Zaproponuj diagram stanów dla automatu pobierającego należność i zwracającego resztę.
- Wyjaśnij rolę narzędzi CASE w analizie i projektowaniu systemów informatycznych. Omów, czym jest wspomaganie modelowania, dokumentowania projektu, generowania kodu oraz inżynieria w przód i w tył.
- Omów podstawowe znaczenie wzorców projektowych w inżynierii oprogramowania. Wyjaśnij, czym jest wzorzec projektowy, po co się go dokumentuje, jakie problemy pomaga rozwiązywać oraz w jaki sposób wzorce mogą wspierać projektowanie systemów informatycznych.
- Serwery Baz Danych.
- Omów mechanizmy zarządzania dostępem w PostgreSQL. Wyjaśnij różnicę między użytkownikiem a rolą, znaczenie poleceń GRANT i REVOKE, rolę schematów oraz mechanizm search_path. Wskaż, jak te elementy wpływają na bezpieczeństwo i organizację obiektów bazy danych.
- Omów podstawowe mechanizmy konfiguracji dostępu do serwera PostgreSQL. Wyjaśnij znaczenie plików pg_hba.conf i pg_ident.conf, metod uwierzytelniania oraz reguł określających, kto, skąd i do jakiej bazy może się połączyć.
- Omów realizację transakcji na poziomie serwera baz danych. Wyjaśnij, jak poziomy izolacji ANSI/ISO, blokady, mechanizm MVCC oraz dziennik transakcyjny wpływają na spójność danych, współbieżność pracy użytkowników i odtwarzanie stanu bazy po awarii.
- Omów mechanizmy transakcyjne w serwerach baz danych. Wyjaśnij własności ACID, poziomy izolacji ANSI/ISO, typowe zjawiska niepożądane, blokady jawne i niejawne, zakleszczenia oraz rolę mechanizmu MVCC.
- Wyjaśnij, jak można analizować problemy współbieżności w PostgreSQL. Omów znaczenie tabeli pg_locks, aktywnych sesji, jawnych blokad oraz sytuacji prowadzących do zakleszczeń. Podaj przykłady objawów problemów z blokadami w działającej bazie.
- Omów wybrane typy danych i mechanizmy PostgreSQL wykraczające poza klasyczny model relacyjny. Uwzględnij typ SERIAL, typy daty i czasu, typ tablicowy, typ JSON, typy złożone, typ domain, typy geometryczne, typy adresów internetowych oraz dziedziczenie tabel.
- Omów ideę programowania po stronie serwera bazy danych. Porównaj zastosowania funkcji, procedur, pakietów, kursorów i wyzwalaczy w systemach takich jak Oracle, MS SQL Server i PostgreSQL. Wskaż zalety oraz ryzyka przenoszenia logiki biznesowej do bazy danych.
- Wyjaśnij, w jaki sposób funkcje, procedury składowane i wyzwalacze mogą wspierać automatyzację pracy bazy danych. Omów przykładowe zastosowania: walidację danych, automatyczne uzupełnianie pól, audyt zmian, kontrolę spójności oraz reakcję na operacje INSERT, UPDATE i DELETE. Wskaż zalety i ograniczenia takiego podejścia.
- Omów podstawowe zadania administracyjne związane z utrzymaniem PostgreSQL. Wyjaśnij znaczenie indeksów, polecenia VACUUM, mechanizmu WAL, kopii zapasowych, replikacji danych oraz wybranych aspektów bezpieczeństwa, w tym ochrony przed SQL Injection.
- Porównaj klasyczne serwery baz danych z bazą wbudowaną SQLite. Omów różnice w architekturze, sposobie przechowywania danych, konfiguracji, współbieżności, zastosowaniach, administracji oraz odpowiedzialności za bezpieczeństwo i kopie zapasowe.
- Omów podstawowe różnice między relacyjnym, dokumentowym i grafowym modelem danych. Wyjaśnij pojęcia kolekcji i dokumentu w MongoDB oraz węzła, relacji i właściwości w Neo4j. Wskaż przykłady zastosowań, w których model dokumentowy lub grafowy może być wygodniejszy niż klasyczna baza relacyjna.
- Sieci Komputerowe.
- Model ISO-OSI stosu protokołów komunikacyjnych.
- Routing w sieciach rozległych - protokoły, metryki, konfiguracja.
- Klasyfikacja sieci komputerowych; przykłady.
- Wirtualne sieci LAN - istota, zastosowanie, technologie powiązane.
- Porównanie działania protokołów TCP i UDP.
- Protokoły poczty elektronicznej.
Przedmioty matematyczne
- Analiza Matematyczna.
- Podaj definicję granicy ciągu liczbowego. Sformułuj treść twierdzenia o trzech ciągach.
- Podaj definicję pochodnej funkcji jednej zmiennej. Sformułuj twierdzenie o wartości średniej Lagrange’a.
- Omów pojęcie ekstremum lokalnego funkcji jednej zmiennej. Podaj warunek konieczny i wystarczający jego istnienia.
- Podaj warunek konieczny zbieżności szeregu liczbowego oraz dwa kryteria jego zbieżności.
- Wyjaśnij pojęcia: funkcja pierwotna, całka nieoznaczona. Podaj wzór na całkowanie przez części.
- Podaj interpretację geometryczną całki oznaczonej. Sformułuj podstawowy wzór rachunku różniczkowego i całkowego.
- Algebra Liniowa.
- Podaj definicję postaci algebraicznej oraz definicję postaci trygonometrycznej liczby zespolonej. Podaj też własności działań na liczbach zespolonych w postaci trygonometrycznej.
- Podaj definicje i własności podstawowych działań na macierzach.
- Podaj definicję i własności macierzy odwrotnej oraz omów metody wyznaczania macierzy odwrotnej.
- Przedstaw podstawowe własności i metody obliczania wyznacznika macierzy kwadratowej.
- Omów różne metody rozwiązywania układów równań liniowych.
- Omów najważniejsze podprzestrzenie wektorowe związane z macierzą, sposoby wyznaczania tych podprzestrzeni, ich bazy i wymiary.
- Przedstaw podstawowe własności i zastosowania iloczynu skalarnego wektorów.
- Rachunek Prawdopodobieństwa i Statystyka Matematyczna.
- Podaj definicje miary probabilistycznej i omów jej własności.
- Podaj wzór Bayesa.
- Podaj definicję wartości oczekiwanej zmiennej losowej i wymień jej własności.
- Podaj definicję dystrybuanty zmiennej losowej (dyskretnej, ciągłej) i omów jej własności.
- Podaj definicję częstości dyskretnej (gęstości ciągłej) zmiennej losowej i omów jej własności.
- Podaj przykłady rozkładów dyskretnych (ciągłych) zmiennych losowych.
- Podaj definicję wartości oczekiwanej, wariancji i odchylenia standardowego zmiennej losowej (dyskretnej, ciągłej) i wymień jej własności.
- Omów miary położenia i zmienności danych.
- Omów graficzną prezentację danych.
- Analiza Danych i Metody Numeryczne.
- Omów zagadnienie interpolacji wielomianowej. Podaj algorytm Lagrange'a lub Newtona.
- Omów numeryczne rozwiązywanie równań nieliniowych, w szczególności metodę iteracji prostych lub metodę Newtona.
- Omów rozwiązywanie układów równań liniowych, w szczególności rozkład LU macierzy i jego zastosowanie do rozwiązywania układów równań.
- Omów metodę najmniejszych kwadratów, w szczególności metodę regresji liniowej.
- Omów metodę grupowania za pomocą algorytmu k-średnich.
- Omów metodę klasyfikacji za pomocą algorytmu k-najbliższych sąsiadów.
A.Borzyszkowski




