Příprava na státní závěrečnou zkoušku
Kompletní výkladový
materiál ke SZZ
Souvislý text ke všem jedenácti okruhům studijního programu Aplikovaná informatika. Psáno tak, abys každé téma pochopil do hloubky a dokázal ho u ústní zkoušky souvisle odvyprávět — ne jen poznat ve výběru z možností.
Základy odborné práce
Jak vypadá kvalitní odborná práce, jak se odkazuje na zdroje a jaký je rozdíl mezi měřením a porozuměním.
1.1Struktura vědecké práce
Odborná práce má vždy stejnou vnitřní logiku: vede čtenáře od otázky přes metodu k odpovědi. Tato linka je důležitější než konkrétní názvy kapitol. Standardní členění:
- Titulní strana, abstrakt, klíčová slova — abstrakt je shrnutí celé práce na pár vět (cíl, metoda, hlavní výsledek). Čtenář podle něj pozná, zda ho práce zajímá.
- Úvod — uvádí téma do kontextu, vysvětluje motivaci a důležitost, formuluje problém, cíle práce a výzkumné otázky nebo hypotézy.
- Teoretická část / rešerše literatury — shrnuje současný stav poznání (state of the art), definuje pojmy a kriticky srovnává existující zdroje. Není to opis učebnice, ale výběr toho, co potřebuju pro vlastní práci.
- Metodika — popisuje, jak jsem postupoval, aby byl výzkum reprodukovatelný: jaká data, jaké metody, jaké nástroje, jak jsem ověřoval. Cizí člověk by podle ní měl práci zopakovat.
- Praktická / analytická část — vlastní přínos: výsledky a jejich interpretace.
- Závěr — shrnuje, zda byly cíle naplněny, přiznává limity a navrhuje další směřování. Nezavádí nová fakta.
- Seznam literatury a přílohy.
V přírodovědných a technických oborech se používá zkratka IMRaD (Introduction, Methods, Results, and Discussion), což je totéž jádro.
1.2Bibliografická data a reference
Aby byla práce ověřitelná a poctivá, musí každá převzatá myšlenka odkazovat na svůj zdroj. Rozlišujeme dvě věci:
- Citace v textu — krátký odkaz na místě, kde myšlenku používám, např.
(Novák, 2020)nebo číslo[3]. - Bibliografický záznam (reference) — úplný popis zdroje v seznamu literatury, podle kterého ho lze dohledat: autor, název, rok, vydavatel, ISBN/DOI. V ČR řídí formát norma ČSN ISO 690.
Citace v textu a záznam v seznamu musí být provázané. Proč vůbec citujeme? Tři důvody: přiznat autorství cizích myšlenek, umožnit ověření, a odlišit vlastní přínos od převzatého.
Druhy zdrojů podle původu
- Primární — prvotní informace (originální výzkumná studie, zákon, měření, archivní dokument).
- Sekundární — zpracovává a komentuje primární zdroje (učebnice, monografie, přehledové články).
- Terciární — odkazuje a sumarizuje (encyklopedie, databáze, bibliografie).
V odborné práci preferujeme primární a recenzované sekundární zdroje, ne náhodné weby.
1.3Výzkum kvantitativní a kvalitativní
Dva základní přístupy k poznání, které se liší v tom, s čím pracují a jak uvažují.
| Kvantitativní | Kvalitativní | |
|---|---|---|
| Pracuje s | čísly, měřitelnými daty | významem, kontextem, slovy |
| Logika | deduktivní — testuji předem danou hypotézu | induktivní — teorie vzniká z dat |
| Vzorek | velký, reprezentativní | malý, do hloubky |
| Metody | dotazník, experiment, statistika | rozhovor, pozorování, případová studie |
| Cíl | zobecnitelnost, ověření | porozumění jevu |
Často se kombinují ve smíšeném (mixed-methods) designu: kvalitativní fáze nejprve vygeneruje hypotézy, které kvantitativní fáze ověří na velkém vzorku.
H0 a alternativní H1). Dobrá výzkumná otázka je specifická, zodpovězitelná dostupnými metodami a netriviální (kritéria FINER — Feasible, Interesting, Novel, Ethical, Relevant).Začni tím, že odborná práce vede čtenáře od otázky přes metodu k odpovědi — a vyjmenuj části (úvod → teorie → metodika → výsledky → závěr) s důrazem na reprodukovatelnost. Pak přejdi na citace: rozliš citaci v textu od bibliografického záznamu, zmiň normu ČSN ISO 690 a vysvětli plagiát. Závěrem postav proti sobě kvantitativní (čísla, dedukce, hypotézy, velký vzorek) a kvalitativní (význam, indukce, hloubka) výzkum a dodej, že je lze kombinovat.
1.4Druhy textů, citace a vědecké myšlení
Odborné texty se dělí podle účelu na vědecké (pro odborníky), populárně-naučné (pro veřejnost), učební (učebnice, skripta) a esejistické; podle původu obsahu na původní (nové poznatky), přehledové (rekapitulace) a komparativní (srovnání). Vědecký článek mívá strukturu IMRAD: Úvod (Introduction), Metody (Methods), Výsledky (Results) a Diskuse (Discussion).
Jaký je rozdíl mezi cílem práce a výzkumnou otázkou?
Co je peer review a proč zvyšuje důvěryhodnost zdroje?
Jaký je rozdíl mezi přímou citací a parafrází?
Co znamená reprezentativní vzorek?
Informační a komunikační technologie
Jak vlastně funguje internet — od adresování paketů přes spolehlivý přenos až po web v prohlížeči.
2.1Základní protokoly internetu
Komunikace na internetu je rozdělená do vrstev (model TCP/IP: aplikační, transportní, síťová, přístupová). Každá vrstva řeší jednu věc a spoléhá na vrstvu pod sebou. Klíčové protokoly:
IP — Internet Protocol (síťová vrstva)
Zajišťuje adresaci a směrování paketů mezi sítěmi. Je nespojový (connectionless) a nespolehlivý (best-effort) — nezaručuje doručení ani pořadí, to nechává na vyšších vrstvách.
- IPv4 — 32bitové adresy (cca 4,3 miliardy), zápis tečkově
192.168.0.1. Adresy došly, řeší se překladem NAT. - IPv6 — 128bitové adresy, hexadecimálně
2001:db8::1, prakticky neomezený rozsah, zjednodušená hlavička a automatická konfigurace.
TCP vs UDP (transportní vrstva)
Tady se rozhoduje, jestli chci jistotu, nebo rychlost.
| TCP | UDP | |
|---|---|---|
| Spojení | spojované — navazuje three-way handshake (SYN → SYN-ACK → ACK) | nespojované — rovnou pošle datagram |
| Spolehlivost | garantuje doručení i pořadí (sekvenční čísla, potvrzování ACK, opětovné odeslání) | nezaručuje nic |
| Režie | vyšší | nízká, rychlé |
| Použití | web, e-mail, přenos souborů | streaming, VoIP, hry, DNS |
ICMP
Přenáší řídicí a chybové zprávy v IP sítích — nedosažitelnost cíle, vypršení TTL, diagnostika. Využívají ho nástroje ping (echo request/reply) a traceroute. Nepřenáší uživatelská data.
DNS — Domain Name System
Hierarchický distribuovaný systém, který překládá doménová jména na IP adresy (z vse.cz udělá IP). Hierarchie: kořenové servery (.) → TLD (.cz) → autoritativní server domény. Proces (rekurzivní dotaz): klient se zeptá resolveru, ten se postupně doptává od kořene níž a výsledek uloží do cache podle TTL. Běží převážně na UDP portu 53.
Typy záznamů: A (IPv4), AAAA (IPv6), CNAME (alias), MX (mail), NS (name server), TXT.
2.2Aplikační nástroje internetu
Odesílání řeší SMTP (port 25/587) — mezi klientem a serverem i mezi servery navzájem. Příjem/čtení řeší POP3 (port 110 — stáhne a typicky smaže ze serveru) nebo IMAP (port 143 — zprávy zůstávají na serveru, synchronizace více zařízení). Zabezpečené varianty jdou přes TLS.
SSH — Secure Shell
Bezpečný vzdálený přístup a správa serverů přes šifrovaný kanál (port 22). Nahradil nešifrovaný Telnet. Umožňuje vzdálené příkazy, přenos souborů (SCP/SFTP) i tunelování. Autentizace heslem nebo bezpečnějším asymetrickým klíčovým párem.
WWW
Systém propojených hypertextových dokumentů. Funguje na modelu klient–server: prohlížeč pošle HTTP request na server určený URL, server vrátí response (HTML, data, stavový kód). HTTP je bezstavové — stav (přihlášení) se řeší cookies/session.
- Metody:
GET(získat),POST(odeslat),PUT,DELETE. - Stavové kódy:
2xxúspěch,3xxpřesměrování,4xxchyba klienta (404),5xxchyba serveru. HTTPS= HTTP přes TLS (šifrování, port 443).
2.3Základy webových informačních technologií
Webová stránka stojí na třech vrstvách s jasně oddělenou rolí: HTML (struktura a obsah), CSS (vzhled), JavaScript (chování v prohlížeči). Na serveru běží aplikační logika (PHP, Java, Node…) a databáze.
https://www.vse.cz:443/studium/szz?id=5#sekce — schéma (https://), host (www.vse.cz), port (:443), cesta (/studium/szz), dotaz (?id=5), fragment (#sekce).Moderní web odděluje frontend (klient) od backendu (server) a komunikuje přes API (typicky REST — operace nad zdroji pomocí HTTP metod, data ve formátu JSON).
Postav to po vrstvách. Začni IP na síťové vrstvě (adresace, best-effort, IPv4 vs IPv6). Nad ní transportní vrstva — TCP vs UDP jako jistota vs rychlost (handshake, potvrzování). Zmiň ICMP jako „servisní" protokol (ping). Pak DNS jako překladač jmen na IP. Aplikační nástroje shrň trojicí: e-mail (SMTP odesílá, POP3/IMAP přijímá), SSH (šifrovaná vzdálená správa) a WWW (klient–server, HTTP request/response, bezstavovost, HTTPS). Uzavři webovými technologiemi HTML/CSS/JS a oddělením frontendu od backendu.
2.4Adresování, HTTP a e-mailové protokoly
IPv4 adresa má 32 bitů; dělila se do tříd A/B/C a používá masku sítě k oddělení síťové a hostitelské části. Vyhrazené privátní rozsahy (10.x, 172.16–31.x, 192.168.x) se do internetu překládají přes NAT. Kvůli vyčerpání adres přichází IPv6 (128 bitů). TCP navazuje spojení trojcestným handshakem (SYN → SYN-ACK → ACK) a rozlišuje aplikace podle portů (HTTP 80, HTTPS 443, …).
GET (získat), POST (odeslat data), PUT (nahradit), DELETE (smazat), HEAD (jen metadata), OPTIONS. Stavové kódy: 1xx informativní, 2xx úspěch (200 OK, 201 Created), 3xx přesměrování (301), 4xx chyba klienta (404, 401), 5xx chyba serveru (500). Hlavičky nesou metadata (Content-Type, Host, Cache-Control). Verze: HTTP/1.1 (perzistentní spojení), HTTP/2 (multiplexing), HTTP/3 (nad QUIC/UDP).| Protokol | Účel |
|---|---|
| SMTP | odesílání e-mailu (mezi servery i od klienta) |
| POP3 | stažení pošty na zařízení (typicky ji smaže ze serveru) |
| IMAP | správa pošty přímo na serveru (synchronizace více zařízení) |
Technologie na straně serveru a správa relace
Dynamický obsah generují serverové technologie: CGI (historické), PHP, JSP (Java), ASP.NET, Node.js. Protože je HTTP bezstavové, stav relace se udržuje pomocí cookies (malá data v prohlížeči), session proměnných (stav na serveru, identifikovaný session ID) nebo Web Storage (localStorage/sessionStorage).
Co je NAT a proč vznikl?
Popiš TCP three-way handshake krok po kroku.
SYN (žádost o spojení se svým sekvenčním číslem), server odpoví SYN-ACK (potvrdí a pošle své číslo), klient potvrdí ACK. Tím je navázáno obousměrné spojení a synchronizována sekvenční čísla.K čemu slouží TTL?
Jak se řeší stav, když je HTTP bezstavové?
Proč DNS používá hlavně UDP, ale někdy i TCP?
Programování v Javě
Objektové paradigma jako způsob uvažování, testy jako součást návrhu a funkcionální prvky, které do Javy přibyly.
3.1Principy a aplikace objektového paradigmatu
OOP modeluje program jako objekty — entity, které mají stav (atributy) a chování (metody). Stojí na čtyřech pilířích:
- Zapouzdření (encapsulation) — data a metody, které s nimi pracují, jsou pohromadě; vnitřní stav je skrytý (
private) a přístupný jen přes definované rozhraní (gettery/settery). Chrání integritu objektu. - Dědičnost (inheritance) — třída přebírá a rozšiřuje atributy a metody rodiče (
extends); umožňuje znovupoužití kódu a zachycuje vztah „je druhem". - Polymorfismus — stejné rozhraní, různé chování. Přepsání metod (
@Override) a možnost zacházet s objekty potomků přes referenci rodiče. Díky tomu lze psát obecný kód, který funguje pro celou rodinu typů. - Abstrakce — modeluji jen podstatné vlastnosti a skrývám detaily (abstraktní třídy, rozhraní).
implements) — tím Java řeší absenci vícenásobné dědičnosti. Abstraktní třída popisuje „co je", může mít stav, konstruktory i hotové metody; dědit lze jen z jedné. Od Javy 8 mají rozhraní i default metody.3.2Vývoj řízený testy (TDD)
TDD obrací obvyklý postup: test píšu PŘED implementací. Cyklus Red–Green–Refactor:
- RED — napíšu test pro chování, které ještě neexistuje → test selže.
- GREEN — napíšu nejjednodušší kód, aby test prošel.
- REFACTOR — vyčistím kód beze změny chování; testy stále procházejí.
Přínos: kód je od začátku testovatelný a pokrytý, test slouží jako přesná specifikace chování, klesá počet regresí a zlepšuje se návrh (píšu jen to, co je potřeba). V Javě se používá JUnit (anotace @Test, metody assertEquals, assertTrue).
3.3Prvky funkcionálního programování (lambda výrazy a streamy)
Od Javy 8 lze psát i deklarativně — říct co chci, ne jak to udělat krok po kroku.
Lambda výrazy
Stručný zápis anonymní funkce: x -> x * 2. Implementuje funkcionální rozhraní — rozhraní s jedinou abstraktní metodou (SAM), např. Predicate<T>, Function<T,R>, Consumer<T>, Supplier<T>. Lambda tak umožňuje předávat chování jako parametr metody. Anotace @FunctionalInterface vynutí, že rozhraní má opravdu jen jednu abstraktní metodu.
Stream API
Zpracovává kolekce řetězením operací. Rozlišujeme mezioperace (filter, map, sorted — vrací stream, jsou líné) a terminální operace (collect, forEach, reduce, count — teprve ty spustí zpracování).
list.stream().filter(x -> x > 0).map(x -> x*x).collect(Collectors.toList()) — z čísel vyber kladná, umocni je a posbírej do seznamu. Čitelné, bez ručního cyklu, snadno paralelizovatelné přes parallelStream().Výhody funkcionálního stylu: méně boilerplate kódu, lepší čitelnost, snadná paralelizace a méně mutovatelného stavu (méně chyb).
Otevři čtyřmi pilíři OOP (zapouzdření, dědičnost, polymorfismus, abstrakce) a u každého řekni jednou větou k čemu je. Doplň rozdíl rozhraní vs abstraktní třída. Pak TDD jako „test první" a odříkej cyklus Red–Green–Refactor s JUnit a testovací pyramidou. Nakonec funkcionální prvky: lambda jako anonymní funkce implementující funkcionální rozhraní a Stream API s rozdílem líných mezioperací a terminálních operací — ukaž to na jednovětém příkladu filter → map → collect.
3.4Čtyři pilíře OOP a klíčové konstrukce
| Pilíř | Co znamená |
|---|---|
| Abstrakce | zachycení jen podstatných vlastností objektu, skrytí nepodstatného |
| Zapouzdření | data a metody pohromadě ve třídě; přístup k atributům jen přes metody (gettery/settery) — ukrývání implementace |
| Dědičnost | třída přebírá vlastnosti a metody předka a může je rozšiřovat (znovupoužití kódu, hierarchie) |
| Polymorfismus | stejné rozhraní, různé chování: přetížení (overloading, více metod téhož jména) a překrytí (overriding, potomek nahrazuje metodu předka) |
new); klíčové slovo this odkazuje na aktuální instanci. Volání metody = posílání zprávy objektu.@FunctionalInterface) má jedinou abstraktní metodu — lze ho dosadit lambda výrazem (např. Runnable, Comparator). Rozhraní mohou mít i default (implicitní) metody s tělem. JUnit je framework pro jednotkové testy: metody značené @Test ověřují chování pomocí asercí (assertEquals, assertTrue).Java běží na principu „write once, run anywhere": zdroj se zkompiluje do bytecode, který interpretuje virtuální stroj JVM na dané platformě. JDK (nástroje + kompilátor) ⊃ JRE (běhové prostředí) ⊃ JVM.
Jaký je rozdíl mezi přetížením (overloading) a přepsáním (overriding)?
Jaký je rozdíl mezi == a equals()?
== u objektů porovnává reference (zda jde o tentýž objekt v paměti). equals() porovnává obsahovou rovnost (pokud je správně přepsaná). U primitivních typů == porovnává hodnoty.Co je garbage collector?
Rozdíl mezi checked a unchecked výjimkou?
IOException) musí být ošetřeny nebo deklarovány (throws) — kompilátor to vynucuje. Unchecked (RuntimeException, např. NullPointerException) signalizují programátorské chyby a nemusí se deklarovat.Co je method reference?
String::toUpperCase místo s -> s.toUpperCase(). Zlepšuje čitelnost.Softwarové inženýrství
Jak velký software navrhujeme, dokumentujeme, opakovaně řešíme typické problémy a hlídáme kvalitu.
4.1UML modelování
UML (Unified Modeling Language) je standardní grafický jazyk pro modelování a dokumentaci softwaru a pro komunikaci mezi analytiky, vývojáři a zadavatelem. Diagramy se dělí na dvě skupiny:
| Strukturální (statika) | Behaviorální (dynamika) |
|---|---|
| Diagram tříd — třídy, atributy, metody, vztahy | Use case — aktéři a funkce systému |
| Diagram komponent, nasazení (deployment), objektový | Sekvenční — posloupnost zpráv mezi objekty v čase |
| Aktivit (workflow), stavový (stavy a přechody) |
4.2Návrhové vzory
Návrhové vzory (design patterns) jsou osvědčená obecná řešení opakujících se problémů v návrhu. Nejsou to hotové třídy, ale šablona řešení — a zároveň společný slovník mezi vývojáři. Klasická klasifikace GoF (Gang of Four):
- Tvořící (creational) — vytváření objektů: Singleton (jediná instance + globální přístup), Factory Method, Abstract Factory, Builder.
- Strukturální (structural) — skládání objektů: Adapter, Decorator, Facade, Composite, Proxy.
- Chování (behavioral) — komunikace a odpovědnosti: Observer, Strategy, Command, Iterator, State.
getInstance() zaručí jednu instanci (logger, konfigurace). Observer: vztah 1:N — když subjekt změní stav, automaticky notifikuje pozorovatele (událostní systémy, MVC).4.3Metodiky budování IS
Metodika říká, jak organizovat vývoj — v jakém pořadí a rytmu. Dva základní světy:
| Vodopád (waterfall) | Agilní (iterativní) |
|---|---|
| sekvenční fáze: analýza → návrh → implementace → testování → nasazení | krátké iterace (sprinty), po každé funkční přírůstek |
| vhodný při stabilních, jasných požadavcích | vhodný, když se požadavky vyvíjejí |
| pozdní zpětná vazba, špatně snáší změny | průběžná zpětná vazba a adaptace |
Nejznámější agilní rámec je Scrum: role (Product Owner, Scrum Master, vývojový tým), artefakty (Product Backlog, Sprint Backlog, přírůstek) a události (sprint, daily standup, review, retrospektiva). Agile Manifesto upřednostňuje fungující software a spolupráci se zákazníkem před vyčerpávající dokumentací.
4.4Řízení kvality při vývoji SW
Řízení kvality zajišťuje, že produkt splňuje požadavky a normy (model kvality ISO/IEC 25010: funkčnost, výkon, použitelnost, spolehlivost, bezpečnost, udržovatelnost, přenositelnost). Klíčové rozlišení:
Nástroje: code review, statická a dynamická analýza, automatizované testy, CI/CD (průběžná integrace a nasazování) a metriky (pokrytí testy, počet defektů, doba opravy).
Veď to jako životní cyklus: nejdřív UML jako jazyk pro návrh (rozděl strukturální vs behaviorální, jmenuj class/use-case/sekvenční a vysvětli asociace–agregace–kompozici). Pak návrhové vzory jako hotová řešení s kategoriemi GoF a dvěma příklady (Singleton, Observer). Dál metodiky — postav proti sobě vodopád a agile/Scrum (sekvenční vs iterativní, snášení změn). Uzavři kvalitou: rozdíl verifikace vs validace, ISO 25010 a CI/CD s automatickými testy.
4.5UML diagramy, vzory GoF a zralost procesů
UML diagramy se dělí na strukturální (diagram tříd, objektů, komponent, nasazení) a behaviorální (use case, sekvenční, aktivit, stavový). Diagram tříd má tři úrovně: konceptuální (doménový), designový (návrhový) a implementační.
| Kategorie GoF | Příklady a účel |
|---|---|
| Tvořící (creational) | Singleton (jediná instance), Factory Method (vytváření bez znalosti konkrétní třídy) |
| Strukturální (structural) | Adapter, Facade, Decorator (skládání objektů) |
| Chování (behavioral) | Observer (notifikace změn), Strategy, Mediator (prostředník) |
Co je refaktoring?
Jaký je rozdíl mezi Scrum a Kanban?
Co je MVC?
Co je antipattern?
Proč je důležité oddělit verifikaci od validace?
Databáze
Od abstraktního modelu reality až po SQL dotaz — jak data navrhnout tak, aby byla konzistentní a dotazovatelná.
5.1Analýza, návrh a realizace databáze
Návrh probíhá na třech úrovních abstrakce, od reality k technologii:
- Konceptuální model — nezávislý na technologii, zachycuje entity, atributy a vztahy (E-R diagram). Odpovídá na otázku „co ukládáme".
- Logický model — převod do relačního modelu: entity → tabulky, vztahy → cizí klíče, aplikace normalizace. Nezávislý na konkrétním DBMS.
- Fyzický model — implementace v konkrétním DBMS: datové typy, indexy, oddíly, optimalizace výkonu.
Postup tedy je: analýza požadavků → konceptuální → logický → fyzický → realizace pomocí DDL.
5.2Datové modelování
Klíče
Primární klíč (PK) jednoznačně identifikuje řádek — je unikátní a nesmí být NULL. Cizí klíč (FK) odkazuje na PK jiné tabulky a zajišťuje referenční integritu (hodnota FK musí existovat v odkazované tabulce nebo být NULL). FK realizuje vztahy mezi tabulkami.
Kardinalita vztahů
- 1:1 — lze sloučit nebo přidat FK.
- 1:N — FK se umístí na straně „N".
- M:N — nelze realizovat přímo. Vytvoří se vazební (asociační) tabulka se dvěma cizími klíči, čímž se M:N rozpadne na dva vztahy 1:N (např. student–předmět → tabulka zápis).
Normalizace
Proces strukturování tabulek, který odstraňuje redundanci a aktualizační anomálie rozkladem do více tabulek.
| Forma | Pravidlo |
|---|---|
| 1NF | všechny atributy atomické (žádné opakující se skupiny ani vícehodnotové sloupce) |
| 2NF | je v 1NF a každý neklíčový atribut závisí na celém primárním klíči (odstraní částečnou závislost) |
| 3NF | je v 2NF a žádný neklíčový atribut nezávisí tranzitivně na klíči přes jiný neklíčový atribut |
Cena za konzistenci je více JOINů; někdy se proto kvůli výkonu záměrně denormalizuje.
5.3Databázové jazyky
SQL se podle účelu dělí na čtyři skupiny:
- DDL (definice struktury):
CREATE,ALTER,DROP,TRUNCATE - DML (práce s daty):
SELECT,INSERT,UPDATE,DELETE - DCL (řízení přístupu):
GRANT,REVOKE - TCL (řízení transakcí):
COMMIT,ROLLBACK,SAVEPOINT
SELECT sloupce FROM tabulka JOIN … ON … WHERE podmínka GROUP BY … HAVING … ORDER BY … — INNER JOIN vrací jen shodné řádky z obou tabulek, LEFT JOIN všechny z levé a chybějící doplní NULL.COMMIT jsou změny trvalé i při výpadku).Jeď podle tří úrovní návrhu: konceptuální (E-R, entity a vztahy) → logický (tabulky, klíče, normalizace) → fyzický (typy, indexy). U modelování vysvětli PK a FK s referenční integritou, kardinalitu a hlavně rozklad M:N přes vazební tabulku, pak odříkej 1NF/2NF/3NF jednou větou každou. Závěr patří SQL: čtyři skupiny (DDL/DML/DCL/TCL), kostra SELECTu s JOINy a ACID vlastnosti transakce.
5.4Princip tří architektur (P3A), transakce a normální formy
Datový model se podle P3A upřesňuje ve třech vrstvách: konceptuální (model reality, technologicky nezávislý — entity, vztahy, atributy), logická (převod do relačních struktur) a fyzická (uložení, indexy, typy). Transformace konceptuálního do relačního modelu:
- každá entitní množina → jedna tabulka, identifikátor → primární klíč;
- vztah → cizí klíč; vztah M:N → vazební tabulka se dvěma cizími klíči;
- generalizace/specializace → jedna tabulka pro celou hierarchii, nebo tabulky pro podtypy, nebo kombinace.
COMMIT a ROLLBACK.Kategorie SQL a další dotazovací jazyky
SQL příkazy se dělí na DDL (definice — CREATE, ALTER, DROP), DML (manipulace — SELECT, INSERT, UPDATE, DELETE), DCL (oprávnění — GRANT, REVOKE) a TCL (transakce). Procedurální nadstavba PL/SQL (Oracle) umožňuje uložené procedury, funkce a triggery. Objektově-orientovaný JPQL dotazuje entity v Javě (JPA) nezávisle na DBMS; XQuery dotazuje XML přes výrazy FLWOR (For, Let, Where, Order by, Return).
WHERE), projekce (π — výběr sloupců, ~ SELECT), spojení (⋈ — JOIN), sjednocení, průnik, rozdíl. SQL je její praktická realizace.Jak index zrychluje dotaz a proč ho nedat na všechno?
INSERT/UPDATE/DELETE, protože se musí aktualizovat — proto se indexují hlavně sloupce, podle kterých se často filtruje a spojuje.Čím se liší BCNF od 3NF?
Co je pohled (view)?
SELECT dotazem. Neukládá data, ale zjednodušuje přístup, skrývá složitost a může omezit, co uživatel vidí (bezpečnost).Rozdíl mezi DELETE, TRUNCATE a DROP?
DELETE maže řádky podle podmínky (DML, lze vrátit v transakci). TRUNCATE rychle smaže všechny řádky (DDL). DROP odstraní celou tabulku včetně struktury.Co je trigger a uložená procedura?
INSERT) — používá se pro auditní záznamy či kontrolu integrity.Základy datové analytiky
Proč jsou data hodnotou až po zpracování, co znamená jejich kvalita a jak se měří výkon businessu.
6.1Přidaná hodnota dat pro business
Data umožňují rozhodování založené na faktech (data-driven decision making) místo intuice — odhalují trendy, neefektivity i příležitosti a umožňují personalizaci, predikci a optimalizaci. Hodnota roste se „zralostí" analytiky:
- Deskriptivní — co se stalo (reporty, dashboardy)
- Diagnostická — proč se to stalo (drill-down, korelace)
- Prediktivní — co se pravděpodobně stane (modely, ML)
- Preskriptivní — co bychom měli udělat (doporučení, optimalizace)
6.2Data a kvalita dat
Kvalita dat vyjadřuje, nakolik jsou data vhodná pro daný účel. Klíčové dimenze:
- Přesnost (accuracy) — odpovídají realitě
- Úplnost (completeness) — bez chybějících hodnot
- Konzistence — bez rozporů napříč zdroji
- Aktuálnost (timeliness) — nezastaralá
- Jedinečnost — bez duplicit
- Validita — soulad s formátem a pravidly
Špatná data = špatná rozhodnutí („garbage in, garbage out"). Řeší se čištěním dat (data cleansing), validací a data governance.
6.3Agregovaná data, dimenze, metriky/KPI, granularita
Agregovaná (odvozená) data vznikají sloučením a výpočtem z detailních dat agregačními funkcemi (SUM, AVG, COUNT) — např. denní tržby z jednotlivých transakcí. Zrychlují reporting, ale ztrácejí detail.
Začni tezí, že data sama o sobě nemají hodnotu — vzniká až zpracováním a interpretací (ukaž žebříček deskriptivní → diagnostická → prediktivní → preskriptivní a řetěz data → informace → znalost). Pak kvalita dat: vyjmenuj dimenze (přesnost, úplnost, konzistence…) a dodej „garbage in, garbage out". Nakonec rozliš dimenzi, metriku a KPI, vysvětli agregaci a granularitu s pravidlem, že z jemné jdeš na hrubou, ne zpět — a doplň ETL + datový sklad jako technické zázemí.
6.4Dimenze kvality dat a Balanced Scorecard
Kvalita dat se posuzuje ve více dimenzích: přesnost, úplnost, konzistence, aktuálnost, jedinečnost (bez duplicit) a platnost (soulad s pravidly). Příčiny nekvality: chyby při zadávání, duplicity, zastaralá data, špatná integrace. Zajištění: validace na vstupu, čištění (data cleansing), deduplikace, správa metadat a data governance.
Jaký je rozdíl mezi reportem a dashboardem?
Star schema vs snowflake schema?
Co je leading a lagging indikátor?
Proč nelze z agregovaných dat získat zpět detail?
Zpracování informací a znalostí
Jak stroje hledají vzory v datech, jak se ukládá a vyhledává text a jak popsat textový vzor formálně.
7.1Strojové učení a data mining
Strojové učení (ML) je obor, kde se algoritmus učí vzory z dat, místo aby měl pravidla naprogramovaná ručně. Tři základní typy:
- Učení s učitelem (supervised) — trénink na označených datech (vstup → známý výstup). Dělí se na klasifikaci (diskrétní třídy, např. spam/ham) a regresi (spojitá hodnota, např. cena).
- Učení bez učitele (unsupervised) — hledá strukturu v neoznačených datech: shlukování (clustering), redukce dimenze, asociační pravidla.
- Zpětnovazební učení (reinforcement) — agent se učí akcemi a odměnami v prostředí.
Data mining a CRISP-DM
Data mining (dobývání znalostí z databází, KDD) je objevování netriviálních, dosud neznámých a užitečných vzorů ve velkých datech. Standardní metodika CRISP-DM má 6 iterativních fází: (1) porozumění businessu, (2) porozumění datům, (3) příprava dat (čištění, transformace — nejnáročnější fáze), (4) modelování, (5) vyhodnocení, (6) nasazení.
7.2Ukládání a vyhledávání textových informací
Cílem je z kolekce dokumentů vrátit na dotaz ty relevantní. Postup:
- Předzpracování — tokenizace, odstranění stop slov, stemming/lemmatizace (převod na základní tvar).
- Invertovaný index — mapa slovo → seznam dokumentů, kde se vyskytuje; umožňuje rychlé vyhledání.
- Model vektorového prostoru — dokumenty i dotaz jsou vektory vah termů. Váha se počítá pomocí TF-IDF: term je důležitý, když je častý v dokumentu, ale vzácný v celé kolekci. Relevance = kosinová podobnost vektorů.
Pro velké objemy a flexibilní data slouží NoSQL databáze: klíč-hodnota (Redis), dokumentové (MongoDB), sloupcové (Cassandra), grafové (Neo4j). Často obětují část ACID za dostupnost a horizontální škálování (CAP teorém, princip BASE).
7.3Regulární výrazy
Regulární výraz (regex) je formální vzor popisující množinu řetězců — slouží k vyhledávání, validaci a manipulaci s textem. Základní konstrukce:
| Skupina | Příklady |
|---|---|
| Znakové třídy | [a-z], \d (číslice), \w (alfanum.), \s (bílý znak), . (libovolný) |
| Kvantifikátory | * (0+), + (1+), ? (0/1), {n,m} |
| Kotvy | ^ (začátek), $ (konec), \b (hranice slova) |
| Ostatní | a|b (alternativa), (…) (skupina) |
^\w+@\w+\.\w+$. Použití: validace vstupů, parsování logů, hromadné nahrazení (search-replace).7.4Evaluace modelů, indukce stromů a CRISP-DM
Aby model nebyl jen „naučený nazpaměť“, testuje se na datech, která neviděl. Metody evaluace:
| Metoda | Princip |
|---|---|
| Na trénovacích datech | nejslabší — neukáže přeučení (overfitting) |
| Holdout (70/30) | rozdělení na trénovací a testovací část |
| Křížová validace (k-fold) | data na k dílů; každý jednou testovací, zbytek trénink, výsledek se průměruje |
| Leave-one-out | testuje se vždy na jednom příkladu, opakuje n× |
| Bootstrap | výběr s navracením (~63 % trénink, ~37 % test) |
Modely vyhledávání v textu
Vedle vektorového modelu (TF-IDF, kosinová podobnost) existuje booleovský model — dotaz tvořený operátory AND, OR, NOT; vrací dokumenty, které podmínku přesně splní (bez řazení podle relevance). Jeho omezení (vše-nebo-nic) zmírňuje fuzzy rozšíření (částečná příslušnost) a právě vektorový model (řazení podle míry shody). Operátor AND zvyšuje přesnost, OR zvyšuje úplnost.
Uveď příklad klasifikace a regrese.
Co znamenají support, confidence a lift u asociačních pravidel?
Proč se dělá stemming/lemmatizace?
Kdy zvolit NoSQL místo relační databáze?
Co je to klasifikační úloha strojového učení a jaké vhodné metody znáte?
V čem spočívá rozdíl mezi rozhodovacími stromy a neuronovými sítěmi?
Jaké úlohy dobývání znalostí znáte a v čem se liší?
Jaké typy modelů pro klasifikační úlohu?
Vysvětlete shlukování?
Co je to explorativní úloha ve strojovém učení?
Jaké metody strojového učení by vám mohly pomoct s vyhodnocením výsledků (rozsáhlejšího) dotazníkového šetření?
V čem spočívá rozdíl mezi stromy a neuronovými sítěmi při klasifikační úloze?
Rozděl okruh na tři pilíře. ML: tři typy (s učitelem / bez učitele / zpětnovazební), u prvního klasifikace vs regrese, zmiň overfitting; data mining doplň metodikou CRISP-DM a příkladem (rozhodovací strom, asociační pravidla). Vyhledávání textu: předzpracování → invertovaný index → vektorový model s TF-IDF a kosinovou podobností, vyhodnocení přes precision/recall a F1. Regulární výrazy: vysvětli, že jde o formální vzor, a ukaž znakové třídy, kvantifikátory a kotvy na příkladu e-mailu.
IT Governance
Kdo určuje směr IT a kdo ho vykonává, jak měřit hodnotu IT a co přinášejí rámce COBIT a ITIL.
8.1Rozdíl mezi Governance a Management
Tohle je jádro celého okruhu — nezaměnit. Governance (správa vlastníky / vrcholovým vedením) stanovuje směr: vyhodnocuje potřeby, rozhoduje o prioritách a investicích, nastavuje pravidla a monitoruje výkon a soulad. Management tento směr naplňuje: plánuje, buduje, provozuje a monitoruje činnosti.
| Governance | Management | |
|---|---|---|
| Otázka | co a proč (rozhoduje) | jak (vykonává) |
| Kdo | vrcholové vedení / správní rada | výkonný management |
| COBIT | EDM: Evaluate, Direct, Monitor | PBRM: Plan, Build, Run, Monitor |
8.2Klíčové oblasti Enterprise Governance of IT
EGIT zajišťuje, že IT podporuje strategii organizace a vytváří hodnotu. Pět klíčových oblastí (Van Grembergen / De Haes):
- Strategický soulad (alignment) — propojení IT a business strategie
- Dodávání hodnoty (value delivery) — IT přináší slíbené přínosy
- Řízení rizik — identifikace a ošetření IT rizik
- Řízení zdrojů — efektivní využití lidí, dat, aplikací, infrastruktury
- Měření výkonu — sledování a vyhodnocení (např. Balanced Scorecard)
Realizuje se kombinací struktur (role, výbory), procesů a vztahových mechanismů (komunikace mezi IT a businessem).
8.3Základní principy COBIT 5
COBIT 5 je rámec pro governance i management podnikového IT. Pět principů:
- Naplňování potřeb stakeholderů — kaskáda cílů od potřeb stakeholderů přes podnikové a IT cíle k procesům.
- Pokrytí podniku jako celku (end-to-end) — nejen IT, ale celá organizace.
- Jednotný integrovaný rámec — sjednocení s ITIL, ISO atd.
- Holistický přístup — 7 enablerů (principy/politiky, procesy, struktury, kultura, informace, služby/infrastruktura, lidé/dovednosti).
- Oddělení governance od managementu.
COBIT odlišuje doménu governance (EDM) od čtyř domén managementu: APO (Align, Plan, Organise), BAI (Build, Acquire, Implement), DSS (Deliver, Service, Support), MEA (Monitor, Evaluate, Assess).
8.4Na co reaguje ITIL 4 a rozdíly vůči ITIL v3
ITIL je rámec pro řízení IT služeb (ITSM). ITIL 4 reaguje na moderní trendy: agilní vývoj, DevOps, cloud, potřebu rychlosti a spolutvorby hodnoty.
| ITIL v3 | ITIL 4 |
|---|---|
| životní cyklus služby + 26 procesů | Service Value System (SVS) a Service Value Chain — end-to-end tok tvorby hodnoty |
| „procesy“ | 34 praktik (practices) širšího záběru |
| — | 7 řídicích principů (např. „zaměř se na hodnotu“, „začni tam, kde jsi“, „postupuj iterativně se zpětnou vazbou“) |
| spíš rigidní sekvence | spolutvorba hodnoty, integrace s Agile/DevOps/Lean |
8.5Oblasti EGIT, zralost a vztah rámců
Enterprise Governance of IT se zaměřuje na dvě hlavní oblasti: soulad (conformance) — dodržování pravidel, řízení rizik a kontrola — a výkonnost (performance) — tvorba hodnoty, strategie a měření přínosů.
EDM (Evaluate, Direct, Monitor) — a čtyři domény managementu: APO (Align, Plan, Organise), BAI (Build, Acquire, Implement), DSS (Deliver, Service, Support), MEA (Monitor, Evaluate, Assess). Doplňky Val IT (hodnota) a Risk IT (rizika) jsou v COBIT 5 integrovány.| Rámec / norma | K čemu slouží |
|---|---|
| COBIT | governance i management IT — co řídit |
| ITIL | řízení IT služeb (ITSM) — jak provozovat |
| ISO/IEC 27001 | systém řízení bezpečnosti informací (ISMS) |
| ISO/IEC 20000 | certifikovatelná norma pro ITSM |
Co je kaskáda cílů v COBIT?
Jmenuj čtyři manažerské domény COBIT.
Co je SLA?
Uveď příklad řídicího principu ITIL 4.
Proč je důležité oddělit governance od managementu?
Otevři jednou silnou větou: governance určuje směr (co a proč), management ho vykonává (jak) — a podlož to COBIT zkratkami EDM vs PBRM. Pak EGIT jako pět oblastí kolem tvorby hodnoty (alignment, value, risk, resources, performance). COBIT 5 odříkej jako pět principů (kaskáda cílů, end-to-end, integrace, enablery, oddělení governance/managementu). Uzavři ITIL: na co ITIL 4 reaguje (Agile/DevOps/cloud) a hlavní posun od životního cyklu/procesů v3 k SVS, praktikám a řídicím principům ve 4.
Podnikové informační systémy
Klíčové aplikace, které řídí chod firmy, jak se zavádějí a jaké přinášejí přínosy i rizika.
9.1Klíčové aplikace — ERP, CRM, BI, SCM, MES
Podnikové IS pokrývají různé oblasti firmy a vzájemně se integrují:
- ERP (Enterprise Resource Planning) — jádro; integruje finance, účetnictví, výrobu, sklad, nákup a HR nad jednou databází.
- CRM (Customer Relationship Management) — řízení vztahů se zákazníky: obchod, marketing, servis, historie kontaktů.
- BI (Business Intelligence) — sběr, integrace a analýza dat pro rozhodování (datové sklady, reporty, dashboardy, OLAP).
- SCM (Supply Chain Management) — řízení dodavatelského řetězce od dodavatelů přes výrobu po distribuci (logistika, zásoby).
- MES (Manufacturing Execution System) — řízení a sledování výroby na dílenské úrovni v reálném čase; propojuje ERP s výrobními stroji.
9.2Implementace podnikových IS
Zavedení ERP/IS je náročný projekt. Fáze: výběr řešení (poptávka, výběrové řízení) → analýza procesů → návrh a konfigurace/customizace → migrace dat → testování → školení → nasazení → podpora provozu.
Strategie nasazení
| Strategie | Charakter |
|---|---|
| Big bang | vše najednou — rychlé, ale rizikové |
| Fázové | po modulech/lokalitách — bezpečnější, delší |
| Paralelní běh | starý i nový souběžně — nejbezpečnější, nákladné |
9.3Přínosy, rizika a trendy
| Přínosy | Rizika |
|---|---|
| integrace dat a procesů (jeden zdroj pravdy) | vysoké náklady a délka projektu |
| automatizace, vyšší efektivita | odpor uživatelů, špatné řízení změny |
| lepší rozhodování a kontrola | závislost na dodavateli (vendor lock-in) |
| standardizace procesů | nekvalitní data, bezpečnostní rizika |
Trendy: cloud a SaaS ERP místo on-premise, mobilní přístup, integrace AI/ML a prediktivní analytiky, propojení s IoT (Průmysl 4.0), automatizace přes RPA, low-code/no-code rozšíření a otevřená API.
9.4Moduly ERP, BI architektura a etapy zavedení
ERP se skládá z modulů: logistika (nákup, sklad), výroba (plánování přes MRP/MRP II), finance a účetnictví, HR a prodej — vše nad jednou databází. SCM řídí dodavatelský řetězec, CRM vztahy se zákazníky, MES dílenskou výrobu v reálném čase.
SOA, cloud a typy aplikací
SOA (Service-Oriented Architecture) skládá systém z volně provázaných služeb; moderní variantou jsou mikroslužby. Cloud nabízí tři modely: IaaS (infrastruktura), PaaS (platforma), SaaS (software jako služba) — podle nasazení privátní/veřejný/hybridní. Aplikace dělíme na transakční (OLTP — mnoho krátkých zápisů) a analytické (OLAP — složité dotazy nad velkými objemy).
Proč firmy raději přebírají best practices než customizují?
Co je vendor lock-in a jak ho zmírnit?
Jaký je rozdíl mezi CRM a ERP?
Co přináší Průmysl 4.0?
Proč je migrace dat rizikovou fází?
Začni přehledem pěti klíčových aplikací a hned řekni, jak do sebe zapadají (ERP jako páteř, CRM ven, SCM dozadu, MES dolů, BI nad tím). Pak implementace: jmenuj fáze projektu, tři strategie nasazení (big bang / fázové / paralelní) a klíčové dilema customizace vs best practices, dodej kritické faktory úspěchu. Nakonec postav přínosy proti rizikům a uzavři trendy — cloud/SaaS, AI, IoT a Průmysl 4.0.
Analýza a návrh informačních systémů
Jak propojit svět businessu se světem IT a jak srozumitelně popsat, jak organizace funguje.
10.1Propojení IT a businessu
Business-IT alignment znamená soulad IT strategie, služeb a investic s cíli businessu tak, aby IT vytvářelo hodnotu, ne bylo jen nákladovým střediskem. Každá IT investice by měla mít jasnou vazbu na business cíl.
Roli prostředníka hraje business analytik, který překládá potřeby businessu do požadavků na systém. Klíčové je sdílet společný jazyk — modely a srozumitelně zapsané požadavky.
10.2Modelování business procesů
Business proces je posloupnost činností, které mění vstupy na výstup s hodnotou pro zákazníka. Modelování zachycuje, jak organizace funguje dnes (as-is) a jak by měla (to-be) — slouží k analýze, optimalizaci, automatizaci a komunikaci.
BPMN — Business Process Model and Notation
Standardní grafická notace pro procesy. Hlavní prvky:
- Události (kroužky) — start, mezikrok, konec
- Aktivity / úkoly (zaoblené obdélníky) — co se dělá
- Brány / gateways (kosočtverce) — větvení:
XOR(výhradní volba),AND(paralelní),OR - Sekvenční toky (šipky) — pořadí
- Plavecké dráhy (pools a lanes) — kdo činnost vykonává
Procesy modelované v BPMN lze i automatizovat přes procesní engine.
include/extend.10.3Metodika MMDIS a procesní modelování
MMDIS (Multidimensional Management and Development of Information Systems) je metodika budování IS založená na multidimenzionalitě — na IS se dívá současně z více dimenzí, které je nutné řešit ve vzájemné vazbě. Deset obsahových dimenzí:
| Zkratka | Dimenze |
|---|---|
| inf | data / informace (datová architektura) |
| pro | funkce / procesy (procesní architektura) |
| org | organizační a legislativní aspekty |
| pra | pracovní, sociální a etické aspekty |
| sw / hw | software / hardware |
| eko | ekonomické a finanční aspekty |
| met / dok / mng | metody / dokumenty / řízení prací fáze |
Váha dimenzí se mění podle fáze: organizační a ekonomická dimenze dominují v úvodních fázích, SW a HW v závěrečných. Fáze zhruba: úvodní studie → globální analýza a návrh → detailní analýza a návrh → implementace.
Co je stínové IT (shadow IT) a proč je problém?
Co znamenají brány XOR a AND v BPMN?
Co je as-is a to-be model?
Jak souvisí use case s funkčními požadavky?
Proč firma potřebuje business analytika?
Jaké je propojení IT a byznysu? Co znamená pojem digital transformation?
Najděte ve Vašem „relačním“ modelu potenciální nedostatky (co nežádoucího model připouští). Jaké jsou možné přístupy k eliminaci takových nedostatků?
NOT NULL, UNIQUE, CHECK, cizí klíče pro referenční integritu a správně nastavená kardinalita. Objektový diagram na úrovni instancí pomůže takové slabiny na konkrétním příkladu odhalit.Jaké byste viděl možnosti využití umělé inteligence v oblasti bezpečnosti? Nejdříve charakterizujte oblast bezpečnosti informačních systémů. Byl by vhodný obecný ChatGPT, nebo by to chtělo specializovaný nástroj (problematika detekce škodlivých mailů)?
Do čeho může účetní software přesahovat u větších firem?
Existuje standardní postup pro posuzování užitnosti ERP v širším kontextu? Či obecně pro jakýkoliv software podporující fungování firem?
Říká vám něco pojem podniková architektura (enterprise architecture)? Znáte pro ni nějaké standardy?
Co obnáší budování podnikových informačních systémů?
Jaké metody modelování pro podnikové informační systémy znáte?
Konceptuální či class diagramy — jaké znáte další typy diagramů užitečné při vývoji informačních systémů?
K čemu může být užitečný objektový diagram (na úrovni instancí)? Čím vás může „překvapit“ oproti konceptuálnímu modelu?
Jaké metody pro systematickou analýzu údajů a vztahů mezi nimi znáte?
Jaké znáte typy modelování při vývoji informačního systému? V jaké fázi vývojového cyklu se používají?
Jaké má informační systém dimenze?
Jaký je rozdíl mezi datovým a procesním modelem?
Jaké architektury návrhu datového modelu znáte (princip 3 architektur)? Jaké nástroje by vám mohly pomoci? Jaké typy modelů znáte?
Jak jsou realizovány vztahy mezi entitami v relačních databázích?
UNIQUE. Platnost hlídá referenční integrita — cizí klíč musí odkazovat na existující záznam.Jak byste využil zkušenosti s fenoménem sociálních sítí v podnikovém informačním systému?
Začni myšlenkou, že IT má vytvářet hodnotu pro business, ne existovat samo pro sebe — a jako nástroj propojení uveď podnikovou architekturu (business → aplikace → technologie, TOGAF/ArchiMate) a roli business analytika. Zmiň rozdíl funkčních a nefunkčních požadavků. Pak přejdi na modelování procesů: definuj business proces, rozliš as-is/to-be a popiš BPMN (události, aktivity, brány, plavecké dráhy). Doplň use case jako pohled uživatele na funkce systému.
Bezpečnost informačních systémů
Jak chránit data a systémy: kryptografie, ověření identity, zabezpečení sítě a webových aplikací.
11.1Kryptografie
Základ ochrany dat. Tři stavební kameny:
- Symetrická šifra — jeden sdílený klíč pro šifrování i dešifrování (AES). Rychlá, vhodná pro velké objemy; problém je bezpečná distribuce klíče.
- Asymetrická šifra — pár klíčů: veřejný (šifruje) a soukromý (dešifruje), RSA/ECC. Řeší distribuci klíčů a umožňuje podpisy; je pomalejší.
- Hašovací funkce — jednosměrný otisk dat (SHA-256). Slouží k integritě a ukládání hesel; ze otisku nelze získat původní vstup.
11.2Certifikáty, digitální podpis a eIDAS
Digitální podpis využívá asymetrickou kryptografii obráceně: autor „zašifruje“ otisk zprávy svým soukromým klíčem; kdokoli ho ověří veřejným klíčem. Zajišťuje autenticitu, integritu a nepopiratelnost.
Certifikát (X.509) váže veřejný klíč ke konkrétní identitě a podepisuje ho certifikační autorita (CA), které důvěřujeme — tím vzniká řetězec důvěry. Nařízení eIDAS (EU) upravuje elektronickou identifikaci a podpisy a rozlišuje jejich úrovně (prostý, zaručený, kvalifikovaný).
11.3Identifikace, autentizace a hesla
Nezaměnit pojmy: identifikace (kdo tvrdí, že jsem — uživatelské jméno), autentizace (ověření, že to opravdu jsem — heslo, token), autorizace (co smím dělat — oprávnění).
Faktory autentizace: něco, co znám (heslo), mám (token, telefon), jsem (biometrie). Kombinace více faktorů = MFA (vícefaktorová autentizace) — výrazně zvyšuje bezpečnost.
11.4Zabezpečení sítě a aplikací
- Firewall — filtruje síťový provoz podle pravidel.
- Segmentace sítě a DMZ — oddělení zón; veřejně dostupné servery se umístí do demilitarizované zóny, vnitřní síť je oddělená.
- IDS/IPS — detekce a prevence průniků.
- Zero Trust — princip „nevěř nikomu, ověřuj vše“; žádný požadavek není důvěryhodný jen proto, že přichází z vnitřní sítě.
11.5Šifry, řízení přístupu a zabezpečení sítě (detail)
Symetrické šifry se dělí na blokové (pracují s bloky pevné délky, AES 128 b) a proudové (po bitech/znacích). U blokových je slabinou opakování stejného klíče na bloky — režim ECB proto prozrazuje vzory, lepší je CBC, který každý blok kombinuje s předchozím a startuje inicializačním vektorem. Teoreticky neprolomitelná je Vernamova šifra (klíč stejně dlouhý jako zpráva, náhodný, jednorázový).
Autentizace a modely řízení přístupu
Faktory autentizace: něco, co vím (heslo), mám (token, čipová karta) a jsem (biometrie); jejich kombinace je MFA. Jednorázová hesla (OTP) platí jen pro jedno přihlášení (odolná vůči odposlechu). SSO (např. Kerberos) přihlásí uživatele jednou pro více aplikací. Hesla se ukládají jako otisk z pomalé funkce se solí (MD5 je prolomená, nepoužívat).
| Model | Princip |
|---|---|
| DAC | vlastník objektu řídí přístup (Unix, Windows) |
| MAC | přístup vynucen centrálními pravidly (silně bezpečné systémy) |
| RBAC | práva podle rolí uživatele |
| Bell-LaPadula | důvěrnost: „no read up, no write down“ |
| Biba | integrita: „no read down, no write up“ |
| ACL | seznam u objektu: kdo a jakou operaci smí |
11.6Segmentace sítě a její provoz z pohledu bezpečnosti
Princip segmentace je rozdělit síť do zón s různou úrovní důvěry a řídit provoz mezi nimi. Tím se omezí laterální pohyb útočníka (kompromitace jednoho serveru neznamená přístup k celé síti) a uplatní se princip obrany do hloubky (defense in depth) — více nezávislých vrstev ochrany.
Firewall
Firewall řídí a zabezpečuje provoz mezi sítěmi s různou úrovní důvěryhodnosti podle definovaných pravidel. Strategie pravidel je buď „zakázat vše, povolit výjimky“ (bezpečnější) nebo „povolit vše, zakázat něco“.
| Kategorie | Princip a vlastnosti |
|---|---|
| Paketový filtr | filtruje pakety podle adres a portů (4. vrstva OSI); velmi rychlý, ale nevidí obsah a hůř hlídá celé spojení |
| Aplikační proxy (brána) | kontrola na 7. (aplikační) vrstvě; sítě jsou zcela oddělené, server nevidí adresu klienta (funguje i jako NAT); vysoká bezpečnost, ale HW náročné a proxy se píše pro každý protokol zvlášť |
| Kombinovaný | filtr + proxy (+ filtr); včetně vnitřních firewallů uvnitř organizace |
drop (tiše zahodí), reject (pošle ICMP zprávu o nedostupnosti) a tcp reset (pošle TCP RST).DMZ a zóny důvěry
DMZ (demilitarizovaná zóna) je oddělená podsíť pro veřejně dostupné servery (web, mail), umístěná mezi vnější a vnitřní firewall — útočník, který prolomí server v DMZ, se nedostane rovnou do vnitřní sítě. Uvnitř se síť dále dělí na zóny (např. přes VLAN) podle citlivosti.
Proxy a překlad adres (NAT)
| Prvek | Funkce |
|---|---|
| Forward proxy | blíže klientovi; vyřizuje požadavky za něj, kešuje, filtruje přístup ven |
| Reverzní proxy | před servery; rozkládá zátěž, skrývá a chrání vnitřní servery, zpřístupňuje je zvenčí |
| NAT | překládá vnitřní (privátní) adresy na vnější; šetří IPv4 a skrývá vnitřní síť — server vidí jen vnější adresu |
IDS / IPS, honeypot a WAF
IDS (detekce průniku) a IPS (prevence průniku) hledají vzorce útoků pomocí databáze signatur a heuristiky — na rozdíl od firewallu zachytí i útok zevnitř sítě. Dělí se na host-based (agent na stanici sleduje systémová volání a soubory) a network-based (senzory na síťových prvcích analyzují provoz). Reakce je buď pasivní (IDS — jen alert a log) nebo aktivní (IPS — zásah: zablokuje provoz, resetuje spojení, přenastaví firewall).
Šifrované tunely: VPN, IPsec a TLS
VPN simuluje privátní síť přes veřejný internet — totožnost stran se ověří certifikáty a veškerá komunikace je šifrována; typicky pro vzdálený přístup do firemní sítě přes VPN server (s NATem). IPsec zabezpečuje už síťovou vrstvu (každý IP datagram), takže chrání jakoukoli aplikaci bez její úpravy: protokol AH (autentizace a integrita) a ESP (šifrování), v režimu transport (jen obsah) nebo tunel (celý paket s novou hlavičkou). SSL/TLS naopak leží mezi transportní a aplikační vrstvou (vyžaduje podporu v aplikaci), ověří zpravidla server certifikátem a šifruje spojení — základ HTTPS.
Co je triáda CIA?
Proč se hesla solí a nehashují jen tak?
Jaký je rozdíl mezi autentizací a autorizací?
Jak probíhá šifrování zpráv?
Správa licencí (OSS i komerční) ve velké společnosti. Základní způsoby platby za komerční software.
Jaká je ochrana zvlášť citlivých dat v různých fázích (přenos, archivace atd.)? Co je forward secrecy?
Jaké znáte formáty pro ukládání dat, která se vyskytují na webu? Porovnejte vybrané formáty.
Jaké třídy složitosti algoritmů rozlišujete?
O(1) konstantní, O(log n) logaritmická (binární vyhledávání), O(n) lineární, O(n log n) (efektivní řazení), O(n²) kvadratická (vnořené cykly), O(2ⁿ) exponenciální a O(n!) faktoriálová. Čím vyšší třída, tím hůř algoritmus škáluje; souvisí s tím teorie tříd P a NP.Jakým způsobem může firma posuzovat cloudová řešení? Jaké jsou možnosti způsobů placení?
Jaké jsou rozdíly mezi cloudovými a on-premise řešeními? Jak jsou cloudová řešení využívána v rámci malých účetních firem?
Z hlediska ukládání dat v cloudu — o co by se měla účetní firma zajímat?
Jaké regulace musí být splněny například v Evropě z hlediska ukládání citlivých dat?
Jaké jsou základní cíle kybernetické bezpečnosti?
Jaké jsou základní typy útoků na hesla?
Jaké jsou možnosti ochrany hesel?
Jaké znáte způsoby/metodiky vývoje aplikací?
Jaké jsou jejich výhody/nevýhody?
Co způsobuje, že AI modely halucinují?
Jaké jsou základní principy klient server aplikace?
Jaké znáte konkrétní nástroje na klientské straně?
HTML (struktura), CSS (vzhled) a JavaScript (chování), nad nimi frameworky React, Vue nebo Angular; pro mobil nativní (Swift, Kotlin) nebo hybridní (React Native, Flutter). Klient zajišťuje vykreslení, interakci a základní validaci vstupů.Jaké znáte konkrétní nástroje na straně serveru?
Co je tenký a tlustý klient?
Co jsou to proximitní operátory?
NEAR/n najde dokumenty, kde jsou termy do n slov od sebe, nebo operátor pro stejnou větu/odstavec. Zpřesňují dotaz oproti prostému AND (které slova vyžaduje kdekoli v dokumentu) a zvyšují relevanci výsledků.Jak se řeší skloňování při vyhledávání?
Jakou třídou složitosti byste označil algoritmus použitý v práci? Jaké další třídy složitosti rozeznáváme?
O(n), vyhledání v indexu/hashi O(1) až O(log n), porovnávání všech dvojic O(n²). Další třídy, které rozeznáváme: O(1), O(log n), O(n), O(n log n), O(n²), O(2ⁿ) a O(n!) — od konstantní po faktoriálovou. U své práce bych našel nejnáročnější část a podle ní složitost určil.Jaké bezpečnostní otázky musíte řešit při vývoji webové aplikace? A jak je řešit?
HttpOnly, Secure), CSRF tokeny, princip nejmenších oprávnění, bezpečnostní HTTP hlavičky a správa zranitelností v závislostech — bezpečnost navrhovat od začátku (security by design).Jaké HTTP hlavičky pomohou zvýšit bezpečnost komunikace? Co je to HSTS a CSP?
X-Frame-Options (clickjacking), X-Content-Type-Options (MIME sniffing) a Referrer-Policy.Jaké typy útoků jsou časté při dotazování databází přes webové skriptovací jazyky? Jak se jim bránit?
' OR '1'='1 obejde přihlášení nebo vytáhne/smaže data). Příbuzné jsou NoSQL injection a command injection. Obrana: parametrizované dotazy / prepared statements (základ), ORM, validace a whitelisting vstupů, databázový účet s minimálními oprávněními a jako další vrstva WAF.Postupuj od stavebních kamenů k systému. Nejdřív kryptografie — symetrická vs asymetrická vs hašování, k tomu triáda CIA jako rámec cílů. Na asymetriku navaž digitální podpis a certifikáty (řetězec důvěry, CA, eIDAS). Pak identifikace / autentizace / autorizace, faktory a MFA, a u hesel zdůrazni hašování se solí. Uzavři zabezpečením sítě a aplikací: firewall, DMZ, Zero Trust a webové útoky (SQLi, XSS, CSRF) s odkazem na OWASP.