„OOP vizsga kikérdező” változatai közötti eltérés

A VIK Wikiből
Nincs szerkesztési összefoglaló
 
152. sor: 152. sor:


== Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából? ==
== Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából? ==
private const string locker = "LOCK" ;
 
public void DoSomestuff ( )
  private const string locker = "LOCK" ;
{
  public void DoSomestuff ( )
  lock ( locker )
   {
   {
       this.Work ( ) ;
       lock ( locker )
      {
        this.Work ( ) ;
      }
   }
   }
}
 
{{Kvízkérdés|típus=egy|válasz=2}}
{{Kvízkérdés|típus=egy|válasz=2}}
# Helyes
# Helyes

A lap jelenlegi, 2026. január 10., 17:25-kori változata

Tesztkérdések
Statisztika
Átlagteljesítmény
-
Eddigi kérdések
0
Kapott pontok
0
Alapbeállított pontozás
(-)
-
Beállítások
Minden kérdés látszik
-
Véletlenszerű sorrend
-
-

A Monitor Object minta a Guarded Suspension minta segítségével valósítható meg.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Igaz-e az alábbi állítás?

Egy alkalmazás karbantarthatósága általában javul, ha sikerül csökkenteni a függőségek számát az alkalmazás egyes részei között.

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Mely OO tervezési heurisztikák teljesülnek az alábbiak közül?

Keret Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .)

Típus: több. Válasz: 1,2,3,6. Pontozás: nincs megadva.

  1. Ne készítsünk típus- illetve képességmegkülönböztető függvényeket!
  2. Kerüljük a csak adattárolásra használt osztályokat!
  3. Egy osztály ne függjön a leszármazottaitól!
  4. Ne keverjük össze az objektumokat a leszármazottakkal!
  5. Az attribútumok legyenek privátok!
  6. A viselkedést modellezzük, ne a szerepeket!
  7. Egy osztály ne függjön az őt használó osztályoktól!
  8. Az öröklési hierarchia gyökerében absztrakt osztályok legyenek!

Párosítsa az alábbi feladatokat a nekik leginkább megfelelő mintával

Define a family of algorithms, put each of them into a separate class, and make them dynamically interchangeable.

Típus: egy. Válasz: 5. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Flyweight
  4. Object Pool
  5. Strategy

Allow objects with incompatible interfaces to collaborate.

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Flyweight
  4. Object Pool
  5. Strategy

Attach additional responsibilities to an object dynamically.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Flyweight
  4. Object Pool
  5. Strategy

Share common state to support large numbers of objects efficiently.

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Flyweight
  4. Object Pool
  5. Strategy

Keep a set of initialized objects ready to use rather than allocating and destroying them on demand.

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Flyweight
  4. Object Pool
  5. Strategy

Igaz-e az alábbi állítás?

Ha büdös kódot (code smell) találunk a szoftverben, akkor a szoftverben hiba (bug) van.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Igaz-e az alábbi állítás?

A refaktorálás nem változtatja meg a szoftver struktúráját, csak a szoftver viselkedését.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Mely kommentek ajánlottak a clean code szerint?

Típus: több. Válasz: 2,3,6. Pontozás: nincs megadva.

  1. Commented-out code
  2. TODO comment
  3. Amplification
  4. Journal comments
  5. Banner comments
  6. Public API documentation

Igaz-e az alábbi állítás?

Kritikus szakaszon belülről hívott virtuális függvények nem okoznak problémát a többszálú alkalmazásokban.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Tegye sorrendbe az alábbi API-tervezési lépéseket!

API definiálása 1 oldalban

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Követelmények összegyűjtése

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

API implementálása

Típus: egy. Válasz: 5. Pontozás: nincs megadva.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Példák írása az API-hoz

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Use-case-ek írása

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Teljesül-e az alábbi feltételek mellett a Liskov-elv?

Keret

A.foo post: 0 <= result<= 100

B.foo post: 10<= result<= 50

C.foo post: 0<= result<= 100

D.foo post: 20 <= result <= 40

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Teljesül
  2. Sérül

Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából?

  private const string locker = "LOCK" ;
  public void DoSomestuff ( )
  {
     lock ( locker )
     {
        this.Work ( ) ;
     }
  }


Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Helyes
  2. Helytelen

Teljesül-e az alábbi feltételek mellett a Liskov-elv?

Keret

A.foo pre: 20<= x <=50

B.foo pre: 10< x<= 90

C.foo pre: 0 <= x <= 100

D.foo pre: 10< x <= 100

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Teljesül
  2. Sérül

Igaz-e az alábbi állítás?

A YAGNI elv azt mondja, hogy ne használjunk tervezési mintákat.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Igaz-e az alábbi állítás?

Ha az ADP elv sérül, akkor a DIP elv segíthet a probléma megoldásában.

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Mely tervezési minták kerültek alkalmazásra?

Keret Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .)

Típus: több. Válasz: 1,3,5,7. Pontozás: nincs megadva.

  1. Singleton
  2. Abstract Factory
  3. Decorator
  4. Template Method
  5. Visitor
  6. Memento
  7. Observer
  8. Composite

Igaz-e az alábbi állítás?

Az OCP elv azt mondja, hogy legyünk nyitottak a módosításra, és zártak a bővítésre.

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

A Feature Envy code smell mely refaktorálási minták segítségével javítható?

Típus: több. Válasz: 2,5. Pontozás: nincs megadva.

  1. Introduce explaining variable
  2. Move method
  3. Replace magic numbers with symbolic constant
  4. Rename method
  5. Inline class

Egy háttérben futó számítás megszakítása

Az alábbi feladatot mely osztályok oldják meg Java esetén?

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Future
  4. Object
  5. Observer
  6. Singleton
  7. Strategy

Kölcsönös kizárás biztosítása és szálak értesítése

Az alábbi feladatot mely osztályok oldják meg Java esetén?

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Future
  4. Object
  5. Observer
  6. Singleton
  7. Strategy

Információ biztosítása háttérben futó számítás állapotáról

Az alábbi feladatot mely osztályok oldják meg Java esetén?

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. Adapter
  2. Decorator
  3. Future
  4. Object
  5. Observer
  6. Singleton
  7. Strategy

Igaz-e az alábbi állítás?

Az LoD szerint az általunk létrehozott objektumok nem számítanak idegennek.

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Az opcionális elemeket tartalmazásként implementáljuk, ne öröklődésként!

A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. Data Class
  2. Extract Superclass
  3. Introduce Null Object
  4. Feature Envy
  5. Replace Type Code with Class

Kerüljük a csak adattárolásra használt osztályokat!

A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Data Class
  2. Extract Superclass
  3. Introduce Null Object
  4. Feature Envy
  5. Replace Type Code with Class

Ne ellenőrizzük egy objektum típusát, helyette használjunk polimorfizmust!

A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?

Típus: egy. Válasz: 5. Pontozás: nincs megadva.

  1. Data Class
  2. Extract Superclass
  3. Introduce Null Object
  4. Feature Envy
  5. Replace Type Code with Class

Minimalizáljuk az együttműködő osztályok közötti metódushívások számát!

A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. Data Class
  2. Extract Superclass
  3. Introduce Null Object
  4. Feature Envy
  5. Replace Type Code with Class

A közös adat és viselkedés olyan magasan legyen az öröklési hierarchiában, amilyen magasan csak lehet!

A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Data Class
  2. Extract Superclass
  3. Introduce Null Object
  4. Feature Envy
  5. Replace Type Code with Class