Zkouška 12.2.2020 - Hnětynka

jouda at 2020-02-12 12:59:29

Na test bylo 45 minut, kdo měl hotovo, odnesl test vyučujícímu, který jej opravil. Výsledky byly do 10 minut od ukončení zkoušky.
Známkování: u kroužkovacích odpovědí za chybějící správnou odpověď nebo za zaškrtnutou špatnou odpověď se získává trestný bod, u doplňovacích se zcela správná odpověď hodnotí 0 trestnými body, chybějící odpověď je myslím hodnocena 3 trestnými body.
Na 1: 0-2 trestné body, 2: 3-5, 3: 6-8, 4: 9+
U doplňovacích otázek mi hodnocení připadalo mírné, ve většině případů jsem sice měla hlavní myšlenku správnou, ovšem syntax obvykle nebyla správně, přesto za to vyučující nedal žádné trestné body.
V testu byla většina otázek na doplnění kódu. Nepřipadalo mi, že by tam byly nějaké vyloženě chytáky...
Některé otázky (znění rozhodně není přesné):

  1. Napište, co se vypíše:

    public static StringBuilder appendWorld (StringBuilder s)
                {
                    return s.append(" World");
                }
            public static void main(String[] args)
                {
                    StringBuilder s = new StringBuilder("Hello");
                    s = appendWorld(s);
                    System.out.println(s);
                }
  • Vypíše se Hello World

  1. Napište funkci MyClass, která implementuje interface MyInterface, který vypadá takto:

    public interface MyInterface
        {
            void foo();
        }
  • Například:

    public class MyClass implements MyInterface
        {
            public void foo()
                {
    
                }
        }
  1. Napište metodu, která zkopíruje prvky pole do kolekce, k dispozici je metoda get (nepamatuji si přesné znění, používaly se tam generické typy)

  2. Napište metodu, která z pole knih (u knihy známe autora a rok vydání nebo něco takového) vrátí pole knih, které napsal autor zadaný rovněž jako parametr

  3. Doplnit do kódu jak se vytvoří vlákno a jak se spustí

  4. Napište, co se vypíše:

    public class A 
        {
            public void foo() 
                {
                    System.out.print(“A”);
                }
    }
    public class B extends A 
        {
        public void foo() 
            {
                System.out.print(“B”);
            }
    }
            ....
            A a = new B();
            a.foo(); 
  1. doplnit lambda výraz, který porovná řetězce podle velikosti

  2. byla tam metoda equals s anotací @Override, která ovšem nic nepředefinovávala, z nabídky se tedy mělo vybrat, že se to nepřeloží z tohoto důvodu