Před zkouškou:
Zadal mi stejnou otázku viz http://forum.matfyz.info/viewtopic.php?f=211&t=10528. Neptal se jestli umím jazyk prakticky nebo teoreticky.
Jako již na poslední přednášce Kryl opět opakoval, že očekává souvislý přednes od nejpodstatnějšího k nejméně podstatnému, dal mi papír s neomezeným časem na přípavu a zdůraznil, že nehodnotí obsah na papíru, avšak, že ho nepovinně mohu použít k nějakým ukázkám kódu, když se mi bude zdát, že je to vhodné.
Průběh zkoušky:
Vzhledem k tomu, že jsem si před zkouškou pročítal fórum tak jsem tuto otázku očekával (Kryl ji skoro vždy zadává pokud zkouší pouze jednoho člověka z C++). Na papíru jsem prakticky měl pouze osnovu mého povídání vytvořenou na základě odkazu výše. Bod po bodu jsem jednotlivé témata popisoval do všech detailů, které jsem znal. To se Krylovi velmi líbilo, a tak jsem do povídání přidal i nějakou novinku z nových standardů, nevadilo mu ani zabývat se nějakými "corner cases", polemizovat o nich a říct na ně svůj vlastní názor. To trvalo okolo 15 minut, po kterých měl propustil s jedničkou.
Pozorování:
- Kryl nedefinuje co je podstatné a není, ale u C++ to je viz odkaz (je třeba vždy nakreslit ku*****u a popsat ji).
- Kryl se uplně nevyzná ve standardech C++{11,14,17}, pravděpodobně by se mu nelíbilo, kdyby jste pouze popisovali věci týkající se nich.
- Opravdu je důležité mluvit souvisle a zbrkle nepřeskakovat mezi tématy, doporučuji si během přípravy rozmyslet čím chci začít, čím pokračovat a kde skončit.
- Pokud víte nějakou zajímavost, která se týká toho o čem mluvíte nebojte se ji přednést (např. pure virtual funkce může mít definici, final není klíčové slovo,...).
- Pokud bude spokojený, k obecným otázkám vůbec nedojde.
- https://isocpp.org/faq
- Často kladené otázky na stránkách standardu C++, obsahují mnoho použitelných tipů a idiomů přímo od členů standardizační komise C++.
- knížka Effective STL od Scotta Meyerse
- zejména Item 6 pokrývající most vexing parse
- knížka Accelerated C++ od Andrew Koeniga a Barbary Moo
- doporučuji pokud potřebujete kompaktní úvod do všeho v C++
- http://www.stroustrup.com/bs_faq.html
- stránky tvůrce C++, obsahují mnoho tipů, informace o historii, porovnání C a C++ a mnoho dalšího
- https://stackoverflow.com/questions/123 ... -in-memory
- jak zhruba vypadá objekt v paměti (Kryla to zajímá, standard to nedefinuje)
- https://www.geeksforgeeks.org/memory-la ... c-program/
- pokud by přišlo na memory layout
- https://stackoverflow.com/questions/327 ... swap-idiom
- pouze pokud byste chtěli mluvit o copy and swap idiomu
- vypracované otázky k C++ ode mě (hrozná prasárna)
- vypracované obecné otázky ode mě (také prasárna)
Kryl tak nenápadně (i když říkal, že ji nečetl) na přednášce doporučoval knížku od Bruce Eckela (Thinking in C++), Krylovi se totiž líbila knížka Thinking in Java. Bohužel však Thinking in C++ obsahuje netriviální množství triviálních chyb.
Oficiální požadavky ke zkoušce:
- během semestru se blbě shání