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