Databáze - 20.6.2016

Vše o státnicích úspěšně završujících roky studia na naší alma mater.
Drozi
Matfyz(ák|ačka) level I
Příspěvky: 17
Registrován: 25. 1. 2010 11:59
Typ studia: Informatika Bc.

Databáze - 20.6.2016

Příspěvek od Drozi »

Komise: Pokorný - Vojtáš - Kopecký (všichni tři DB) - Majerech (DS) - Hladík (složitost/vyčíslitelnost). Ale někteří zkušející si okruhy přehazovali podle toho, kdo z nich měl čas. Databáze jsme dělali 4.

A moje zkušenost:
1. Pseudopolynomiální algoritmy a silná NP-úplnost (Hladík)
"Dobrej" začátek. Vzal jsem to obecně - zadefinoval třídu NP, problém, úlohu, NTS, co je to číselný problém, NP-těžkost a NP-úplnost. Pak jsem vyložil algoritmus pro Batoh (podle Kučery) a prohlásil, že je pseudopolynomiální. Pak už jen zbytek, co je to silná a slabá NP-úplnost. Přišla otázka, jestli může být problém, co není ani silně ani slabě NP-úplný. Řekl jsem, že jo (někde jsem to četl, myslím, že u Kučery, ale jistý si tím nejsem). Pak následovaly otázky na další číselné NP-úplné problémy, na nečíselné a na silně NP-úplné problémy (stačilo jenom slovně popsat zadání a otázku problému). Řekl bych, že doktor Hladík odešel celkem spokojen - za 1.

2.Relaxované vyhledávací stromy (Majerech)
Doktor Majerech ozvláštnil výběr tím, že jste řekli číslo, on měl na papíře (perfektní) hashovací funkci a podle té zadal otázku. Já řekl 3, on na to, že to je 10 a to jsou relaxované vyhledávací stromy. Oba jsme byli trochu překvapení, ale že prý jsem se na to určitě připravoval, tak něco budu vědět. No, něco jsem asi věděl.... Začal jsem zase obecně s vyvažováním stromů a že to je overhead a že může být až logaritmický apod. Chtěl jsem to ukázat na příkladu relaxovaných červeno-černých stromů - tak jsem si zadefinoval klasické. Pak jsem vzpomenul dva typy procesů, které nad stromy pracují a něco o těch dvou typech požadavků, co se mohou vyskytovat ve frontě. A to je ve zkratce tak všechno. A mezitím bylo zkoušení a la chlupatá deka. Postupně se mu (a že se hodně snažil) ze mě podařilo vypáčit, že relaxované struktury jsou hlavně pro paralelní procesy, pak jsme debatovali o tom, jak na prd je Koubkova definice listu (NIL pointer, ale pochválil mě, že patřím asi mezi to 1% lidí, co to takhle nadefinuje a pak na to nezapomene) a chtěl po mně, jak bych upravil invarianty ČČ stromu pro relaxaci - ve zkratce tak, že si červenost nebo černost definujeme jako číslo a to pak budeme zvětšovat nebo zmenšovat, ale součet po cestě zůstane stejný). A ve zbytku času jsme se už bavili o implementacích, srovnání s paralelním přístupem třeba k B stromu a tak. Na to, jak jsem si myslel, že tahle otázka by mohla být definitivní, to dopadlo ještě myslím dobře. Jako další relaxovanou strukturu jsem mu nabídl binomiální haldy s tím, že tam bych toho věděl určitě víc. To ale nechtěl s tím, že kdybych se po ostatních otázkách nudil, tak mu to můřu vyložit. I s tím málem, co jsem věděl, bych tipoval, že mi dal tak 2. Jo a to nejlepší na závěr - už když ke mně šel, tak říkal, že aby nevypadal chytře, tak že taky nevěděl, co to je, tak si narychlo přečetl nějakej článek, aby věděl, co má zkoušet :-).
Takže bacha na tuhle otázku - klidně ji nějakým random přístupem můžete dostat, i když sám od sebe vám ji asi nikdo nedá.

3. Vyhodnocování a optimalizace dotazů (Pokorný)
Prošel jsem ve zkratce to, co je ve slajdech na dotazovací jazyky -takže nějaké schéma DB stroje, převod do stromové podoby, algebraickou optimalizaci, statistickou, syntaktickou... Hodně povídání kolem, ale nic záludného. Mluvil jsem o indexech, o pořadí relací ve spojení, co se může stát a tak. Celkem docela pohoda, wiki a slajdy by měly stačit (žádné šílené počítání přístupů nebo porovnávání plánů by snad nemělo být potřeba). Ptal se mě, jestli znám nějaký dotazovací jazyk, kde výsledkem není relace, ale celá databáze ... - ... Datalog :-). Řekl bych tak 1, nejhůř 1-2.

4. Sémantika SQL (Vojtáš)
Málem zase padla kosa na kámen - už když jsem zjistil, že prof. Vojtáš bude zkoušet (asi poprvé?), tak mi bylo hodně ouvej (ačkoli ho mám rád a cestou na státnice jsme si povídali v tramvaji :-)), protože učí témata, na která se dost špatně připravuje (oproti jiným). Takže přišel a zeptal se mě, jestli bych mu řekl něco o preferencích, nebo jestli bych raději něco jiného. Na preference jsem nechodil, tak jsem řekl, že něco bych dohromady dal, ale raději něco jiného. Když dlouho vybíral, tak jsem napověděl, že něco s SQL by mi udělalo radost :-). No a vyšlo to (skvělý přístup!) :-). Kolega dostal tu samou otázku, jako alternativu tableaux a když se i na to netvářil, tak větu o tranzitivním uzávěru. Nicméně prof. Vojtáš pak musel odejít a zkoušel mě zase prof. Pokorný. Na tuhle otázku jsem se ho ptal týden předem na konzultaci - očekává tam víceméně všechno ohledně SQL, nejvíc pak asi, jak se dají některé části vyjádřit v relační algebře a tak. Pak chtěl vědět, jak funguje vyhodnocení GROUP BY a nakonec se mě ptal na operátor CUBE (ale tuším, že to už je hodně nad standardní level). Celkem pohoda.

5. Kompresní algoritmy (Kopecký)
Začal jsem tak, jak je to ve slajdech nebo na wiki - popis problému, kódování, prefixovost, ... Pak se vrhl na Fibonacciho a Eliasovy kódy, pak na statického Huffmana. Ještě, než jsem to měl, tak dr. Kopecký přišel, že už mu můžu alespoň něco říct. Tak jsem to celé prošel a dokončil statického Huffmana. Ptal se, co je důležité na prefixovosti oproti třeba suffixovému kódu - můžeme dekódovat, aniž bychom museli čekat na celou zprávu. Po dopovězení statického Huffmana jsem se zeptal, jestli mám pokračovat dál, že bych mohl popsat adaptivního Huf., LZ77, LZW a BSTW. Ale řekl, že mu to stačí, že to vypadá, že tomu rozumím.


Zapsaných nás na ISS celkem bylo 14, přišlo 13, z toho myslím 5 odešlo s nepořízenou (od nás z DB jeden). Zkoušení bylo celkem férové - zkoušející byli hodní, snažili se pomoct. Ale když jste se snažili působit, že tomu rozumíte, tak si to určitě budou chtít ověřit a dají otázku (třeba na souvislost s něčím jiným nebo oblíbená je "bořící otázka" typu A co kdyby...).
Já jsem se učil 2 týdny středně (po večerech při práci) - zpracoval jsem si poznámky z wiki, slajdů, opencoursů MIT apod. a z těch pak další 3 týdny docela dost intenzivně. Pokud o většině něco víte ze zkoušek a nejste tak tupí, jako já, tak by na to měsíc asi měl stačit. A jak už bylo řečeno, je asi lepší se učit víc do šířky, než do hloubky, ale přitom umět základní definice, protože ty se určitě vyžadují a bez nich se zbytečně zamotáte hned na začátku.

A jako vždy na závěr - hodně štěstí dalším generacím :-)
Odpovědět

Zpět na „Magisterské SZZ“