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

Új oldal, tartalma: „{{Kvízoldal |cím=Tesztkérdések |pontozás=- }} == A Monitor Object minta a Guarded Suspension minta Finish review Mark 1.00 out of segítségével valósítható meg. == alma alma {{Kvízkérdés|típus=egy|válasz=2}} # Igaz # Hamis == Egy alkalmazáskarbantartható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 == {{Kvízkérdés|típus=egy|válasz=1}} # Igaz # Hamis”
 
UwU
3. sor: 3. sor:
|pontozás=-
|pontozás=-
}}
}}
== A Monitor Object minta a Guarded Suspension minta Finish review Mark 1.00 out of segítségével valósítható meg. ==
== A Monitor Object minta a Guarded Suspension minta segítségével valósítható meg. ==
alma alma
{{Kvízkérdés|típus=egy|válasz=2}}
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# 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.
{{Kvízkérdés|típus=egy|válasz=1}}
# Igaz
# Hamis
== Mely OO tervezési heurisztikák teljesülnek az alábbiak közül? ==
[[Fájl:Oop vizsga vasut 1.png|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 .)
{{Kvízkérdés|típus=több|válasz=1,2,3,6}}
# Ne készítsünk típus- illetve képességmegkülönböztető függvényeket!
# Kerüljük a csak adattárolásra használt osztályokat!
# Egy osztály ne függjön a leszármazottaitól!
# Ne keverjük össze az objektumokat a leszármazottakkal!
# Az attribútumok legyenek privátok!
# A viselkedést modellezzük, ne a szerepeket!
# Egy osztály ne függjön az őt használó osztályoktól!
# 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.
{{Kvízkérdés|típus=egy|válasz=5}}
# Adapter
# Decorator
# Flyweight
# Object Pool
# Strategy
Allow objects with incompatible interfaces to collaborate.
{{Kvízkérdés|típus=egy|válasz=1}}
# Adapter
# Decorator
# Flyweight
# Object Pool
# Strategy
Attach additional responsibilities to an object dynamically.
{{Kvízkérdés|típus=egy|válasz=2}}
# Adapter
# Decorator
# Flyweight
# Object Pool
# Strategy
Share common state to support large numbers of objects efficiently.
{{Kvízkérdés|típus=egy|válasz=3}}
# Adapter
# Decorator
# Flyweight
# Object Pool
# Strategy
Keep a set of initialized objects ready to use rather than allocating and destroying them on demand.
{{Kvízkérdés|típus=egy|válasz=4}}
# Adapter
# Decorator
# Flyweight
# Object Pool
# 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.
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# 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.
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# Hamis
== Mely kommentek ajánlottak a clean code szerint? ==
{{Kvízkérdés|típus=több|válasz=2,3,6}}
# Commented-out code
# TODO comment
# Amplification
# Journal comments
# Banner comments
# 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.
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# Hamis
== Tegye sorrendbe az alábbi API-tervezési lépéseket! ==
API definiálása 1 oldalban
{{Kvízkérdés|típus=egy|válasz=3}}
# 1
# 2
# 3
# 4
# 5
Követelmények összegyűjtése
{{Kvízkérdés|típus=egy|válasz=1}}
# 1
# 2
# 3
# 4
# 5
API implementálása
{{Kvízkérdés|típus=egy|válasz=5}}
# 1
# 2
# 3
# 4
# 5
Példák írása az API-hoz
{{Kvízkérdés|típus=egy|válasz=4}}
# 1
# 2
# 3
# 4
# 5
Use-case-ek írása
{{Kvízkérdés|típus=egy|válasz=2}}
# 1
# 2
# 3
# 4
# 5
== Teljesül-e az alábbi feltételek mellett a Liskov-elv? ==
[[Fájl:Oop vizsga liskov 1.png|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
{{Kvízkérdés|típus=egy|válasz=2}}
# Teljesül
# 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 ( ) ;
  }
}
{{Kvízkérdés|típus=egy|válasz=2}}
# Helyes
# Helytelen
== Teljesül-e az alábbi feltételek mellett a Liskov-elv? ==
[[Fájl:Oop vizsga liskov 1.png|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
{{Kvízkérdés|típus=egy|válasz=1}}
# Teljesül
# Sérül
== Igaz-e az alábbi állítás? ==
A YAGNI elv azt mondja, hogy ne használjunk tervezési mintákat.
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# 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.
{{Kvízkérdés|típus=egy|válasz=1}}
# Igaz
# Hamis
== Mely tervezési minták kerültek alkalmazásra? ==
[[Fájl:Oop vizsga vasut 1.png|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 .)
{{Kvízkérdés|típus=több|válasz=1,3,5,7}}
# Singleton
# Abstract Factory
# Decorator
# Template Method
# Visitor
# Memento
# Observer
# 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.
{{Kvízkérdés|típus=egy|válasz=2}}
# Igaz
# Igaz
# Hamis
# Hamis


== Egy alkalmazáskarbantartható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 ==
== A Feature Envy code smell mely refaktorálási minták segítségével javítható? ==
{{Kvízkérdés|típus=több|válasz=2,5}}
 
# Introduce explaining variable
# Move method
# Replace magic numbers with symbolic constant
# Rename method
# 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?
{{Kvízkérdés|típus=egy|válasz=3}}
 
Adapter
Decorator
Future
Object
Observer
Singleton
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?
{{Kvízkérdés|típus=egy|válasz=4}}
 
# Adapter
# Decorator
# Future
# Object
# Observer
# Singleton
# 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?
{{Kvízkérdés|típus=egy|válasz=3}}
 
# Adapter
# Decorator
# Future
# Object
# Observer
# Singleton
# Strategy
 
== Igaz-e az alábbi állítás? ==
Az LoD szerint az általunk létrehozott objektumok nem számítanak idegennek.
{{Kvízkérdés|típus=egy|válasz=1}}
{{Kvízkérdés|típus=egy|válasz=1}}
# Igaz
# Igaz
# Hamis
# 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ó? {{Kvízkérdés|típus=egy|válasz=3}}
Data Class
Extract Superclass
Introduce Null Object
Feature Envy
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ó?
{{Kvízkérdés|típus=egy|válasz=1}}
# Data Class
# Extract Superclass
# Introduce Null Object
# Feature Envy
# 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ó? {{Kvízkérdés|típus=egy|válasz=5}}
# Data Class
# Extract Superclass
# Introduce Null Object
# Feature Envy
# 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ó? {{Kvízkérdés|típus=egy|válasz=4}}
# Data Class
# Extract Superclass
# Introduce Null Object
# Feature Envy
# 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ó? {{Kvízkérdés|típus=egy|válasz=2}}
# Data Class
# Extract Superclass
# Introduce Null Object
# Feature Envy
# Replace Type Code with Class
A lap eredeti címe: „https://vik.wiki/OOP_vizsga_kikérdező