Samotné zkoušení probíhalo hodně závisle na zkoušejícím. Někteří si nejprve přečetli papír, který jsem v průběhu přípravy popsal, a pak se doptávali; jiní dávali přednost tomu, abych povídal hned od začátku a papír používal spíše jako osnovu v případě výpadku. Výsledkem každého zkoušení byla známka 1-4, kterou si zkoušející zaznamenal do privátní tabulky. Tyto známky ovšem zřejmě byly pouze informativní, protože oficiálním výsledkem zkoušky byla právě jedna známka, která byla vytvořena na základě neznámého klíče (spekulace: zřejmě průměr zmíněných 5 známek). Kromě tabulky možná roli hrály i informace o studiu - každý student měl v deskách, do nichž komise zapisovala zadané otázky, vytisknutý výpis předmětů ze SISu, průměr, příznak zda už má obhájenou diplomku, a příznak zda má šanci získat vyznamenání. Lze spekulovat, že tyto informace mohly sloužit jako heuristiky při volbě otázek a rozbíjení případných remíz mezi známkami.
Zadání společné části (informatika):
Základy složitosti a vyčíslitelnosti (MJ)
- popsat základní třídy složitosti a vztahy mezi nimi
- z vět jsem si (kromě triviálních inkluzí) vzpomněl na Saviče, deterministickou časovou/prostorovou hierarchii a otevřenost shora v obou případech (u většiny jsem důkazy znal, nebyl ale prostor o nich povídat)
- celkově velice příjemné zkoušení
- líné a zbrklé binomiální haldy
- jejich definice
- k čemu se používají
- operace a jejich worst case a amortizovaná složitost
- ukázat příklad na nějaké malé posloupnosti operací
Zadání oborové části (softwarové systémy, zaměření systémové programování):
Systémové aspekty počítačů (Bulej)
- synchronizace (obecné povídání, proč, kdy, jak)
- naimplementovat v pseudokódu spin lock
- naimplementovat v pseudokódu producer-consumer
- řeč byla i o bariérách, condition variables a cache ping pongu
- RPC (popsat obecně)
- uvést co možná nejvíce příkladů konkrétních technologií a porovnat je
- vzpomněl jsem si na ORB, RMI, EJB, .NET remoting, web services a zmínil jsem i OpenMPI - to stačilo
- generika v objektově orientovaných jazycích
- porovnat generiku v C# / C++ / Javě
- byl jsem tázán, zda umím Scalu nebo Kotlin - když jsem řekl, že jsem to viděl, ale jen jsem si s tím hrál, nebylo to vnímáno jako špatná odpověď
- povídání o kovarianci, kontravarianci (důležité bylo vzpomenout si na to, co je přesně co)
- velká část zkoušení byla o generice v Javě (omezující podmínky, otazníček a jeho chování)
Přeji hodně štěstím následujícím generacím!