Zkouška LS 2015
Napsal: 3. 6. 2015 16:00
Pár věcí obecně:
1) Všech se nás první zeptal jak hodně v tom jazyku umíme. Když člověk řek', že v něm spíš programoval, tak dostal víc praktickou otázku, vice versa.
2) Dokud člověk nedělal chyby & vyčerpával téma, tak šlo vcelku určovat kam se bude diskuze ubírat.
3) Jamile ale člověk začal dělat chyby / Krylovi se zdálo, že něco přeskočil (např. řekl, že jsou v python lib. dlouhá čísla ale už neřekl, jak jsou implementovaná), tak ho přerušil a žádal vysvětlení.
4) Při vysvětlování je lepší se zastavit a pořádně promyslet. Když člověk hned na začátku řekne nějakou (byť jen částečně) blbost, tak už nemusí dostat možnost se opravit; Kryl přeskočí na další téma.
5) Je velká výhoda mluvit (v Pythonu) o věcech co nezná, daleko míň pak člověka přerušuje. Jinak má (byť k věci) vcelku dloubavé otázky.
6) Člověk měl libovolně dlouho na přípravu na papír, následně si k němu Kryl sedl a povídal si s ním. Když se člověk zasekl, tak odešel k jinému člověku, a případně se pak vrátil.
A teď konkrétně:
Na základě toho, že znám python spíš teoreticky jsem dostal za otázku: "Typy v pythonu, jak a proč jsou tak implementované, a obecně v čem je python jiný (lepší / horší)". Začal jsem o tom, že je tam všechno objekt, že každý objekt je v podstatě namespace (dictionary), jak funguje dědičnost, lookup funkcí a proměnných v namespacech, zabalování funkcí do metod, speciální třídy, build in třídy, ... O tomhle jsem (s jedním drobným vyrušením) mluvil asi 15-20 minut v kuse a odešel s jedničkou.
Kolega (nevím přesně jak to bylo):
Na základě toho, že zná python tak nějak pratkicky/teoreticky na půl dostal otázku "Datové typy v pythonu". Začal povídat o tom jaké tam jsou, u čísel ho kryl dostal na to, jak přesně jsou reprezentovaná dlouhá čísla, obdobně pak u desetiných čísel (jestli je jinak udělaná vědecká & normální notace). U kolekcí vcelku dobré, jen ho nenechal moc rozpovídat o zajímavostech např. slicing (které mě docela prošly). Dále u dědičnosti ho dostal na to, jak se liší vícenásobná dědičnost v Pythonu a C++ (nevíme jak je to v C++, ale prý je to obecná znalost). Podut mu řekl, že prý má z té první části 1-2, ale ještě se ho zeptá na nějaké další otázky.
Zeptal se na rozdíl mezi předávání parametrem & hodnotou, na což mu nebylo sice odpovězeno špatně, ale tak nějak, že z toho nebylo úplně jasné co tím bylo myšleno. To kryl odbyl s tím, že je to blbost, a že si to má ještě rozmyslet. V ten moment byl bohužel už kamarád trochu vykolenej a řek' mu ještě jednu blbost. To Kryl (jak už to bývá) odbyl a nedal mu možnost se opravit na něco rozumnějšího a raději si řekli, že se uvidí příště.
Další kolega (už vůbec nevím jak to bylo):
Protože umí Python hodně prakticky, tak dostal za úkol naprogramovat krátké příklady, které ukáží sílu a slabiny vestavěných python typů. Nevím jak mu to šlo, ale vyhodil ho na tom, že neuměl vícenásobnou (pořádně) dědičnost.
Předposlední kolega:
Jedinej měl C++, dostal otázku na to, jak je v Cpp implementované OOP (ne, co je to OOP, ale jak to v Cpp). Dal to na 1, jak si vedl netuším (ale asi ne špatně, že).
Poslední kolega:
Z Pythonu dostal za úkol vysvětlit základy Pythonu, jako kdyby to říkal někomu, kdo Python nikdy neviděl. Jak dopadl netuším, protože už jsem odešel.
1) Všech se nás první zeptal jak hodně v tom jazyku umíme. Když člověk řek', že v něm spíš programoval, tak dostal víc praktickou otázku, vice versa.
2) Dokud člověk nedělal chyby & vyčerpával téma, tak šlo vcelku určovat kam se bude diskuze ubírat.
3) Jamile ale člověk začal dělat chyby / Krylovi se zdálo, že něco přeskočil (např. řekl, že jsou v python lib. dlouhá čísla ale už neřekl, jak jsou implementovaná), tak ho přerušil a žádal vysvětlení.
4) Při vysvětlování je lepší se zastavit a pořádně promyslet. Když člověk hned na začátku řekne nějakou (byť jen částečně) blbost, tak už nemusí dostat možnost se opravit; Kryl přeskočí na další téma.
5) Je velká výhoda mluvit (v Pythonu) o věcech co nezná, daleko míň pak člověka přerušuje. Jinak má (byť k věci) vcelku dloubavé otázky.
6) Člověk měl libovolně dlouho na přípravu na papír, následně si k němu Kryl sedl a povídal si s ním. Když se člověk zasekl, tak odešel k jinému člověku, a případně se pak vrátil.
A teď konkrétně:
Na základě toho, že znám python spíš teoreticky jsem dostal za otázku: "Typy v pythonu, jak a proč jsou tak implementované, a obecně v čem je python jiný (lepší / horší)". Začal jsem o tom, že je tam všechno objekt, že každý objekt je v podstatě namespace (dictionary), jak funguje dědičnost, lookup funkcí a proměnných v namespacech, zabalování funkcí do metod, speciální třídy, build in třídy, ... O tomhle jsem (s jedním drobným vyrušením) mluvil asi 15-20 minut v kuse a odešel s jedničkou.
Kolega (nevím přesně jak to bylo):
Na základě toho, že zná python tak nějak pratkicky/teoreticky na půl dostal otázku "Datové typy v pythonu". Začal povídat o tom jaké tam jsou, u čísel ho kryl dostal na to, jak přesně jsou reprezentovaná dlouhá čísla, obdobně pak u desetiných čísel (jestli je jinak udělaná vědecká & normální notace). U kolekcí vcelku dobré, jen ho nenechal moc rozpovídat o zajímavostech např. slicing (které mě docela prošly). Dále u dědičnosti ho dostal na to, jak se liší vícenásobná dědičnost v Pythonu a C++ (nevíme jak je to v C++, ale prý je to obecná znalost). Podut mu řekl, že prý má z té první části 1-2, ale ještě se ho zeptá na nějaké další otázky.
Zeptal se na rozdíl mezi předávání parametrem & hodnotou, na což mu nebylo sice odpovězeno špatně, ale tak nějak, že z toho nebylo úplně jasné co tím bylo myšleno. To kryl odbyl s tím, že je to blbost, a že si to má ještě rozmyslet. V ten moment byl bohužel už kamarád trochu vykolenej a řek' mu ještě jednu blbost. To Kryl (jak už to bývá) odbyl a nedal mu možnost se opravit na něco rozumnějšího a raději si řekli, že se uvidí příště.
Další kolega (už vůbec nevím jak to bylo):
Protože umí Python hodně prakticky, tak dostal za úkol naprogramovat krátké příklady, které ukáží sílu a slabiny vestavěných python typů. Nevím jak mu to šlo, ale vyhodil ho na tom, že neuměl vícenásobnou (pořádně) dědičnost.
Předposlední kolega:
Jedinej měl C++, dostal otázku na to, jak je v Cpp implementované OOP (ne, co je to OOP, ale jak to v Cpp). Dal to na 1, jak si vedl netuším (ale asi ne špatně, že).
Poslední kolega:
Z Pythonu dostal za úkol vysvětlit základy Pythonu, jako kdyby to říkal někomu, kdo Python nikdy neviděl. Jak dopadl netuším, protože už jsem odešel.